是什么
线性原理就是让处理流程尽量走直线。
一个功能如果可以通过多个功能的线性结合来实现,那它的结构就会非常简单。
反过来,用条件分支控制代码,毫无章法地增加状态数等行为会让代码变得难以理解。我们要避免做出这种行为,提高代码的可读性。
“透明”一次可以用来形容代码有较高的可读性,所以线性原理又称为“透明原理”
为什么
复杂的流程是故障处理的温床。
故障多出现在复杂的条件语句和循环语句中,另外,goto等让流程出现跳跃的语句也是故障的多发地。
如果能让处理由高层次流向低层次,一气呵成,代码的可读性就会大幅提高。与此同时,可维护性也将提高,添加功能等改良工作将变得更加容易。
一般来说,自上而下的处理流程简单明快,易于理解。我们应避开复杂反复的处理流程。
怎么做
尽量减少条件分支的数量,编写能让代码阅读者线性地看完整个处理流程的代码。
为此,我们需要把一些特殊的处理拿到主处理之外。保证处理的统一性,注意处理的流程。记得是不是俯瞰代码整体,检查代码是否存在过于复杂的部分。
另外,对于经过长期维护而变得过于复杂的部分,我们可以考虑对其进行重构。明确且可靠的设计不仅对我们自身有益,还可以给负责维护的人带来方便。