作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑名为 Graph 的类中的以下两个函数。完整的源代码可以在这里找到: http://www.keithschwarz.com/interesting/code/?dir=dijkstra 。
public void addNode(T node) {
mGraph.put(node, new HashMap<T, Double>());
}
public void addEdge(T start, T dest, double length) {
mGraph.get(start).put(dest, length);
}
这里,addEdge
方法是盲目信任addNode
它添加的方法 hashmap
到 mGraph。相信类中的其他方法能够正确完成其工作是一种常见的做法吗?或者是否建议一种方法对一切都持怀疑态度并进行如下检查:
public void addEdge(T start, T dest, double length) {
Map m = mGraph.get(start)
if ( m ! = null) ... ...
}
我再次有兴趣知道什么是commonly done
什么是ideally recommended
。
最佳答案
此类调试是开发过程的一部分,不应成为运行时的问题。
方法不信任其他方法。他们都信任你。这就是发展的过程。修复所有错误。那么方法就不必“信任”。应该没有疑问。
所以,应该这样写。不要让方法检查其他方法是否正常工作。开发人员在编写该函数时应该对此进行测试。如果您怀疑某个方法没有执行您想要的操作,请对其进行调试。
关于java - 一个函数应该在多大程度上信任另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864337/
我目前正在研究数据库,我看到 degree 和 cardinality 用作相同的术语,或在某些其他学位定义为否。关系中涉及的实体的数量,并进一步分类为一元、二元和三元。 某些放置度数定义为关系类型的
我是一名优秀的程序员,十分优秀!