3 ms·
The parable of Chesterton's Fence and the parable of cargo cults are in opposition to each other. One says "if you don't know what it does, don't delete it", t
by Thorrez 4y ago
The parable of Chesterton's Fence and the parable of cargo cults are in opposition to each other.
One says "if you don't know what it does, don't delete it", the other says "if you don't know what it does, don't keep it".
- legalcorrection 4y agoThey both cut in the same direction: preserving the status quo. Don’t go around removing stuff you don’t fully understand. And don’t go around adding stuff you don’t understand.
- Thorrez 4y agoThe border between adding and keeping can get blurry. If you're creating a new module based on an existing module, is it appropriate to copy the boilerplate even if you don't understand all of it? What if you're renaming a file, do you have to understand everything in the file?
- legalcorrection 4y agoTo the first question, it depends. If it's something you're building for a business, and its reliability is important, then you probably should understand code you're copy-pasting. For a hobby project, it's probably not as important. The whole point of Chesterton's Fence is that there's wisdom encoded in the way things have been done. The previous guy who worked on the same module was probably somewhat competent, and in any case, the component was fulfilling business needs for all that time, so they were doing something right.
- ustolemyname 4y agoI disagree. In both cases the observer benefits from reaching beyond their current knowledge. They have the same solution.
- Thorrez 4y agoYeah. It is time consuming though. Thankfully our blame tool works well at my job.
- paulsutter 4y agoThanks for posting this. Now I have a new interview question to filter out reckless programmers
- varajelle 4y agoif you don't know what it does, don't delete it, nor keep it until you know what it does.
- Thorrez 4y agoAre you saying the only option is to investigate it? The problem with that is then you start deep diving into everything you run into, which takes up a ton of time.