This document discusses lessons learned from adopting the Scala programming language. Some key points:
- Scala provides many valid ways to accomplish the same task, leading to inconsistent and messy code over time as the codebase grew without sufficient guidance.
- Code should be written to be readable and self-documenting above all else. The right level of abstraction creates expressive code that tells a story of what the system does.
- Tests should be written to prevent regressions when refactoring code for readability. The type system can also help catch errors early and make assumptions explicit.
- Overall it is important to establish coding conventions and provide training to help developers write clean, coherent code and avoid having
Related topics: