defensive-programming - 这是防御性编程吗?

标签 defensive-programming

我一直认为防御性编程是邪恶的(现在仍然如此),因为根据我的经验,典型的防御性编程总是涉及基于不可预测的结果的某种不合理的牺牲。例如,我见过很多人试图针对自己的同事进行防御性编码。他们会做一些事情“以防万一”代码稍后以某种方式发生变化。他们最终会以某种方式牺牲性能,或者他们会在所有情况下诉诸某种 Elixir 。

这种特定的编码实践,算不算防御性编程?如果不是,这种做法叫什么?

维基百科将防御性编程定义为对软件不可预测的使用的防护,但没有指出针对其他程序员的代码完整性的防御性编程策略,所以我不确定它是否适用,也不确定它是什么这就是所谓的。

基本上,我希望能够以专业的方式与这样做的人争论,并告诉他们他们所做的事情是错误的。我希望能够客观地反对这一点,因为它弊大于利。

最佳答案

“过度设计”是错误的。

“防御性编程”很好。

需要智慧、经验……也许还需要经常进行代码审查的长期政策……才能区分出其中的差异。

关于defensive-programming - 这是防御性编程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146913/

相关文章:

error-handling - 如何隔离网页中的各个部分,以使一个部分不会影响其他部分

JavaScript 问号? : logical syntax, 防御性编程

c++ - 自定义复制构造函数并添加一个字段

javascript - 在程序中进行多层数据验证是否可以深度防御故障或代码困惑的偏执狂?

security - web应用攻击,必须有防御方法

java - 发送防御性数据副本的最佳方式是什么?

java - 标识符名称中的数字没有问题吗?

C++ 总是使用显式构造函数

c# - 我应该如何防御性地编程?

c++ - 你应该如何防御?