最近代码评审,遇到了一些问题;
其中一个问题我稍微多想了一下:方法代码篇幅为什么不宜过长?
那些想说这是代码规范的就算了,,,我想说的是,为啥会有这个规范?
稍微晚上看了下大家的说法,比较多的是说如果篇幅过长,则会违背OOD的“单一职责”的原则;
各个版本翻译的文字不太一样,意思就是一个方法的代码篇幅过长,那么就会囊括了过多的处理逻辑;
而前辈们多年的开发经验总结之后告诉我们:一个方法职责越是单一,则代码可维护性以及可读性就会高,总之就是好处多多;
我在这里想到一个比喻,和大家分享一下:
我 去 吃饭
上面这句话,可以理解为一个方法,其中,“我”是一个方法,“去”也是一个方法,“吃饭”也是一个方法(不要抬杠说吃和饭分别也可以是一个方法。。。比喻而已);
上面的方法一目了然的简洁;
但是,这句话其实也可以进行更详细的描述:
我——这里的“我”,可以更加详细的描述,加上姓名、年龄、身高等等,甚至是爱好或者人生履历都可以描述;
“去”和“吃饭”也是同理;可以更加详细的描述怎么去的,是骑车还是走路,骑车的话骑的什么车之类的;吃饭在哪里吃,吃的几个菜,诸如此类;
但是,别人读这句话就好比阅读代码的时候,简洁的代码可以让人快速梳理逻辑;
甚至是快速抓住重点:如果读者想了解吃了几个菜,直接找“菜”这个方法,看看里面具体是怎么实现的就行了;而不是一一阅读了“我”是怎么样的我,“去”是怎么去,才能看到读者需要的内容;
规范说要控制篇幅,但是,规范为什么要这么说?
由此深想一步;
还望指正!