Database Rant

What is the primary purpose of the database? I won't blame you for saying data storage. In most software projects it is the place where we store our data. I will however tell you that you are wrong. Data storage is not the primary purpose of the database If you want to just store data, why add the overhead of a database? Why not just save your data directly on the file system. My client wants an application! Applications generate
- Database Rant

Read more

Delayed Dependency Resolution the Right Way

I have been playing around with CQRS/Event Sourcing and using lightweight, immutable command messages to trigger actions in my application. The great thing about this is that you can specify a single point of entry into your application by using a very simple interface. public interface IApplication { void Execute<T>(T command) where T : ICommand; } This means that every time you want to expose a new actionable feature, you just provide the client with a simple command
- Delayed Dependency Resolution the Right Way

Read more

What Language Does Your Application Speak

If you are doing Domain Driven Design (or any application with business logic for that matter), you should be talking in two languages. The first is the ubiquitous language. Yes, yes I know big word. But if you have to choose one thing that makes DDD what it is, it is the ubiquitous language. Without it you are simply not doing DDD. Well what is it? In short it is the language that you and your team, and your business
- What Language Does Your Application Speak

Read more

How changing my commit messages made me more productive

Confession. I sucked at writing commit messages. Messages like Fix, Style Things and Fix Again #yolo where common place. This did not really matter much as I was working by myself at the time, but I knew I had to start building a habit of writing better commit messages. But every time I started looking on the interwebs I found suggestions to write a heading, a proper body and some foot notes. I understand where this is useful, but working
- How changing my commit messages made me more productive

Read more

Code Comments are Lies

Update This post generated some interesting comments on the code project site. Here are some things to note before you continue. This post is aimed at higher level languages like C# and Java. Please comment your FORTRAN etc. The best code that you can write is code that is maintainable as this is the true cost of software. If this requires you to add a comment please do that. I also do that. A comment as an excuse for writing
- Code Comments are Lies

Read more