你编程的时候使用不变量吗?

Bra*_*don 5 invariants

我正在学习一门中级编程课程,该课程强调使用不变量.我之前从未使用它们,它们似乎占用了更多的时间来创造.软件工程行业是否强调使用不变量?

Lar*_*s D 12

取决于你问谁 - 我使用不变量只是因为它让生活更轻松.学习不变量就像学习盲目学习一样.每次使用不变量时,您都会了解有关代码的更多信息.如果你在循环中插入不变量作为注释,它会帮助读者很多.我会说使用不变量使得源代码的创建和维护成本更低,并且使您能够创建更复杂的算法,这些算法仍然可以维护.

与OOP相比,我从未经历过任何人通过使用不变量来浪费时间.


Jon*_*eet 8

我不太考虑不变量 - 不像前/后条件那么多.老实说,我应该更多地考虑不变量.

需要考虑的一件事是不可变性 - 如果你使用的是OO语言,但是你可以尽可能地使类型成为不可变的,你不需要担心不变量:如果状态开始有效,它将保持有效.

这听起来像你的课程可能过分强调不变量......但它确实取决于你正在做什么.在某些情况下,它们比其他情况更合适.也许你的讲师只是他们的忠实粉丝,他们在他们真正有用的领域有很多经验.