I've been writing code for over 10 years now, and although I've been doing more management lately, at my peak I was able to write 500+ lines of well-performing code a day. Here are the principles that helped me with this:
- Don't over-generalize
- Don't optimize your code in advance
- Name and group everything that happens correctly
- Don't mix algorithms and other technologically complex pieces of code with business logic
- Don't use any advanced features of any language
- It is worth throwing all OOP out of your head
- Use as many asserts, logs and other methods to catch unplanned system state as early as possible
- Every extra line of code is evil
Here I placed just names of my mistakes, but if you are interested here the full version with each point explanations
Top comments (4)
Agree with everything except one point :) Points one and two are great. If it comes to frontend it is especially true. Frontend is easy with frameworks. And I notice people like to compensate it with adding a lots of unnecessary wiring. To look more pro. But it has the adverse effect.
Nice list. I'd say that advanced language features tend to fall under the category of 'clever' which in software development is just a synonym for 'bad'.
With regard to the original (Go4) design patterns, I've always understood the primary lesson there to favour composition over inheritance, which is in line with what you're saying but unfortunately not how a great many people interpret OOP.
I agree on 2.
Only two hard things in computer science:
...oh, and...