《程序员修炼之道:从小工到专家》读后感4

Berterand MeyerEiffel语言发展了按合约设计的概念。这是一种简单而强大的技术,他关注的是用文档记载并约定软件模块的权力与责任,以确保程序正确性。程序的正确性就是做它声明要做的事情的程序。用文档记载这样的声明,并进行效验,是按合约设计的核心所在。

前条件:为了调控例程,必须为真条件;例程的需求。

后条件:例程保证会做的事情,例程完成时世界的状态。

类不变项:类确保从调整者的视角来看,该条件总为真。

使用DBC的最大好处也许是他迫使需求与保证的问题走到前台来。在设计是简单地列举输入域的范围是什么、边界条件是什么、例程允诺交付什么——或者,更重要的,它不允诺交付什么——是向着编写更好的软件的一次飞跃。

检查每一个错误是一种良好的实践。但是在实践中这可能会把我们引向相当丑陋的代码;你的程序的正常逻辑最后可能会被错误处理完全遮蔽。

只要在编程,我们都要管理资源:内务、事务、线程、文件、定时器——所有数量有限的事情。大多数时候,资源使用遵循一种可预测的模式:你分配资源、使用它,然后解除其分配。

类似于间谍、反政府人员、革命者以及类似的人组成的小组,在代码种也有一种类似的最小组成单位:模块。把代码组织成最小单位并限制他们之间的交互。如果随后出于折中必须替换某个模块,其他模块仍能正常工作。

再多的天才也无法胜过对细节的专注。细节会弄乱我们整洁的代码,特别是他们如果经常变化。所以说要“把细节赶出去!”把他们赶出代码。当我们在和他们作斗争时,我们可以让我们的代码变得噶度可配置和软和——也就是容易适应变化。

猜你喜欢

转载自www.cnblogs.com/vvxvv/p/11953812.html