DEV Community

Discussion on: How would you define high quality code?

Collapse
 
layzee profile image
Lars Gyrup Brink Nielsen • Edited
  • Low overall cyclomatic complexity
  • Modular with clearly defined dependencies
  • Automated testing of behavior and use cases, including alternate paths and exception paths
Collapse
 
juliatorrejon profile image
Julia Torrejón

Don't you use manual testing at all?

Collapse
 
layzee profile image
Lars Gyrup Brink Nielsen

Sure, but the quality pretty quickly suffers in that you have no regression tests unless you very clearly specify the manual test cases and test steps. These manual tests have to be followed very carefully at least before each new release and deployment.

When I feel very confident about some code I leave out tests but often discover stupid bugs like a boolean being the reverse of what is expected in a specific state. Depending on the difficulty of the deployment process and the critical level of the project, I ramp up the amount of automated tests.