DEV Community

Discussion on: Seven useful programming habits

Collapse
 
dev3l profile image
Justin L Beall

Avoid "future programming" -one of the strongest points here that seems counterintuitive, but is fundamentally critical.

Simple designs are future proof... complicated designs anticipating an unreal future are messy (not clean).

"Last Responsible Moment" - The key is to make decisions as late as you can responsibly wait because that is the point at which you have the most information on which to base the decision.

Collapse
 
binaryforgeltd profile image
Bart Karalus

Great input. I heave heard something like that somwhere... not sure where though. Take your time to make a decision and decide late, but then execute fast.

Collapse
 
andrespineros profile image
Andrés Felipe Piñeros • Edited

I've been here so many times that I'm actually ashamed.

First think of the Minimum Viable Product (MVP). Give functionality to yourself or your client. THEN, when things are working worry about improving them.

Trying to create a perfect design from the start is impossible, mainly for one reason: we often don't really understand what the client wants, and neither does the client. When we work on small functionalities that grow and improve over time, we give ourselves (and the client) time and experience to understand the domain of the problem and understand WHERE the software needs to be improved for real.