- Refactoring: Improving the Design of Existing Code
- Refactoring to Patternss
- [Working Effectively with Legacy Code] (https://www.amazon.co.uk/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)
- Test Driven Development
- Test Driven: TDD and Acceptance TDD for Java Developers
- Test Driven Development: By Example
- Test Driven Development for Embedded C
- Hexagonal Architecture http://alistair.cockburn.us/Hexagonal+architecture
- The Clean Architecture https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html
- Coding Dojo http://codingdojo.org/
- AsertJ http://joel-costigliola.github.io/assertj/
- Mockito http://mockito.org/
- Cucumber JVM https://cucumber.io/docs/reference/jvm