在《实用程序员》一书中,作者提到了巧合概念编程。它解释了它的原因,原因,可能遇到的危险,并将其与战争中的地雷场进行了比较。
您是否曾经看过黑白战争电影?疲倦的士兵谨慎地从灌木丛中驶出。前面有一个清理工作:是否有地雷,或者可以安全穿越?没有任何迹象表明它是雷区-没有迹象,铁丝网或陨石坑。士兵用刺刀猛扑着他的脚向前扑地,期待爆炸。没有一个。因此,他在田野上辛苦地前进了一段时间,并在前进时刺探和戳戳。最终,他确信场地是安全的,他站起身来,骄傲地向前迈进,结果被炸成碎片。
士兵最初对地雷的探测没有发现任何东西,但这只是幸运。他被误认为是一个错误的结果。
作为开发人员,我们还在雷区工作。每天都有数百个陷阱在等着我们。记住士兵的故事,我们应该警惕得出错误的结论。我们应该避免碰巧进行编程(依靠运气和偶然的成功),而要刻意进行编程...
但是我对他们描述“如何克服它”问题的方式并不满意。是的,您必须在编写代码之前先思考,但是如何实践呢?我唯一能想到的就是在现有的开放源代码项目中添加功能,您必须在这些知识上既了解“我现在正在做什么”又了解“其他代码段如何工作”,但这并不适用当您编写自己的项目时。
编辑:
您的帖子摘要:
- 不要猜测您的下一步行动,证明它是正确的
- 必要时尽可能进行单元测试和重构
- 添加功能-编译-经常测试
- 如果您无法向菜鸟解释代码,则可能是巧合。
顺便说一句,很难接受答案,这真的很难。所有答案都非常棒:)