DEV Community

Discussion on: The Three Stages of a Developer

Collapse
 
katylava profile image
katy lavallee

Accept that low redundancy (DRY) leads to high coupling and balance the two

It's hard to convince even experienced engineers of this.

Recognize code smells

Can you say more about this one? I think I recognize when code smells bad, but I'm not very good at figuring out why. Also I don't know if readers who are new to engineering are familiar with the term.

Collapse
 
stealthmusic profile image
Jan Wedel

And to make it absolutely clear: Code duplication in one Code base is really a code smell and must be refactored. I specifically talking about DRY at service/systems level.

Collapse
 
katylava profile image
katy lavallee

Well that depends... Having no abstraction is better than having the wrong abstraction. Sometimes it's better to write something two or even three times before refactoring to make sure you get the implementation right. Although yeah... I have rarely seen this in the same codebase.

Thread Thread
 
stealthmusic profile image
Jan Wedel

Yeah, but I would not write something three times in parallel but change and refactor until it’s right. Use git to revert to previous versions.

Collapse
 
stealthmusic profile image
Jan Wedel

Yes. I also know experiences developers that occasionally want to introduce a new common library. And might even be OK in some cases but most of the time the coupling issues weight much higher in the mid-term than the DRY benefits.

Regarding the Code Smells: I would recommend you to read „Clean Code“ by Robert C Martin. If you have a system like sonarqube for metrics, it will show you smells and recommend a fix. Pretty neat.