There was a time (not so long ago) when we designed everything before we wrote any code. We gathered the requirements of our application and wrote the requirement specification. We took these requirements and designed an architecture that helped us to fulfill them. We wrote an architecture design document as a guide that we followed […] Read more
Clean Code
Yesterday I published the list of the most popular blog posts that I wrote in 2014. I also promised to choose my favorite blog posts and publish that list on my blog. This year I decided to select blog posts that helped me to learn something new. Here are my favorite blog posts that I […] Read more
Every developer must understand two things: Architecture design is necessary. Fancy architecture diagrams don’t describe the real architecture of an application. The real architecture is found from the code that is written by developers, and if we don’t design the architecture of our application, we will end up with an application that has more than […] Read more
When we write tests for our data access code, we use datasets for two different purposes: We initialize our database into a known state before our data access tests are run. We verify that the correct changes are found from the database. These seem like easy tasks. However, it is very easy to mess things […] Read more
When we write unit tests that use mock objects, we follow these steps: Configure the behavior of our mock objects. Invoke the tested method. Verify that the correct methods of our mock objects were invoked. The description of the third step is actually a bit misleading, because often we end up verifying that the correct […] Read more
When we write tests for our data access code, we must follow these three rules: Our tests must use the real database schema. Our tests must be deterministic. Our tests must assert the right thing. These rules are obvious. That is why it is surprising that some developers break them (I have broken them too […] Read more