嗨,小伙伴们大家好,我是沉默王二,就是那个吹自己既有颜值又有才华的家伙。今天这个话题我觉得还是值得和大家探讨的,因为好的编程习惯对程序员的职业生涯真的非常重要。
记得我在学驾照的时候,遇到一哥们,之前开过车,属于无证驾驶的那种。但是,这哥们科目二竟然挂了四次,第五次有没有过我不知道,因为我科目三都考过了,那哥们还在练科目二。教练真气的不轻,天天扯着嗓门喊:“你那个脑袋瓜子特么能不能不要钻到车窗外面看,把车窗玻璃给我摇上去,里面难道看不到镜子吗?”
我在排队等车期间真的观察过,尤其是侧方停车的时候,这哥们总是有意无意把脑袋伸出窗外看,玻璃摇上去的时候都能磕到车窗上,看得我都替他捉急。教练说这哥们之前开车的时候养成了这个坏习惯,现在想改就是改不过来;报了 VIP 也没用,最后一次看天意吧,实在是没招了。
不是我吹牛,我科目二就考得挺顺利,一次性过,倒车入库的时候感觉都要压线了,但凭借着两周时间养成的好习惯硬是过了。
那接下来我就来分享三个好习惯,自我感觉良好地认为,值得所有的小伙伴们借鉴。
01、代码一定要规范任何编程语言都有自己的一套规范,好的规范能让代码更易阅读,能让 bug 没有容身之处。你比如说,Java 类的命名应该遵守以下规则:
必须以大写字母开头
最好是一个名词,比如说 System
尽量不要省略成单词的首字母
来看个例子:
public class Writer {}再比如说,方法的命名应该遵守以下规则:
必须以小写字母开头
最好是一个动词,比如说 print()
可以包含多个单词,第一个单词的首字母小写,其他的单词首字母大写,比如说 actionPerformed()
来看个例子:
void writeBook(){}遵守这些规则就像是在马路上遵守交通规则一样,否则后果不堪设想。之前给小伙伴们安利过两个 IDEA 插件,一个阿里巴巴的开发规约,一个 SonarLint,它们在提高代码质量上面的效果杠杠的,我自己一直在用。
还有就是阿里出品的 Java 开发手册,一定要把上面罗列的条目刻到脑子里,至少放一份在桌面上吧,活学活用。
我之前在日企的时候,公司内部就有一份编码规约,关于 ActionScript 方面的,详细程度可以和阿里的开发手册媲美,只不过没有对外开放。好多年过去了,虽然规约上面的内容忘得一干二净,但它给我的印象深刻——就像初恋女友一样,容颜早已忘却,背影却时不时涌上心头(逃。
02、学会阅读源码源码是香,但我不建议新手一上来就阅读源码,因为很容易劝退。就好像文章开头提到的学驾照一样,如果一开始就从科目三练起,那多半会在路上完蛋。
阅读源码之前,技术储备一定要到位。也就是说科目三练习之前,科目一的理论知识要过关,科目二的基本技巧要掌握,如果说方向盘都不会打,油门刹车都不会踩,档位都不会挂,那教练不被吓出心脏病才怪。
一旦你的技术功底达到一定程度后,想要更上一层楼,阅读源码就变得势在必行了。因为阅读源码有以下好处:
解决 bug。如果 Google、Stack Overflow 上搜不到答案,那么阅读源码几乎就是唯一可行的解决办法了。
知其所以然。比如说,你想知道为什么 String 类是不可变类,那就必须钻一钻源码才能明白。
学习。为什么大牛们都会推荐 GitHub,就是因为它上面的项目都是开源的,源代码是可以直接阅读的。
改造。很多时候,我们已经拿到了一个轮子,但需要对它进行一些改造才能满足需求,那就必须在改之前阅读源码,否则,轮子可能会被改造成锤子。
知道阅读源码的好处了吧?那有小伙伴可能要问,怎么去阅读源码呢,有哪些技巧呢?我来分享一下自己经验:
先阅读文档。知道库是干嘛的,知道类是干嘛的,知道方法是干嘛的,知道变量是干嘛的。
打断点,进行调试。代码之间会有很多调用关系,如果只看不动手和源码干一架的话,很可能不知道代码之间是如何衔接的,通过调试就可以看清楚整个源码之间的脉络。
分享阅读源码后的心得。所谓好记性不如烂笔头,写下来可不只是为了分享自己阅读源码后的喜悦之情,更重要的是,当你忘的差不多时笔记可以唤醒你的记忆。
03、独立思考并解决问题