Old Rules With Outdated Forces

If it's tough to talk people out of OldRulesWithForgottenReasons, it's impossible to talk people out of OldRulesWithOutdatedForces.

In the case of the stories listed on the "forgotten reasons" page, at least the reasons for following the rules are completely obsolete. When a person asks why an old rule is followed, and none is discovered, you might be able to convince people to remove the rule.

Now then, what happens if a rule was put in place to solve a specific problem? What if that problem still exists, and following the rule still solves the problem? When you point out the expense of following the rule, people can get scared, fearing that they won't be able to solve the original problem without adhering to the old rule.

I suggest that you eliminate the Old Rule and then attempt to implement your solution. When the Old Problem comes up to byte you on the ass you can then return to the Old Rule and create a New Document to explain why this rule was in place originally.


Great example: Commenting. At some point, someone noticed that lucidly written code was much easier to enhance. Programming policies everywhere made decrees: Thou shalt comment everye line of thy code, lest the obscurities doth overwhelme. When you try to point out CommentCostsAndBenefits, and recommend putting the lucidity in the code itself, people steeped in the old ways have been known to have heart attacks and spontaneous brain aneurysms.

I'm not sure this is a good example, because many of the reasons for comments do not go away just because the code is clear --PeteHardie


Of course, these people sticking to the old ways are not stupid, or in favor of suboptimal solutions. The problem is that they're trying to maintain their LocalMaximum, at the expense of exploring for GlobalMaximum?s.

No, actually the problem is you because you think bigger than they do.

Uhh, that's sorta dumb, ain't it? If you have a clear view of the core problem and some potential solutions then how can you be "the problem?" That seems a little backward.

On the other hand, if you persist in presenting solutions that are constantly rejected out of hand then perhaps you should consider bailing.

The gripping hand (to extend this hand thing indefinitely) is to wait out the naysayers and hope that your illuminated worldview will eventually win out. Or gain the upper hand, so to speak.


"Thou shalt comment everye line of thy code, lest the obscurities doth overwhelme." /* Beautiful! */


Besides cultural examples, like the previous, there are also technical examples. ShiftDontMultiply?, for example. (ArithmeticShiftingConsideredHarmful) --AdamBerger


CategoryAntiPattern


EditText of this page (last edited April 29, 2006) or FindPage with title or text search