我试图使用两种技术来编写堆栈代码,即契约设计与防御性编程,但我不确定我做的是对还是错,我不会在合同中抛出任何异常或错误,假设所有输入都是正确的。

发布于 2016-10-08 00:22:15
println‘S不是最好的日志记录形式)。尽管如此,您可能希望抛出一些更具体的异常,而不是让运行时选择一个,但在这个简单的例子中,我可能会让运行时为我检查和抛出边界。push操作应该检查>= size,而不是== size,因为谁知道您的代码是否允许任意设置大小。https://softwareengineering.stackexchange.com/questions/333126
复制相似问题