Software developers Rules #41
Don’t gold plate. Work to the requirements and if you
have an idea to do something more / different / better, follow the change
management process. I have seen more problems created by "Oh, it was
easy to add, so I just put it in" than any other single cause.
Don't hide problems. If something isn't working, don't hack
in workarounds. Find the root cause. The more layers of convoluted
crap that gets into the code, the more difficult and expensive it becomes to
test, maintain and upgrade.
Keep it simple. I used to work with a developer that
just loved to prove how smart they were by building these stupidly complex
patterns and expressions. I don't care if you can jam 23 lines of code
into a single 70 element long expression. It's going to create a problem
for anyone trying to decipher and maintain it in the future. The simpler
and more straightforward the code and logic, the better it is for the customer
and the team who has to support it.
Document the crap out of
everything. Assume
that someone looking at your code has just dug it up out of a code vault 20
years from now and has none of the background that you have. They need to
be able to understand what you're doing and why. Document
accordingly. I just assume that this is a way of paying it forward.
I will one day be in that situation of having to debug someone else’s code and
that person may have seen my documentation and learned to emulate it.
Build for reuse. This is less of an issue these days
than it was in the time of monolithic mega-programs. I learned to code on
systems where you had to fit code into 4k overlays. You learn to
modularize functionality and find neat ways to build complex systems "Lego-style".
That was really the precursor to object oriented design and development and its
part of most modern languages. But I still occasionally come across code that's
written as 100,000 lines in main () (or the equivalent) with a handful of
callouts. If there was every justification for beating sense into someone,
that's high on my list.

Comments
Post a Comment
Thanks you
for comment and your suggestion