没有一个答案,因为这完全取决于项目。我们需要在这里考虑两件事。您最终的目标是什么?您希望如何到达那里?
最终结果
您是否正在编写Mars Orbiter控制软件?然后最好让该死的确保您正在编写最强大的代码,最好检查每个异常是否都是明智的。
您是否正在编写仅会运行的程序,并且偶尔会只手动运行一次?然后,不要为异常而烦恼。不要为笨重的建筑而烦恼。使它工作到适合您的程度。
您希望如何到达那里?
您是否正在进行大量瀑布开发,在那里您花费大量时间弄清楚需要什么,然后您将花费数月的时间进行开发?如果是这样,那么您想尽早达到上述目标质量。从一开始就计划好所有错误检查基础结构。
您是否正在进行大量敏捷开发,将一两个星期放在一起,然后向利益相关者展示,他们可能会要求进行彻底的修订,并且您希望能够迭代1-2次Wee冲刺直到你击中目标?这样一来,您可能会觉得工作起来比较好,但很快就会变得脆弱,并且随着产品需求的巩固而仅添加皮带和悬挂器。
如果您控制瀑布式决策或敏捷决策(实际上是一个连续统,而不是二进制选择),那么请根据预期的变化做出决策。如果您确定确切知道最终结果将是什么样,那么瀑布是您的最佳选择。如果您对最终的需求只有一个模糊的概念,那么敏捷是您的最佳选择。(近来,敏捷之所以流行,不是因为它本质上更好,而是因为第二种情况更为普遍。)
现在找到自己的答案
对于大多数人来说,答案就在中间。回答关于项目的两个问题,它应该引导您迈向基本方向。
我可以这样说,如果我经常编写一次性的脚本,这些脚本设计得非常小,并且没有错误检查任何内容。我还处理生产代码,其中错误处理和体系结构引起了大量关注。这完全取决于您在做什么。
最后一个警告:如果您决定要执行一次性的脚本,那么请确保快速完成。不幸的是,经常发生的事情是,当其他人注意到它们时,执行某些有趣操作的快速脚本又被广泛使用。确保发生这种情况时,有时间进行硬化。