An important principle of software engineering is that our software must be maintainable, i.e., code we write should be useful and reproducible by another engineer. They should be able to pick up where we left off.

Some key aspects of maintainable software:

  • Readability: clear and concise variable, function, and class names. Comments that explain how non-obvious code works. Consistent style and formatting guidelines.
  • Modularity: code should be broken down into well-defined functions and modules with specific responsibilities.

When working in package-based projects (like Python or Node.js environments), it’s a good idea to generate a requirements.txt file.