Better arguments == Better functions
Arguments play a very important role in the readability of a function. When implemented properly, they show intent and provide information about the function’s behavior. This is one of the reasons why investing time in engineering good arguments can help to improve the quality of your code. Let’s see how can we make the most of our arguments, or...
Things I wish I had known when I started programming, Part 6
Yepp, more things I wish I’d known when I started, 6th edition.
You can find the first article in the series here.
And the previous article here
Don’t try to predict the future
We suck at predicting the future.
Every time you make an architectural/design decision, you close options in your design and constrain your program’s options for cha...
The Interface Segregation Principle
The interface segregation principle (ISP) is concerned with the way clients access the functionality developed in another class. It states that clients should not be forced to depend on functionality they don’t use.
Following this principle has several upsides. On one hand, it protects your objects from depending on things they don’t need. Remo...
Things I wish I had known when I started programming, Part 5
Yepp, more things I wish I’d known when I started, 5th edition.
You can find the first article in the series here.
And the previous article here
You read code more often than you write it. Optimize for reading
Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human bei...
Things I wish I had known when I started programming, Part 4
Yepp, more things I wish I’d known when I started, 4th edition.
You can find the first article in the series here.
And the previous article here
Love maintenance work or at least learn to appreciate it
Very few things are more despised by programmers than doing maintenance work and working with legacy apps.
This can be counterproductive, as...
The Liskov Substitution Principle
In 1987, while delivering a keynote on data abstractions and hierarchies, Barbara Liskov introduced the idea that would eventually become the Liskov substitution principle. The following is a modern (and very formal) description of the principle:
Let Φ(x) be a property provable about objects x of type T. Then Φ(y) should be true for objects ...
Effective code reviews in 5 easy steps
Code reviews are one of those things that you either really love or really hate.
When done well, they can dramatically increase the quality of your code and teach you lots of important practices. Poorly done reviews, on the other hand, can make you dread every time you try to push your code into version control.
While your team’s attitude and ...
The Open/Closed Principle
The Open Closed Principle is responsible for the ‘O’ of the S.O.L.I.D principles. Originally coined by Bertrand Meyer, it states that:
Software entities (classes, modules, functions, …) should be open for extension but closed for modification
It seems like an incredibly simple principle, but it’s behind most of the best practices we use wh...
84 post articles, 11 pages.