代码守恒定律
能量守恒定律:能量守恒定律(energy conservation law)即热力学第一定律是指在一个封闭(孤立)系统的总能量保持不变。其中总能量一般说来已不再只是动能与势能之和,而是静止能量(固有能量)、动能、势能三者的总量。(--百度百科)
我认为能量守恒定律是宇宙中最伟大的定理。它不仅适用在物理学上,也可以衍生出很多定理适用在其他学科上,比如社会学,经济学,和写代码(0v0计算机科学)上。
举个栗子
零和博弈和非零和博弈
最容易理解的就是零和博弈,零和博弈中各方总的利益是固定的,一方增加另一方就减少,此消彼长。
非零和博弈中存在帕累托改进,可以看成是群体的心智能量转换成改进的收益。
最后如果不理解零和博弈和非零和博弈,可以用中国式一句话概括:“出来混的迟早要还的”。
代码守恒定律
开发并长期运营的项目,实现同样功能需要编写/维护的代码量是固定的(准确地说是固定的最小代码量,因为有些项目搞不好还会引入另一个定律:熵增加原理),你在这个模块少写/维护了代码,就需要在另一个模块里多写/维护代码。
前端偷懒少写代码,后端就需要补上;一个链路中的这个节点少些代码,后续节点就需要补上,或者你用其他现有框架实现功能,在使用第三方框架前你至少需要看那个框架的主要代码,如果不看以后出bug还是要看的。
代码就在那里,你想看或不想看,你都得看。
关于重复造轮子的问题
码农圈一直有几个有争论的问题,其中一个就是需不需要重复造轮子。在我看来重复造轮子和使用别人造的轮子体现了两种不同类型的码农的能力:学习能力和创造能力。在同一情景下,愿意使用别人造的轮子的人是有学习能力的人,而愿意重复造轮子的人是有创造能力的人。就单一情景来说使用别人造的轮子和自己造轮子没有孰优孰劣,但是就长远来看,只有学习能力而没有创造能力的人是不能领先的。
转自:http://blog.yuanyec.cn/article/code-conservation
最新内容链接:http://www.yuanyec.cn/post/3