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

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

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

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

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

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

1.容易理解

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

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

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

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

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

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

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

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

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

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

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

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

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

代码质量测试

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

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

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

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

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

好代码都是模块化的

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

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

相关文章推荐

安个窝,进入码农的世界,一个月学习51单片机的结晶 按键液晶显示代码

/********按键控制液晶显示时钟*****/ #include #define uchar unsigned char #define uint unsigned int uch...

[转]某码农意外去世了,我接手了他的代码

某码农意外去世了,我接受了他的代码

码农必备技能:烂代码的处理之道

“曾经有一份烂代码摆在我的面前, 我没有珍惜, 我没有把她变的更好, 相反我把她变的更烂!” 现在你的领导又交代给你个新功能,要求三天完成。 你一看代码就发现, 这活真不是人干的, 它经过...
  • nylx
  • nylx
  • 2015年12月23日 19:52
  • 637

过节别加班!三招教你运维码农如何远离代码圈

作为一名码农或者一个运维人员,你是否有过这样的经历,全世界都在开开心心的和家人酌一杯清茶切一块月饼,共赏一轮明月,而你一个人在公司办公室喝着冷咖啡赏一盏吊灯, 这真是一个悲惨的故事。   IT码农...
  • Lyver
  • Lyver
  • 2015年09月21日 16:08
  • 472

你写代码的习惯,决定了你的未来——码农的悲哀

码农Coding Farmer(s):一个依靠写代码为生的群体,表现在:低收入,工作时间长。 也许有很多原因出现码农这种情况,我今天想说的是,编写代码的习惯,直接影响到你的工作,你的收入。好吧,...

码农不想码代码

码农不想码代码最近在看《软技能:代码之外的生存指南》,立即引用了其中一句作为小丫的博客宣言 “教育就是当一个人把在学校所学全部忘光之后剩下的东西。”细细想来,真是不能描述出学校所学为何,再细细想来,...

一位码农写给老婆的代码 (绝对值得观摩)

package a.small.test.Test; public class 给最爱的老婆  {      // 老婆是私有,全局唯一,不可更改继承的      private stati...

一位码农写给老婆的代码

public class 给最爱的老婆 {       // 老婆是私有,全局唯一,不可更改继承的  private static final class 老婆 {            // ...
  • Sun_P0
  • Sun_P0
  • 2016年07月01日 16:18
  • 414

码农的自我修养-对代码注释的理解

如何写好代码注释是一个老话题,可以说一千个程序员就有一千种不同的理解。下面是从我自己工作中所看到的,所听到的,结合自己编码的体会谈一下自己的想法。对代码注释的态度大致有三种误区: 注释很重要,每一行代...

小码农的代码(四)----------JAVA中Timer定时器与Spring定时任务

对于前几篇文章中总结的项目,中间使用到的各项技术都有描述,接下去就需要把项目整合发布了,由于该项目不需要前台展示所以当时直接采用了普通的Main工程。既然不是交给容器托管就需要自己启动线程使得项目能够...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对码农而言什么样的代码才能叫做好代码?
举报原因:
原因补充:

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