在进入公司的编程规范考试的时候,有这么一个规范--不要试图去写一个多功能的,面面俱到的函数.
在最近的工作中,算是真正体会到这个规范的重要性了.因为做二次开发的时候,要接触到别人的代码,里面多处一个函数处理好几个逻辑上不是并列的分支,看半天又发现一些东西,跟研究怪物似的,令我看的死去活来,气得半死.真想骂那个人.
面面俱到的函数会令看代码的人摸不着头脑,降低程序的可读性.一般来说,连设计的那个人,过了一段时间,就算跟着他自己写的注释,都没法把东西弄明白!这些代码,要来还有什么用呢?
另外,我发现一个问题,就是有的函数并不是一开始就设计成面面俱到的,是后来做维护工作的人,又根据新的需要,添加一些非常令人无语的分支,比如说在函数中加多一个布尔型变量,就算是分支的判断标志,整个流程就记着这个标志,然后到用的地方又打这个判断调用别的函数,回来又不遵守原来的逻辑,结果把原来清析的代码维护得神鬼不分.
慎之戒之,这些有规范的思想写出来的东西,我不能再重跟他们的后路!