Languages and Codebases
Languages
- We use Java, Clojure, JavaScript, PHP, Perl and some Python and Ruby.
- We will write new code in Java, Clojure, JavaScript, Python.
- We should try to use the same or equivalent tools and approaches across languages. Not everything translates directly.
Codebases
- Each codebase is defined as Legacy or Greenfield.
- We can’t fix Legacy codebases but we can gradually improve them.
- All Greenfield projects will meet the standards described in this document from the start.
- Greenfield code bases will be open source unless there’s a specific reason. Don’t put anything there that you don’t want to be public, whether it’s sensitive data or words.
- Each new codebase should follow the template for the language.
- Java / Spring Boot starter project
- Python / Django starter project
- Each project should have CI builds for test runs, running tests and packaging and building in Docker. If you follow the ‘starter project’ this should be set up.