News for hackers. Stuff that matters.
Re:Don't Feed the Thought Leaders by wnevets on Friday June 11, 2021 @12:43AM (#27469368)
> To be a good X you must follow the rules. To be a great X you must have followed the rules so well as to learn why they’re there and when they should be broken.

In my experience slavishly following the "rules" or "best practices" can actually be worse than never following them. Not understanding when it's good to deviate usually means of a lack of understanding of why the "rules" or "best practices" exist in the first place. So much attention is spent following the letter of the rule rather than what problems it was meant to solve.

Look no further than modern day "Agile" vs the actual Agile Manifesto

Re:Don't Feed the Thought Leaders by taberiand on Friday June 11, 2021 @01:06AM (#27469499)
At the extremes, this is known as cargo-culting. People who have only the most shallow understanding of the rules in my experience also push back the hardest against anyone who "breaks the rules", and get locked into the 'one right way' even when it's actively harming the delivery of a project.
Re:Don't Feed the Thought Leaders by methodsignature on Friday June 11, 2021 @06:39AM (#27471525)
"Rules" often contradict each other. For example, in software development, "keep it simple" often directly conflicts with "dont repeat yourself" as it takes increased complexity to achieve reuse of code. I often see keeping it simple take a back seat in newer developers as they slavishly follow the don't repeat yourself trail. The end result is routinely a brittle, rigid, and overly complex solution.
Re:Don't Feed the Thought Leaders by valand on Saturday June 12, 2021 @02:32AM (#27482125)
DRY and KISS talks about different things.

DRY is about knowledge management. The intention is to not avoid duplication of code which is a knowledge representation of the same thing. It does not mean every coincidentally similar looking code must be made into a function, as it would result in a premature abstraction, etcetera etcetera. It's why "minimum three duplication" principle is effective, because it filters which duplication represents the same knowledge and which does not.

KISS is (ironically) a more complex topic. C2 wiki talks about this in an interesting way. https://wiki.c2.com/?KeepItSimple

Re:Don't Feed the Thought Leaders by ludamad on Friday June 11, 2021 @09:18AM (#27472905)
DRY I would argue doesn't conflict nearly as much with a nuanced approach. "Apply Aggressive Compression to Your Code" certainly flies in the face of many other nice features of code as a working body, though

My more nuanced take I guess is "don't duplicate logic, except if it may in fact be mutable data". It does take some forward thinking to think that this e.g. list of 10 rules should be unrolled and not compressed by meaningless helpers, etc

Re:Don't Feed the Thought Leaders by q-big on Friday June 11, 2021 @07:59AM (#27472115)
> For example, in software development, "keep it simple" often directly conflicts with "dont repeat yourself" as it takes increased complexity to achieve reuse of code.

KISS and DRY are different paradigms, i.e. come from different schools of programming.

Re:Don't Feed the Thought Leaders by jackcviers3 on Friday June 11, 2021 @09:29AM (#27473033)
KISS -

Most people would not recognize simple code if it hit them I'm the mouth.

KIES (keep it easy, stupid) is what they mean, and that means following idioms, frameworks, that are familiar.

Re:Don't Feed the Thought Leaders by beckingz on Friday June 11, 2021 @09:33AM (#27473089)
Re:Don't Feed the Thought Leaders by layoric on Friday June 11, 2021 @07:31AM (#27471882)
Don’t repeat yourself or making code “DRY” sounds/sells so much better than tightly coupled.