编码规范四 | 青训营笔记

71 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天

控制流程

1.避免嵌套

保持正常流程清晰。如果两个分部都包含return语句,就可以去除冗余的else。方便后续的维护,else一般是经典流程,如果需要经典流程新加判断逻辑,避免分部嵌套。

尽量保持普通代码路径为小缩进

优先处理错误情况/特殊情况,尽快返回或继续循环来减少嵌套。

经常见到的流程的路径被嵌套进两个if条件内,成功的推出条件是return nil,必须小心匹配大括号来发现不妥的地方。

函数的倒数第一行返回一个错误,需要溯回到匹配的左括号,才能了解何时会触发错误。如果后续流程里面需要加入一部分代码,调用新的函数,就又会加上一层嵌套。

小结

线性原理,处理逻辑尽量是直线,避免繁琐的嵌套语句。

go语言代码不是成功的路径越来越深地嵌套进入右边,而是随着函数的进行,流程代码沿着屏幕向下移动。

一个功能如果可以通过多个功能的线性结合来实现,那他的结构就会非常简单。反过来,用条件分支来控制代码毫无规矩的加入状态数等行为会让代码变得难以理解,需要避免以上行为,提升代码的可维护性和可读性。

如果能让流程自上而下,简单清晰的进行处理,代码的可读性就会大幅提高,与此同时,可维护性也将提高,添加功能等改良工作将变得更加容易。

故障问题大多出现在繁琐的条件语句和循环语句里面。维护以上逻辑是,添加功能会变成高风险的操作,很容易遗漏部分条件导致出现问题。