Skip to content

Release Management Legend Engine Coding Guidelines

Ephrim Stanley edited this page Sep 16, 2022 · 4 revisions

Overview

A collection of coding guidelines for legend-engine.

Guides / Code Organization Guide

A guide on how the code in legend-engine is structured and how it should be evolved.

TODO - Pierre

Guides / Implementing Database Connectors Guide

A guide on how the database connector code is structured and how it should be evolved.

TODO - Vikas

Guides / Other

TODO - Work In Progress

Backwards Compatibility

  • Does the PR introduce a change that's backwards compatible ?
    • Yes : How is the backwards compatibility ensured ?
    • No : What is the migration procedure ? Is the migration procedure part of the PR ?
  • Backwards compatibility does not just apply to APIs. It also applies to things like server configuration ?

Library Dependencies

  • Does the PR introduce new library dependencies ?
  • Are these dependencies safe wrto OSS licensing ?
  • Does the platform already use a different library for the same function. For e.g we use Junit but a PR adds TestNg as a test dependency ?

Testing

  • Does the PR have sufficient tests ?

Pure Protocol Change

  • TODOs

Multi project changes

  • Does the PR require changes to other legend projects ? If yes, does the PR clearly mention the dependencies ?
  • Can each of the affected projects be patched piecemeal or does this require a co-ordinated change ? Is the release plan included in the PR ?

Release Tips