编程中,有哪些好的习惯一开始就值得坚持?

嗨,小伙伴们你们好,我是沉默王二,就是那个吹本身既有颜值又有才华的家伙。今天这个话题我以为仍是值得和你们探讨的,由于好的编程习惯对程序员的职业生涯真的很是重要。java

记得我在学驾照的时候,遇到一哥们,以前开过车,属于无证驾驶的那种。可是,这哥们科目二居然挂了四次,第五次有没有过我不知道,由于我科目三都考过了,那哥们还在练科目二。教练真气的不轻,每天扯着嗓门喊:“你那个脑壳瓜子特么能不能不要钻到车窗外面看,把车窗玻璃给我摇上去,里面难道看不到镜子吗?”git

我在排队等车期间真的观察过,尤为是侧方停车的时候,这哥们老是有意无心把脑壳伸出窗外看,玻璃摇上去的时候都能磕到车窗上,看得我都替他捉急。教练说这哥们以前开车的时候养成了这个坏习惯,如今想改就是改不过来;报了 VIP 也没用,最后一次看天意吧,实在是没招了。程序员

不是我吹牛,我科目二就考得挺顺利,一次性过,倒车入库的时候感受都要压线了,但凭借着两周时间养成的好习惯硬是过了。github

那接下来我就来分享三个好习惯,自我感受良好地认为,值得全部的小伙伴们借鉴。web

0一、代码必定要规范

任何编程语言都有本身的一套规范,好的规范能让代码更易阅读,能让 bug 没有容身之处。你好比说,Java 类的命名应该遵照如下规则:面试

  • 必须以大写字母开头
  • 最好是一个名词,好比说 System
  • 尽可能不要省略成单词的首字母

来看个例子:编程

public class Writer {}

再好比说,方法的命名应该遵照如下规则:微信

  • 必须以小写字母开头
  • 最好是一个动词,好比说 print()
  • 能够包含多个单词,第一个单词的首字母小写,其余的单词首字母大写,好比说 actionPerformed()

来看个例子:app

void writeBook(){}

遵照这些规则就像是在马路上遵照交通规则同样,不然后果不堪设想。以前给小伙伴们安利过两个 IDEA 插件,一个阿里巴巴的开发规约,一个 SonarLint,它们在提升代码质量上面的效果杠杠的,我本身一直在用。编程语言

还有就是阿里出品的 Java 开发手册,必定要把上面罗列的条目刻到脑子里,至少放一份在桌面上吧,活学活用。

我以前在日企的时候,公司内部就有一份编码规约,关于 ActionScript 方面的,详细程度能够和阿里的开发手册媲美,只不过没有对外开放。好多年过去了,虽然规约上面的内容忘得一干二净,但它给个人印象深入——就像初恋女朋友同样,容颜早已忘却,背影却时不时涌上心头(逃。

0二、学会阅读源码

源码是香,但我不建议新手一上来就阅读源码,由于很容易劝退。就好像文章开头提到的学驾照同样,若是一开始就从科目三练起,那多半会在路上完蛋。

阅读源码以前,技术储备必定要到位。也就是说科目三练习以前,科目一的理论知识要过关,科目二的基本技巧要掌握,若是说方向盘都不会打,油门刹车都不会踩,档位都不会挂,那教练不被吓出心脏病才怪。

一旦你的技术功底达到必定程度后,想要更上一层楼,阅读源码就变得势在必行了。由于阅读源码有如下好处:

  • 解决 bug。若是 Google、Stack Overflow 上搜不到答案,那么阅读源码几乎就是惟一可行的解决办法了。

  • 知其因此然。好比说,你想知道为何 String 类是不可变类,那就必须钻一钻源码才能明白。

  • 学习。为何大牛们都会推荐 GitHub,就是由于它上面的项目都是开源的,源代码是能够直接阅读的。

  • 改造。不少时候,咱们已经拿到了一个轮子,但须要对它进行一些改造才能知足需求,那就必须在改以前阅读源码,不然,轮子可能会被改形成锤子。

知道阅读源码的好处了吧?那有小伙伴可能要问,怎么去阅读源码呢,有哪些技巧呢?我来分享一下本身经验:

  • 先阅读文档。知道库是干吗的,知道类是干吗的,知道方法是干吗的,知道变量是干吗的。

  • 打断点,进行调试。代码之间会有不少调用关系,若是只看不动手和源码干一架的话,极可能不知道代码之间是如何衔接的,经过调试就能够看清楚整个源码之间的脉络。

  • 分享阅读源码后的心得。所谓好记性不如烂笔头,写下来可不仅是为了分享本身阅读源码后的喜悦之情,更重要的是,当你忘的差很少时笔记能够唤醒你的记忆。

0三、独立思考并解决问题

个人技术交流群里有过那么一个小伙伴,一年多时间过去了,几乎没什么成长,遇到问题就往群里群里扔,或者直接私信发给我。我发现,如今问的问题和一年前问的问题真差很少,无非就是形式上发生了一些变化。

这说明什么呢?这名小伙伴没有学会独立思考,没有学会触类旁通。人最珍贵的财产其实不是钱,而是思考的能力,对吧?脑子是越用越灵活的,不用呢,就真的会生锈。

一旦你学会独立思考,那么你解决问题的能力真的是会提高一个很高的档次——从一名合格的程序员蜕变为一名优秀的程序员的关键节点。在我上大专的两年时间里,成长真的特别慢,由于遇到问题我就想着问同窗啊,问老师啊,结果是同窗和老师进步了,我仍是原来的我。

等到大三去实习后,一切就悄然改变了,领导忙得很,压根就没有工夫帮你解决一些鸡毛蒜皮的小问题。再者,真很差意思,不能把底裤漏给领导看啊,没办法,我就只能本身硬着头皮上。

硬上的次数多了,真的发现,原来本身不经过别人的帮助也可以把问题解决掉。渐渐地,随着时间的推移,我在团队里面开始显山露水了。

那怎么才能培养独立思考的能力呢?按照胡适先生所说的,就是质疑一切,而后提出假设,最后去求证。

你好比说,Java 程序员都知道 String 类是不可变的,那假如说它是可变的呢?会是什么样子,研究完你就会明白,原来一个不可变类是这样设计的啊,本身也能搞个不可变类了!

0四、最后

若是以为文章对你有点帮助,请微信搜索「 沉默王二 」第一时间阅读。本回答已收录 GitHub,传送门~ ,里面更有大厂面试完整考点,欢迎 Star。

我是沉默王二,一枚有颜值却靠才华苟且的程序员。关注便可提高学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,嘻嘻

相关文章
相关标签/搜索