一些好的编程习惯

好习惯为何重要?

如果把编程比作一个游戏,一定是一个需要长期投入大量时间,精力的游戏。因为一个优秀的程序员不仅仅意味着掌握多项编程技术或技巧,更重要的是具备可以持续让自己的职业生涯受益的好习惯。

1. 身体的劳逸结合

身体是最重要的财产。保持良好的坐姿,半小时一次站立,走动或喝水。有条件的情况最好能每天进行有氧运动来保持良好的身体状态。

编程是一项脑力运动,但同样需要良好的身体作支撑。

2. 代码的简洁易读

不要过于追求代码设计模式的套用或是所谓的优雅,建议以结果为导向(result oriented)。不应该为了炫耀自己的代码多么优雅而写一些对于人类阅读不友好的骚操作。

代码的高可读性在CR,DEBUG和REFACTORING的时候非常重要。如果线上出现紧急故障,需要快速找出问题所在,可读性越高的代码将会在此过程中节省大量时间。

Keep it as simple, as consistent as possible!

3. 一段时间的持续专注

编程需要良好的专注力,每天可以尝试3-4小时的持续专注时间,在这段时间里不被周围环境打扰,工作可以变得非常高效。比如可以戴上降噪耳机或是告知周围的人让他们知道自己正进入一个专注的工作时间。

4. 跳出当下的舒适圈

就像我在16年的时候,当时每天在小型外包公司做着大量重复的工作:微信公众号网页开发,TP框架,CMS模板,前端的Jquery,数据库的CRUD,开发,生产环境的部署(当时也不知容器化为何物😓)。但那个状态对于当时的我来说也足够很轻松地应对每一天的工作,也大可不必学习新的技术(docker, cd/ci, 前端的spa相关)。但如果持续下去,我可能会丧失对新技术的兴趣,并且在未来1-2年内被完全淘汰(可能连小型外包公司都会嫌弃)。后来我主动跳出舒适圈,在持续的自学提升下找到了更好的工作机会。

5. 团队协作

开发是一个团队协作的过程,一个人独立完成所有工作并不是最高效的方式。在合适的时候与团队成员沟通或向他们请教可以很大程度提高效率,但注意:是在合适的时候。比如我遇到了一个问题,我通常应该在尝试过几种解决方式之后在去向同事请教,而不是直接把问题丢给同事。但也不能在遇到一个严重阻塞性问题的时候一直拖到任务将被delay的时候再提出来,应该把握好提出问题的时机。

6. 编程是"孤独"的

"孤独"是相对于其他职业而言的,因为每天需要对着电脑屏幕坐很长时间。作为程序员,我们应该适应这样的生活方式。

7. 具备快速学习的能力

通常来讲,技术的更迭速度是远快于我们的学习速度的。对于我们而言,能够用于学习的时间其实很有限(我们需要完成工作任务,照顾家庭,抽时间休息等等)。因此很多时候的学习其实是被动的:当一个需求/项目即将到来的时候,可能需要根据这个需求/项目中包含的技术栈去学习相应的自己尚未掌握的技能。这就需要我们具备高效的学习能力,掌握这种学习能力比学习某种技术/语言/框架更重要。

8. 更多关注项目的价值

技术(语言/框架等等)只是为需求服务的工具,再好的工具也需要合理的应用才能实现其价值。 举个🌰:不论用多少时间来学习了PHP或是Golang,在简历上通常也只是一句掌握PHP或是Golang。假如此时正在参加一场面试,掌握某种技术可能对面试官来讲只是大多候选人都应该具备的一个能力,但这可能并不够出众。而如果可以告诉面试官自己曾经通过某种技术在项目上的应用解决了某个难题或创造了多少额外收入,那么这个经历一定会是简历中的亮点。

Above Are Inspired By