大家好,我是小贺。
之前在知乎上回答了这个问题,最近有一些读者来咨询,说刚工作,有什么需要注意的编程好习惯。
那么小贺结合自己工作一年多的经(cai)验(keng),给大家分享下在编程中,有哪些好的习惯应该从一开始就坚持。
有一种斐波那契程序员:每天都在修复昨天和前天的 bug
相信很多开发的同学,都有过这样的经历:代码删了又写,写了又删。
在敲代码之前,其实可以先问自己一个问题:我写下的这行代码是真的能用上的吗?会不会有逻辑漏洞?
思考清楚业务流程之后再写代码,往往事半功倍。
磨刀不误砍柴工,我们应该用大部分的时间思考代码逻辑,事先做好全面的考虑,争取让写下的每一行代码都有价值。
梳理代码逻辑是有一定方法的,例如:
通过画图工具先将逻辑画出来,流程图、UML 图、时序图、思维导图都能对你有所帮助。
写接口之前先模拟出假数据,测试逻辑层没有问题之后再写接口,可以避免写出的接口不合适。
善于写伪代码,将程序需要实现的每个步骤先用抽象的伪代码写出来。具体实现时再将伪代码细化。
写代码之前先编写测试用例,将你期望的输入输出写在测试用例中。
这个问题其实是编程基本功了,相信大家都不用怀疑了。
例如:将变量名
修改为:
将函数名
修改为:
宁可名字取长一点,也不要起个模糊的名字。
不过,变量名也并非越长越好,去除变量名中的冗余也是一个好习惯。
命名风格应该保持统一,每个概念对应一个词。
总之,取一个精准的名字是一名优秀程序员的基本功。从一开始学习编程时,每次取名都应仔细思考,切不可草草了事。
感受一下两种格式的代码:
同样的代码,仅仅是加上空格与缩进就能看起来更美观。
现代化的 IDE 都有代码格式化快捷键,在代码敲完后随时格式化,并去掉多余的空行,是一个让代码保持美观的好习惯。
开发者应该保持爱折腾的习惯,不安于现状,才能做到与时俱进。
你突然灵光一现,找到一种更好的实现方式,那么就可以尝试去重构你的代码,重新优化,也许会有不一样的效果和提升。
PS:关于重构的更多知识可以阅读 Martin Fowler 所著的《重构改善既有代码的设计》,软件开发不朽的经典。
年轻时,我曾在网上问一个命令行怎么写,有人教我 rm -rf / ...
如果程序中用到数据库操作,一定要记得定时备份。
很多朋友的电脑里都保存了许多重要的文件,无论是工作上或者生活中这些文件,都对我们十分重要。
由于我们每天的资料、文件在电脑里都会进行一些更新,做好文件定时备份就显得很有必要了。
数据库备份有诸多好处:可以防止数据丢失,可以在程序出错时方便数据回滚。只需要写个脚本完成定时自动备份。
同样,代码也需要及时备份,因为你不能保证你的开发环境哪怕是线上环境百分百是稳定的。
使用版本管理工具:SVN 或 Git,随时 commit,丢失代码的情况几乎不可能发生。
小贺我之前有一次,下班前忘了提交代码到仓库,第二天上班,正好电脑出问题了,之前辛苦干的活都凭着记忆重新再来一遍????
GitHub 上有非常多的好项目,无一例外,他们都有一份完善的 README。
README 是程序的门面,有助于别人及时发现你写的好项目(不要奢望每个人都有闲情逸致来阅读你的源码)。
况且 README 文档的好处不止于此,它还可以帮助自己梳理逻辑,理清思路。
写好 README 之后,随着项目的演进也需要及时更新它,尤其是组内,有共享的需求文档,或者需要提供给上下游的同事,认真对待文档是一种工作态度。
先!去!看!官方!!文档!!!!
很多官方文档是英文的,硬着头皮也要看!看着看着就习惯了。
刚开始读英文文档会费时间和精力,但是等你回过头来再看,你会觉得这才是最恰当的选择。
1、对代码规范及编码有自我要求;
2、保持思考,向别人描述问题时尽量告诉自己再多思考一下,看能否找出更深层次的原因;
3、试着找别人要反馈,特别是那些水平比你高的人。
Reference:Alpinist Wang。