Bitesize software building blocks

Clean code/architecture shorts

Guy Yogev
2 min readApr 14, 2022
Photo by Glen Carrie on Unsplash

In this articles series, I’ll attempt to share coding patterns & work habits that would help produce high-quality software for mid-size projects.

Target audience

A young startup's requirements change very rapidly. This has a direct impact on code stability. We are willing to risk quality issues in order to complete a feature rapidly. However, As the business matures, we are no longer willing to make such sacrifices.

As developers, we need to produce code that would serve the business needs.

It is a balance of code velocity vs quality.

I believe the concepts described here would serve well teams that wish to minimize such quality sacrifices while keeping a codebase that is production-ready, testable, flexible, and maintainable as it scales.

For small projects or short-living POC, some concepts here would be too strict.
For big enterprise requirements, some might would be too loose.

Articles

Each article would concisely describe a single idea or concept.

  1. Codebase health checks automation
  2. Result - encapsulate errors & failures handling
  3. Helpers - Small, pure, modular code blocks
  4. Encapsulate functionality in Services
  5. Internal dependencies injection
  6. Code quality via static typing — part 1
  7. Code quality via static typing — part 2
  8. Safely crossing modules' boundaries
  9. Repos - Managing DB interactions
  10. Use-cases - Encapsulate subdomains behavior
  11. Managing project structure with file naming conventions
  12. Managing code complexity
  13. Writing useful logs
  14. Generating meaningful coverage reports

--

--