←back to thread

873 points belter | 1 comments | | HN request time: 0s | source
Show context
ZaoLahma ◴[] No.42947654[source]
> Most programming should be done long before a single line of code is written

Nah.

I (16+ years developer) prefer to iteratively go between coding and designing. It happens way too often that when you're coding, you stumble across something that makes you go "oh f me, that would NEVER work", which forces you to approach a problem entirely differently.

Quite often you also have eureka moments with better solutions that just would not have happened unless you had code in front of you, which again makes you approach the problem entirely differently.

replies(16): >>42947849 #>>42948402 #>>42948536 #>>42948683 #>>42948786 #>>42949252 #>>42949429 #>>42949588 #>>42950167 #>>42950238 #>>42950409 #>>42953785 #>>42955243 #>>42956358 #>>42957524 #>>42964457 #
dkarl ◴[] No.42953785[source]
> I (16+ years developer) prefer to iteratively go between coding and designing

I have an extra ten years on you and couldn't agree more.

There are two jokes:

- A few months of programming can save weeks of design.

- A few months of design can save weeks of programming.

Inexperience is thinking that only one of these jokes is grounded in truth.

Recognizing which kind of situation you're in is an imperfect art, and incremental work that interleaves design with implementation is a hedge against being wrong.

replies(2): >>42957294 #>>42957560 #
jfengel ◴[] No.42957560[source]
The difference between DRY and YAGNI is experience. Both are predicting the future, and you can only do that by having watched code evolve.
replies(1): >>42962887 #
1. bena ◴[] No.42962887[source]
What's that saying? "Once is a mistake, twice is a coincidence, three times is a pattern".

Having to write something once, just write it.

Having to write something twice with small differences, think about it.

Having to write something three times? Consider refactoring.