为了写好代码,你坚持了哪些好习惯?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为了写好代码,你坚持了哪些好习惯?相关的知识,希望对你有一定的参考价值。
我本人的本科专业就是软件工程,作为开发人员,一开始学习的时候就养成编码的好习惯真的可以省下很多时间成本,可以让写的代码更加容易理解、更加容易扩展,也可以具有更强的通用性。
那么我坚持了哪些好习惯呢?
多阅读优秀的代码
有空的时候多看看一些优秀的开源框架的代码,不要求研究透彻,只要能学习到其中的一些优秀的设计理念就可以了,可以通过打断点调试的方式去看源码。
多看看官方文档,它一定是最准确、最实时的资料。编写官方文档的人,也通常就是这些技术或者软件的开发者,他们是对这些东西最了解的人,所以编写的文档不仅质量非常高,通常内容也都是最新的。
规范命名
ITWorld 曾经发起过一个“程序员最头疼的事情”投票,结果,近半数的程序员认为命名是最头疼的事情。有些人在写代码的时候就放废了自我,使用一些只有自己能看得懂的名字,其他人一看就不懂了。
函数、变量、类名等的命名要有它自己的意义,要做到见名知意。不论是内部变量还是全局变量,都要形成自己的一种命名规则,能够一眼看明白变量的意思。良好的命名,则可以大大提高我们的代码易读性,也能大大增强代码的可维护性。
认真注释
和命名一样让程序员头疼的还有两件事:写注释头疼,别人不写注释读着头疼。写注释是为了让你下次再看到它的时候,能很快知道写的是什么,不写注释,即使是自己再次看到自己写的代码时可能都不知道写的是什么,那就更不要提别人看了你的代码之后是什么感受了。
在必要的地方写上注释说明,方便接手的人理解代码,也方便自己,但注释在于精而不在于多。
模块化编程
将代码模块化,提取出公共逻辑可以使代码的结构比较清晰,对于出现bug时,bug定位起来也比较方便。
在代码中嵌套是我们经常做的事情,虽然嵌套本身并没有什么问题,但有时会使代码更难读。
为了避免不必要的嵌套,我们可以使用 "Return Early "设计模式,它允许我们将if语句作为一个保护子句,在执行下一步的代码之前检查错误并返回。
编程的好习惯真的要从一开始就要养成,即使不是开源代码也要认真对待,在持续的练习过程中养成编程的好习惯。
当程序员是一个很让人敬佩的工作,人们想到程序员的时候,往往跟一些词挂钩:“秃头”,“掉发”,“睡不够”,“高收入”,很明显,程序员为了写好代码,真的要付出很大的努力,才能够获得相应的回报。
1.养成听课超级认真的习惯
我的朋友就是学计算机专业的一个学生,曾经有幸听他抱怨过,他的课程真的让他学到想吐的感觉。他说可能上一节课老师讲的内容你就已经忘了。他说在课堂上你翻开那本书崭新的页面,还有那些陌生的符号,让你感觉这些课本正在用凶狠的眼神望着你。而老师挥动着粉笔书写着一串又一串的代码,这些代码从你的眼中飘过,又仿佛无法进入你的头脑。
这就是一名计算机学生的课程,每一次听懂专业课,他都要费很大的功夫。跟别人说课后的一些习题不花上一个小时到两个小时根本无法完成,并且你还要一边翻看着代码书籍。所以怎能不付出努力,怎能不让自己学到头秃呢?
2.看各种网课拓展知识的习惯
在课堂上老师讲的只是自己想要学的一部分,其实更多的还是要靠自己去了解,去学习。我的朋友很多时间,我约他出去玩,他都没有时间,因为他要在看他的专业性相关的网课。这也就是他养成的一种特别好的习惯,会自己主动去看一些教授的网课。
可能你会想在大学里真的需要这么努力吗?其实这真的要看你所学的专业需不需要付出这么大的努力。就像我所学的专业就比较水,平时上课听一听就好。而我的同学却是需要认真的听网课,才能够弥补他在课堂上没有听懂的那些知识漏洞,因此他也就养成了听网课的好习惯。
3.学会做代码的笔记
你可能会惊讶,在大学了还会有人自己做笔记吗?那是当然的,学霸怎么能缺少笔记?我的朋友为了学好代码,已经有了两本厚厚的笔记了,而这两本笔记已经翻的都卷页了,这也能看出他到底有多么的努力。他和我说在课堂上他不仅要记下老师讲的重点,而且在听网课的时候,他也要记下老师讲的重点,因此他的笔记总是那么的丰富,加上一些自己在平时看的一些书籍上学到的代码知识。所以记笔记就养成了一种很好的习惯,在他的其他科目上,他也会将这种习惯应用上去。
——结语——
每一份工作外表的光鲜亮丽, 它的背后都需要付出很多努力。为了写好代码,要付出的代价也是很多的。这也是为什么能够写好代码的人受到很多人的关注,因为这是一项并不简单的工程。
写代码让我有了如下好习惯:
多看官方文档,可以锻炼你的自我学习总结能力
一个成熟的技术诞生,可以没有博客没有书籍,但一定会有一个官方文档,毋庸置疑,它一定是最准确、最实时的资料。编写官方文档的人,也通常就是这些技术或者软件的开发者,他们是对这些东西最了解的人,所以编写的文档不仅质量非常高,通常内容也都是最新的。
因此,官方文档远比网上的各种博客和论坛等更适合入门学习。当我们遇到很多问题和技术细节的时候,认真将官方文档过一遍,你会发现很多问题和认识模糊的地方都会清晰起来。
程序员都应该掌握通过官方文档去学习一个技术的能力,掌握了这项能力,你就具备了学会其他一切技术框架的基础;而且原汁原味的官方文档,还能锻炼你的自我学习总结能力。
和命名一样让程序员头疼的还有两件事:写注释头疼,别人不写注释读着头疼。之所以要写注释,是因为当你在写某个程序的时候,可能当下记得很清楚,这一段是什么机制、如何实现,但是当你写的程序越来越多,你会忘记当初为什么这样写。
改动和交接也十分麻烦,对代码进行注释就可以有效避免这种情况。注释不仅可以让人读懂代码,甚至能让读代码的人获取更多信息。不过,注释贵精不贵多。
多读多写代码,对代码的维护和扩展大有好处
提高编程能力其实没有捷径,最佳方式就是多写代码。不过,除了写大量代码,提升编程能力还需要大量阅读别人写的代码。
一来,阅读源码可以提高编程能力。学习都从模仿开始,不管是入门时阅读教程里的示例代码,还是进阶时阅读优秀项目源码,都是很好的学习方式。
二来,阅读源码可以提高 debug 能力。只有练习积累的阅读代码的能力,才能看懂代码,从而快速准确地定位代码中的问题。最后,阅读源码可以帮助形成良好的代码风格 。
“开发”不仅要写可以执行的代码,更是 要写别人读得懂的代码 ,这对代码的维护和扩展大有好处。
参考技术C写好代码,需要坚持刻苦、好的学习规划、查询论坛,吸取经验、注重实操,这些习惯有助于写出高质量的代码。
l 坚持刻苦:
总所周知,优秀程序员的形象认知就是秃头,这就意味着想写好代码,就要进行高强度的脑力劳动,更重要的是不断的坚持,而不是三天打鱼两天晒网。
l 好的学习规划:
大学的计算机知识是完完全全不够的,它只会教计算机的基本六本书,计算机组成原理、数据结构与算法、操作系统、编译原理、计算机网络、数据库相关。这些相对于工作来说是完完全全不够的,如果以后想从事相关行业的工作的话,最好有更进一步的学习,相对于我网络安全来说,可能还要接触Web渗透,日志审计等等,从事软件开发行业的话,可能就要在各种优秀的算法上花更多的功夫。这些最好自己要有明确的规划,尽早提上日程,打牢基础,好腾出时间进行更多的实战训练。
l 查询论坛,吸取经验:
当遇到不太明确的问题时,可以尝试去一些论坛,或开发交流平台咨询,对于新手,CSDN社区,有已知的算法可以让你的问题更加简便,对于软件开发,有GitHub,里面有优秀的开发源码可参考,还有项目可做,丰富实操经验,如果对网络攻防有兴趣,可以去玩一玩攻防世界,感受网络战的精彩,近来的俄乌战争不也是有激烈的网络战么,通过这平台,试着去感受下吧。
l 注重实操:
纸上得来终觉浅,绝知此事要躬行。过多的理论知识,如果不能呈现出来,也是没用的,况且真正的实操与理论是不一样的。所以要多尝试这去打比赛。
参考技术D为了写好代码,要坚持规范代码的书写格式
例如学习java语言,每个类名的首字母要大写,属性方法变量这些需要小写,若是多个单词排列在一起,则需要首个单词的首字母小写,之后每个单词的首字母大写,就是所谓的驼峰命名法。而像常量则需要每个字母大写。
每次写代码的时候都要严格规范自己,只有代码规范了,所写的内容才更清晰,在工作中别人才能更好地看懂你的代码。
为了写好代码,要坚持勤注释
网上经常有笑话说,代码写完当天只有自己认识,代码写完三天后只有天知道写了什么。这就是不给代码注释的结果。一个完整优秀的代码是绝对不能缺少注释的。为自己的代码添加注释不仅能增加自己的理解,同时在注释时更容易发现这个程序是否有语法问题。除此之外,也更便于以后回来查看。当一个程序需要回来维护,或者测试之后发现代码无法运行需要回来修改时,要是代码难以读懂,就要耗费许多时间,而添加注释之后便可以节省时间,其他人看你的代码帮你修改或是添加功能就更加容易。
为了写好代码,要避免过多代码冗余
初学者学习一个语言,最不能避免的就是if语句,写一个代码通篇下来都是if...else...嵌套,使得代码过于冗杂,而且难以理解,尽量训练自己避免代码过多使用嵌套,能用while或者switch...case的可以减少for或者if的过多嵌套循环,一个代码的实现不仅只有一种方法,多去思考不同的方法,多去打开自己的思路。
希望对你有帮助!
编程中,有哪些好的习惯从一开始就值得坚持?
大家好,我是小贺。
之前在知乎上回答了这个问题,最近有一些读者来咨询,说刚工作,有什么需要注意的编程好习惯。
那么小贺结合自己工作一年多的经(cai)验(keng),给大家分享下在编程中,有哪些好的习惯应该从一开始就坚持。
一、先想通逻辑,再写代码
有一种斐波那契程序员:每天都在修复昨天和前天的 bug
相信很多开发的同学,都有过这样的经历:代码删了又写,写了又删。
在敲代码之前,其实可以先问自己一个问题:我写下的这行代码是真的能用上的吗?会不会有逻辑漏洞?
思考清楚业务流程之后再写代码,往往事半功倍。
磨刀不误砍柴工,我们应该用大部分的时间思考代码逻辑,事先做好全面的考虑,争取让写下的每一行代码都有价值。
梳理代码逻辑是有一定方法的,例如:
通过画图工具先将逻辑画出来,流程图、UML 图、时序图、思维导图都能对你有所帮助。
写接口之前先模拟出假数据,测试逻辑层没有问题之后再写接口,可以避免写出的接口不合适。
善于写伪代码,将程序需要实现的每个步骤先用抽象的伪代码写出来。具体实现时再将伪代码细化。
写代码之前先编写测试用例,将你期望的输入输出写在测试用例中。
二、遇到 bug 多调试,多输出,多问几个为什么
这个问题其实是编程基本功了,相信大家都不用怀疑了。
三、给变量、函数取个好名字
规范的命名对于阅读程序是非常重要的,在阅读代码时,理解一个变量和函数都是从名字开始的。在写一行代码之前就需要考虑别人在看到这段代码的时候会思考什么?会遇到什么问题?如果需要注释来解释,其实就不是好的命名。
例如:将变量名
修改为:
将函数名
修改为:
宁可名字取长一点,也不要起个模糊的名字。
不过,变量名也并非越长越好,去除变量名中的冗余也是一个好习惯。
命名风格应该保持统一,每个概念对应一个词。
总之,取一个精准的名字是一名优秀程序员的基本功。从一开始学习编程时,每次取名都应仔细思考,切不可草草了事。
四、保持代码美观
感受一下两种格式的代码:
同样的代码,仅仅是加上空格与缩进就能看起来更美观。
现代化的 IDE 都有代码格式化快捷键,在代码敲完后随时格式化,并去掉多余的空行,是一个让代码保持美观的好习惯。
五、大胆重构
开发者应该保持爱折腾的习惯,不安于现状,才能做到与时俱进。
你突然灵光一现,找到一种更好的实现方式,那么就可以尝试去重构你的代码,重新优化,也许会有不一样的效果和提升。
PS:关于重构的更多知识可以阅读 Martin Fowler 所著的《重构改善既有代码的设计》,软件开发不朽的经典。
六、定时备份
年轻时,我曾在网上问一个命令行怎么写,有人教我 rm -rf / ...
如果程序中用到数据库操作,一定要记得定时备份。
很多朋友的电脑里都保存了许多重要的文件,无论是工作上或者生活中这些文件,都对我们十分重要。
由于我们每天的资料、文件在电脑里都会进行一些更新,做好文件定时备份就显得很有必要了。
数据库备份有诸多好处:可以防止数据丢失,可以在程序出错时方便数据回滚。只需要写个脚本完成定时自动备份。
同样,代码也需要及时备份,因为你不能保证你的开发环境哪怕是线上环境百分百是稳定的。
使用版本管理工具:SVN 或 Git,随时 commit,丢失代码的情况几乎不可能发生。
小贺我之前有一次,下班前忘了提交代码到仓库,第二天上班,正好电脑出问题了,之前辛苦干的活都凭着记忆重新再来一遍????
七、写一份完善的 README
GitHub 上有非常多的好项目,无一例外,他们都有一份完善的 README。
README 是程序的门面,有助于别人及时发现你写的好项目(不要奢望每个人都有闲情逸致来阅读你的源码)。
况且 README 文档的好处不止于此,它还可以帮助自己梳理逻辑,理清思路。
写好 README 之后,随着项目的演进也需要及时更新它,尤其是组内,有共享的需求文档,或者需要提供给上下游的同事,认真对待文档是一种工作态度。
八、遇到不清楚或不懂的知识点,先去看官方文档
先!去!看!官方!!文档!!!!
很多官方文档是英文的,硬着头皮也要看!看着看着就习惯了。
刚开始读英文文档会费时间和精力,但是等你回过头来再看,你会觉得这才是最恰当的选择。
九、勤于思考
1、对代码规范及编码有自我要求;
2、保持思考,向别人描述问题时尽量告诉自己再多思考一下,看能否找出更深层次的原因;
3、试着找别人要反馈,特别是那些水平比你高的人。
Reference:Alpinist Wang。
生活
昨晚的北京又刮妖风了,朋友圈的一张照片,不知道有没有砸到人,还好下班路上没砸到我,不然就不能继续给大家输出文章了,万幸万幸.....
推荐阅读
Google+BAT 大佬写的 Leetcode 刷题笔记,看完秒杀80%的算法题!
·················END·················
你好,我是 herongwei,一个喜欢发呆、做饭的程序猿小哥哥,热爱编程,热爱生活,热爱分享,在平凡的人生中追求一点不平凡,欢迎关注,一起加油,点击下方名片,了解更多。
以上是关于为了写好代码,你坚持了哪些好习惯?的主要内容,如果未能解决你的问题,请参考以下文章