Without tests, you can’t know how the production code works. When you write a test for the production code, you define how the production code works. Latter you can easily change the production code with refactoring or rewrite. Do test have to be written as good as the production code or better?
Entities can be changed. Why represent them as immutable objects?
Do you upload your thread dump on public site for analysis and you don’t want to expose your code?
What can a program code tell us about social interactions and psychology of people working on a project?
If it can be wired with a dependency injection framework, it does not mean, that it should be.
We have an entity and a repository interface for the entity. The repository implementation has often access to external resources like databases, files, etc. When we have the repository, we also have tests for it. What if we wanted implement another repository? Can we use the same tests?
When we need a list of values of a type Foo, it quickly comes to a type List<Foo>, which is a list of Foo and nothing more. What if different methods return different list of values that have the same type? Why won’t we create different types for lists of values? One possible step is […]
Software development life cycle is usually presented as circle of steps, such as Requirements & Analysis, Design & Architecture, Developing & Coding, Testing and Maintenance. Steps are connected with arrows in that order. Are steps really done in that order?
Let’s say that you do the test driven development. When you have to implement a new functionality, you begin with adding a new test for the new functionality. Then you run all tests and only the new test should fail. Then you write a production code so that the new test passes. Then again you […]
Useful commands which I have used in Dockerfiles. You can get new ideas by analyzing Dockerfiles on Docker Hub.