2-The language used by the lab should operate across major platforms (Windows, Linux, and MacOS). 3-All new code must make maximal use of existing code for efficiency. 4-Any new tools that are created by students or staff are incorporated into that code base, if possible, rather than downstream applications, so that they can be made use of in many projects. 5-All adaptations of existing code or newly created code must be covered by unit tests, that become a permanent part of the code base. 6-All new code must be reviewed and approved by an additional member of the team through code reviews. 7-All code must pass nightly build tests before public release. 8-New applications should be extensions of existing applications whenever possible. changes to the results or operation time. A key ancillary benefit of maximizing code re-use and minimizing new monolithic applications is the great reduction in the amount of code that needs maintenance over the long term. Code maintenance can require a significant investment of capital and human resources. Therefore, for the academic lab, a concerted effort to reduce the need for both of those precious resources is vital.