-
-
Few
days ago I saw same ordinary scene on street while going to work that
got me thinking... about code off course :) Car driver was complaining
to parking service employee about a parking ticket he has just
received. He said that he was late for only 15 minutes (parking ticked
is valid for 2 hours and drivers are notified with SMS 15 minutes
before expiration). At the first moment I taught that 15 minutes isn't
that much of a big deal, but then I started thinking what about 20
minutes? Still OK? And 30 minutes? Too much?

The real question
is where to draw the line? Because we obviously can't do this, the
right answer is that there should be no tolerance. OK maybe 60 seconds
:)
You said something about code?
Unfortunate driver reminded me about a question I often encounter on my work. Is all code important? Should really all code follow best coding practices and coding standard? (READ MORE...)
-
-
As programmers fight every day with deadline pressures to deliver meaningful software to customers on time, there is one code principle that can speed up and simplify their effort. This principle is called YAGNI, which is short for "You Aren't Going To Need It".
YAGNI is the principle in extreme programming stating that programmers should not add functionality until it is necessary, meaning that you should always implement things when you actually need them, and never when you just foresee that you need them.

The reason for enforcing this principle is that anticipation in software is very hard and usually leads code off track, while also spending valuable resource - time. Anticipation leads to half baked implementation that you maybe didn't need in the first place, and that implementation can turn out to be constraint on implementing some vital functionality that you really need. So what you have is lose-lose situation, you wasted your resources and made situation harder for yourself.
Ron Jeffries, one of the 3 founders of extreme programming, said it like this
Often you will be building some class and you’ll hear yourself saying "We’re going to need...".Resist that impulse, every time. Always implement things when you actually need them, never when you just foresee that you need them.
The best way to implement code quickly is to implement less of it. The best way to have fewer bugs is to implement less code.
You’re not gonna need it!
(READ MORE)