以前写函数,我喜欢逻辑判断后直接return退出程序。这样函数里就不会嵌套一层又一层if。程序看起来就可能是:
function (){
if(a):
return;
if(b):
return;
while():
if(c):
return;
}
后来很多编程规范里要求一个函数只有一个出口,不建议出口太多。虽然不太懂为什么,但我还是按编程规范的建议改了自己的习惯。这样每个函数只在最后一行return。
现在经常回头修改优化以前程序,就发现了函数统一出口的好处,虽然if可能多套基层,但是逻辑非常清晰。以前的习惯,嵌套虽然少,但冷不丁程序从哪里跳出了函数,跟踪程序逻辑很费力。特别是程序从循环中直接return出了函数,跟踪逻辑真是头痛。
所以我觉得统一函数只有一个出口还是挺好的一个编程规范。
function (){
if(a):
return;
if(b):
return;
while():
if(c):
return;
}
后来很多编程规范里要求一个函数只有一个出口,不建议出口太多。虽然不太懂为什么,但我还是按编程规范的建议改了自己的习惯。这样每个函数只在最后一行return。
现在经常回头修改优化以前程序,就发现了函数统一出口的好处,虽然if可能多套基层,但是逻辑非常清晰。以前的习惯,嵌套虽然少,但冷不丁程序从哪里跳出了函数,跟踪程序逻辑很费力。特别是程序从循环中直接return出了函数,跟踪逻辑真是头痛。
所以我觉得统一函数只有一个出口还是挺好的一个编程规范。
展开
评论
2
![[不失礼貌的微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_16.9d17f6d.png)