DEPRECATED

This space is obsolete and unmaintained. The entire content of the DM Developer Guide is now maintained at https://developer.lsst.io .

Software Standards

The links in this chapter point to standards, guidelines, and best practices that developers are expected to follow when creating or modifying source code in the LSST Stack. All source code (and ancillary files, such as configuration files) are subject to peer review prior to being integrated with the Stack, and adherence to these software standards will be one component of the review. 

Coding

Testing 

Licensing

Best Practices

The following is a collection of best-practices that should be followed for DM code development. 

  • Git commits
  • Transferring Code Between Packages
  • Documentation Guidelines discusses levels of documentation and the information required in each level.
  • Changing Task defaults.
    • Occasionally it is necessary to change the defaults in the config for a particular task.  This can lead to inconsistencies in the documentation.  Developers who change defaults in the config should take it upon themselves to change documentation where it exists to reflect the same behavior as when the documentation was written.  For example, if a default is changed from False to True, documentation should be updated to specify False for that config attribute using the --config argument.  If the documentation references a specific version of the code, no changes should be made since the operation of that version will remain unchanged by the newer defaults.  At the very least, both Confluence and community.lsst.org should be searched.

  • DM/Policy/ls.st ::  using the URL shortener

Process and Workflow

Needs Major Revision or Obsolete

The following Trac documents are probably obviated or obsolete. 

  • No labels

2 Comments

  1. Unknown User (pnd)

    LSE-17 is not the "DM Software Development Plan" so where can I find this document?

    1. Unknown User (robyn)

      The Appendix (formerly A and now 4.1) of LSE-17 describes the current DM software process. I clarified the text.