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

2021-02-16    分类: 网站建设


规范的命名对于阅读程序是如此重要,本文开篇就不得不提到它。在阅读代码时,理解一个变量和函数都是从名字开始的。它是什么?它的职责是什么?这些问题从名字就应该看出来,如果名称需要注释来补充,那就不算是好名字。

例如:将变量名


修改为:


将函数名


修改为:


宁可名字取长一点,也不要起个模糊的名字。一个清楚的变量名还会带来可搜索的好处。即使在写二分算法时,也尽量别用"l"和"r"来指代左右边界,换成"left"和"right"会更好。

不过,变量名也并非越长越好,去除变量名中的冗余也是一个好习惯。Variable 一词永远不应当出现在变量名中,Table 一词永远不应当出现在表名中。 nameString 与 name 没区别,moneyAmount 与 money 没区别, customerInfo 与 customer 没区别, theMessage 也与 message 没区别。

命名风格应该保持统一,每个概念对应一个词。如果一堆代码中既有 Controller,又有 Manager,还有 Driver,Presenter,就会令人困惑:他们之间有什么区别?为什么不全用 Controller?如果同一概念可被多个词语描述,请确定其中一个名字,并在你的代码中一以贯之。

总之,取一个精准的名字是一名优秀程序员的基本功。从一开始学习编程时,每次取名都应仔细思考,切不可草草了事。




同样的代码,仅仅是加上空格与缩进就能看起来更美观。现代化的 IDE 都有代码格式化快捷键,在代码敲完后随时格式化,并去掉多余的空行,是一个让代码保持美观的好习惯。


斐波那契程序员:每天都在修复昨天和前天的 bug

你是否有过这样的经历:代码删了又写,写了又删。在敲代码之前,先问自己一个问题:我写下的这行代码是真的能用上的吗?会不会有逻辑漏洞?思考清楚业务流程之后再写代码,往往事半功倍。

以笔者亲身经历过的一个项目为例,项目已经做了一年, 除了三方库,代码量共有两万行,平均算下来,开发者一年来每天只需要写 55 行代码。这样看来,开发者的每一天都差不多是”很闲的“,然而开发者每天都忙得不得了,从早到晚都在码代码。这些代码量如果纯粹敲出来,最多十个小时就可以完成。我们应该用大部分的时间思考代码逻辑,不要花大量时间将代码删了又写,写了又删。磨刀不误砍柴工,事先做好全面的考虑,争取让写下的每一行代码都有价值。

程序员的时间分配

梳理代码逻辑是有一定方法的,例如:



  • 当你需要添加一个新功能,突然发现程序耦合严重,导致新功能不是那么好添加,那就先将程序重构到可以方便的添加新功能
  • 当你阅读代码时,发现程序可读性低,导致理解上的困难,显然代码还不够清晰,先将其重构到一眼能够看出结构。
  • 你找到一种更好的实现方式,千万不要因为现有的代码仍然可用就置之不理。尝试将你的想法实现出来。即使失败了,你也会更能理解为什么代码是现在这个样子。
  • PS:关于重构的更多知识可以阅读 Martin Fowler 所著的《重构改善既有代码的设计》,软件开发不朽的经典。


    年轻时,我曾在网上问一个命令行怎么写,有人教我 rm -rf / ...

    如果程序中用到数据库操作,一定要记得定时备份。数据库备份有诸多好处:可以防止数据丢失,可以在程序出错时方便数据回滚。而且它并不需要太多的成本,只需要写个脚本完成定时自动备份,并删除过老的备份数据即可。如果数据库没有做备份,而数据库又被误操作删除了的话,那就等同于


    同样,代码也需要及时备份,使用版本管理系统可以解决这个问题。用上 Git,随时 commit,丢失代码的情况几乎不可能发生。


    写一份完善的 README

    github 上有非常多的好项目,无一例外,他们都有一份完善的 README。 README 是程序的门面,有助于别人及时发现你写的好项目(不要奢望每个人都有闲情逸致来阅读你的源码)。况且 README 文档的好处不止于此,它还可以帮助自己梳理逻辑,理清思路。

    写好 README 之后,随着项目的演进及时更新它,不会花太多时间,但能让你随时都对项目有个整体的把握。绝对值得一试。

    分享文章:编程中有哪些好习惯一开始就值得坚持?
    链接URL:/news9/101209.html

    成都网站建设公司_创新互联,为您提供外贸网站建设虚拟主机服务器托管ChatGPT企业网站制作网站策划

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

    猜你还喜欢下面的内容

    h5响应式网站建设

    网站建设知识

    分类信息网站