最近开始看范学雷老师写的代码精进之路,看了第一篇之后就觉得非常值得学习,所以特意记录一下
(我去,咋把点击查看原网页搞上了,无所谓了,你尽管点,能点进去算我输)
第一篇论述的从条件运算符入手来讲什么是好代码,其实在工作中,我个人还是很钟意用条件运算符,因为从学习条件运算符那一天开始我就觉得这个看上去比ifelse精简多了,所以之后就一直在用,但是今天看完第一篇文章之后,我对三元运算符又有了新的认识。
举一个小例子,在工作中我最常用的条件运算符
a==b?c:d
类似于这种,感觉看上去比ifelse要简洁很多,但是今天范老师给了一个例子
return x >= 90 ? "A" : x >= 80 ? "B" : x >= 70 ? "C" : x >= 60 ? "D" : "E";
恐怖不恐怖,如果你不是有一双钛合金狗眼,这里面的逻辑怕不是要用笔来画画才能捋清
那这个样子就不如我们来使用ifelse了,虽然代码看上去会多一点,但是便于理解啊,起码能直接看清楚逻辑
而且范老师还有一个观点是非常值得学习的,坚持使⽤最直观的编码⽅式,⽽不是追求代码简短。
其实我过去还是很追求代码的简短,能用一行代码实现的操作绝对不用两行,其实现在想想很是很年轻啊,举个直观的例子,之前写代码的时候,写的时候只有我和上帝知道是什么意思,人家都说不出半月,就只有上帝知道代码的意思了,我只能说太天真了,我忘记自己的代码和鱼一样,七秒足矣,所以范老师这个观点直接捅我心窝子里去了。
当我们写代码的时候不能盲目的追求简短,在能直观的看懂逻辑的前提下适量的简短代码挺好的,but不管三七二十一,只为了简短代码而疯狂的精简,而不考虑别人能不能直观的看懂精简后的代码,我只能送你一句话,少侠练个铁布衫吧,防止被同事怼死
减少错误、节省时间,是我们现在选择编码⽅式的⼀个最基本的原则。
作为一名合格的bug制造者,我想减少bug节约时间的重要性不必多言了,谁还没有被老大怼着喷的经历,所以加快开发节奏减少被喷的概率是我们必然要去追求的事情
当做一个功能的时候我们一定要考虑一下子如何在满足需求的前提下最快的做完!
好的代码又具有一下特点:
1. 容易理解;
2. 没有明显的安全问题
3. 能够满⾜最关键的需求
4. 有充分的注释;
5. 使⽤规范的命名;
6. 经过充分的测试
坏的代码的特征:
1. 难以阅读的代码;
2. 浪费⼤量计算机资源的代码;
3. 代码⻛格混乱的代码;
4. 复杂的、不直观的代码;
5. 没有经过适当测试的
我们在开发中尽量写一些好的代码,这样后期维护起来也舒舒服服
文中还有一个非常棒的观点:最适合当前现实环境的代码,才是最优秀的代码
例如一个创业型的公司在经济实力人力资源都有限的前提下盲目的照搬大公司的成熟的软件开发流程的,这样有大概率会浪费时间和资金而没有相应的结果。
最后总结一下子,优秀的代码需要具备三个特征: 经济、规范、安全
经济,规范前面都说了一下一下,这个安全是啥子回事。安全还有我说?信不信我锤你啵,你想刚搞好一个系统刚上线,公司正在美滋滋使用,蜜月期还没过,就被人干掉了,就跟刚结婚没多久,媳妇被人拐跑了,这谁能受得了,所以说安全也是很重要的,起码你得保护好自己的媳妇吧