对码农而言什么样的代码才能叫做好代码?

转载 2016年08月30日 15:53:54

好的代码,就像是好的笑话——无需解释就能让别人明白。如果你的代码能够做到不解自明,在大多数时候,你根本无需为其配备说明文档。

好的代码,就像是一辆配备了优秀音响和杯架的汽车,这辆车在行驶到最高速度的时候,你听不到噪音,也不用担心水会洒出来。在它出现故障的时候,任何一名修理工都可以使用最常见的工具,在最短的时间里轻松将其修好。

而坏的代码,就像是一辆向你承诺最高速度可以达到200MPH,但是音响只能播放老式的磁带,而且杯架还不稳的车。你在调整反光镜角度的时候,汽车都会突然出现故障,而且一般的修理工还修不了这辆车,必须要找专家,让专家在生产线上使用专业的工具来修理。

好代码像是一本写作技巧高超的人所写的书

1.容易理解

2.分章明确,每一章都有清晰的主旨

而坏的代码像是刚刚学会写字的人所写的书

1.各个章节之间纷乱复杂,每一章都没有明确的主旨

2.连篇累牍的重复一句话,而且毫无缘由

3.作者在一开始设定了一些规则,但是在后面的内容中却自己不断的违反这些规则

4.突然间书里出现了一个吸血鬼,而且还能在白天出来吸血。

要想写出好的代码,你一定要牢记以下内容

可读性——不只是你,还有你身边与你合作的其他开发者

可维护性——让你的代码在修改的时候很简单

简洁性——不要让你的代码看上去毫无必要的复杂

效率性——尽可能的让你的代码获得最快的运行速度

明确性——如果你的代码能够做到不解自明,在大多数时候,你根本无需为其配备说明文档。在为方法和属性命名的时候,做到尽可能的合理。把长的代码进行拆分。不要复制/粘贴代码块。

如果你的同事不能轻松的看懂你写的代码,那么你的代码就不够好。

代码质量测试

1.找一个从来没读过你的代码的开发者,让他看你的代码,并且让他试着说出每一个模块的作用。

2.如果你经常需要向他进行解释,那么说明你的代码不够好。解释的次数越多,代码的质量就越低。

3.如果你只是静静的坐在一边,他无需问你任何问题,那说明你的代码质量很高。

当你在写代码的时候,一些信号可以证明你写的代码质量不错:

  • 代码写的很聪明,但是又不会过分的聪明
  • 无论在速度上,还是可读性上,你都使用了最佳的算法
  • 类、变量和函数都得到了正确的命名,让人看一眼就能理解
  • 休息了一个周末之后,你继续写代码,发现自己可以立刻继续之前的工作
  • 那些需要重复使用的东西总是可用
  • 你所使用的方法都很短,最理想的情况下要少于50行,最多不超过100行而且能够完美的执行单个任务
  • 在调用方法的时候,你有着足够的信息,无需在代码堆中苦苦寻找
  • 能够很轻松的在此前的代码中进行功能添加和修改
  • try/catch块的体量尽可能的小
  • 毫不费力的就可以写出单元测试

好代码都是模块化的

假设你的项目中有三个不同的层——内层、中层和外层。你的内容不应该从中层和外层那里导入任何东西。中层不应该从外层导入任何东西 ,这样做的好处是,你可以对代码的内层进行独立测试。

“好的代码本身就是最好的说明文档。” — Steve McConnell

技术人生:故事之三十一 怎样当好技术经理

故事之三十一 我成了部门经理了 成为部门经理,是98年的时候,公司说,你可以管七个人,就成了部门了。从一个除了写方案就演讲的人转化为必须带领其他人一起工作,真的让我很艰苦。好在当我的总经理快对我失...
  • baiedu
  • baiedu
  • 2015年09月20日 19:59
  • 749

做好代码复用不简单

做好代码复用不简单 博客分类:  设计开发 代码复用设计开发软件质量重构 前面我们用了那么多示例讨论了代码复用。毫无疑问,几乎所有人都明白代码复用的重要意义,知道要写好代码必须...
  • ccecwg
  • ccecwg
  • 2014年07月07日 18:14
  • 365

CTO集体怒吼:我到底要不要继续写代码!(上)

CTO集体怒吼:我到底要不要继续写代码!(上) 以下是6位发疯的CTO,在一起讨论人生、命运、创业、工作时,发出的怒吼: 休息跟生活是一样的,基本上每天是工作到晚上12点。   我应聘去说...
  • xiaoguanmeizi
  • xiaoguanmeizi
  • 2015年06月30日 11:05
  • 1238

做好代码复用不简单

前面我们用了那么多示例讨论了代码复用。毫无疑问,几乎所有人都明白代码复用的重要意义,知道要写好代码必须要合理地复用代码。然而,曾经有一份真挚的感情放在你面前你却没有珍惜,那就是你应该复用代码了。等你失...
  • mooodo
  • mooodo
  • 2014年01月31日 20:37
  • 1034

接手别人的代码,死的心有吗?

如果你恨他,就让他去接手别人的代码
  • foruok
  • foruok
  • 2016年08月17日 07:06
  • 19964

不写代码怎么做好爬虫抓取?

现阶段,数据分析工作可以说是无处不在,不管你想做什么,从事什么行业的工作,数据分析都会是你工作的一部分,尤其是在网站运营上。很多新手站长在刚做网站的时候都很茫然,不知道应该先做什么,大部分人能想到的就...
  • quan3201
  • quan3201
  • 2017年10月24日 17:14
  • 4983

自上而下做好安全代码审查

安全的程序开发实践的一个关键方面就是安全代码审查。安全代码审查,与常规的代码审查一样,可以使用自动化工具完成,也可以要求开发者亲自参与到代码审查中人工完成。那么,安全代码审查与常规的代码审查有哪些差别...
  • lyt19880901
  • lyt19880901
  • 2013年12月03日 22:32
  • 646

做好代码复用不简单(1)

前面我们用了那么多示例讨论了代码复用。毫无疑问,几乎所有人都明白代码复用的重要意义,知道要写好代码必须要合理地复用代码。然而,曾经有一份真挚的感情放在你面前你却没有珍惜,那就是你应该复用代码了。等你失...
  • u013301846
  • u013301846
  • 2014年01月31日 22:22
  • 433

高效代码审查的十个经验

代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。   1. 代码审查要求团队...
  • chenyujing1234
  • chenyujing1234
  • 2013年02月08日 06:46
  • 2380

写代码前的准备,你做好了吗?

我们程序员很容易给别人一种深刻的误解:写代码的。包括我们自己有时候也会陷入这样的圈套之中。很多程序员在接到任务之后,就会马上想着如何用代码来实现,这是一种很不好的做法。其实,在我们写代码之前,还有很多...
  • szu030606
  • szu030606
  • 2014年08月01日 11:53
  • 537
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对码农而言什么样的代码才能叫做好代码?
举报原因:
原因补充:

(最多只允许输入30个字)