- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
4年前关闭。
Improve this question
我和我的同事就这段代码进行了辩论:
var y = null;
if (x.parent != null)
y = x.parent.somefield;
x.parent
不应该为空。当它为空时,我们有一个严重的问题,我想知道它!因此,不应该进行空检查并让下游异常发生。
最佳答案
有趣的问题。在我看来,是否包含检查取决于数据的验证程度、数据来自何处以及检查失败时会发生什么。
“x.parent 不应该为空”是一个严肃的假设。你需要非常确定它才能安全,当然还有经典的“它永远不会发生”......直到它发生,这就是为什么我认为回顾这些可能性很有趣。
我看到两件不同的事情需要考虑。
数据来自哪里?
if
(如在您的示例中)在某些情况下,简单地跳过某些分配或用法可能没问题。例如,如果用户正在输入一些数据并且这只是显示工具提示或其他次要信息,则跳过可能是安全的。但是如果这段代码做了一些重要的事情,反过来又填充了一些强制条件或执行了一些其他进程,这不是正确的方法,因为它会导致下一次代码运行出现问题。问题是,当您跳过某些代码时,这样做必须是安全的,没有任何副作用或不需要的后果,否则您将隐藏一些错误,并且在以后的开发阶段很难调试。 关于c# - 这段代码是防御性编程,还是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239274/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!