如何提高你代码质量

原创 2016年05月31日 15:10:51

人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的。有的人,写一个小逻辑,可能需要100行,而有的人,可能仅仅需要10行。代码永远会有Bug,在这方面没有最好只有更好。模块化与面向对象是实现高效无错代码的方法。高效无错代码需要思想与实践的不断反复。如何做到代码高效无错,提高代码质量的方法有哪些?又有哪些经验和技巧呢?

一、代码质量
 
软件是交付给用户,并由用户体验的产品;代码则是对软件正确且详细的描述,所以代码质量关系到软件产品的质量。虽然软件质量不等于代码质量,但是代码上的缺陷会严重的影响到软件产品的质量。因此,为提高代码质量的投入是值得的。
 
 
二、软件产品质量通常可以从以下六个方面去衡量
 
 
功能性,即软件是否满足了客户业务要求;
 
可用性,即衡量用户使用软件需要付出多大的努力;
 
可靠性,即软件是否能够一直处在一个稳定的状态上满足可用性;
 
高效性,即衡量软件正常运行需要耗费多少物理资源;
 
可维护性,即衡量对已经完成的软件进行调整需要多大的努力;
 
可移植性,即衡量软件是否能够方便地部署到不同的运行环境中;
 
 
三、提高代码质量的具体经验
 
 
1. 永远不要复制代码
 
不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事 在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。
 
2. 测试你完成的代码
 
你知道你的代码能做什么,而且试了一下,它确实好用,但你实际上需要充分的验证它。分析所有可能的边界情况,测试在所有可能的条件下它都能如期的工作。如果有参数,传递一些预期范围外的值。传递一个null值。如果可能,让同事看看你的代码,问他们能否弄坏它。单元测试是到达这种目的的常规方法。
 
3. 代码审查
 
提交你的代码之前,找个同事一起坐下来,向他解释你做了哪些修改。通常,这样做的过程中你就能发现代码中的错误,而不需要同事说一句话。这比自己审查自己的代码要有效的多得多。
 
4. 编写不言自明的代码
 
勿庸置疑,注释是编程中很重要的一部分,但能够不言自明的代码跟胜一筹,因为它能让你在看代码时就能理解它。函数名变量名要慎重选择,好的变量/方法名字放到语言语义环境中时,不懂编程的人都能看懂。
 
5. 不要使用纯数字
 
直接把数字嵌入代码中是一种恶习,因为无法说明它们是代表什么的。当有重复时更糟糕——相同的数字在代码的多个地方出现。如果只修改了一个,而忘记了其它的。这就导致bug。一定要用一个命名常量来代表你要表达的数字,即使它在代码里只出现一次。
 
6. 不要做手工劳动
 
当做一系列动作时,人类总是喜欢犯错误。如果你在做部署工作,并且不是一步能完成的,那你就是在做错事。尽量的让工作能自动化的完成,减少人为错误。当做工作量很大的任务时,这尤其重要。
 
 
7、不要试图死磕代码加快速度,找个更加有效的算法可能更加有效。
 
8、代码要先做对,在弄快。先使其可靠,再让其更快。先把代码弄干净,再让它变快
 
9、当发现一个函数具有以下特征时,需要考虑抽取函数
 
(1)、过长
 
(2)、嵌套层数过深。
 
(3)、自然分块,需要使用注释描述该程序块
 
(4)、判断条件过于复杂
 
(5)、函数的某些判断分支不断变化
 
(6)、参数过于复杂
 
(7)、逻辑重复
 
10、局部变量应当用途单一
 
11、程序员应当将整洁的代码风格作为一种习惯,时刻意识到整洁代码的重要性并不断地提高重构技巧
 
12、关于注释
 
(1)、如果能用短小函数描述,则使用子函数替代注释本身。
 
(2)、确保注释和代码表达的意图一致,否则就失去了注释的意义。
 
(3)、在重要的地方写注释,不要注释满天飞,简单的重复代码的功能是毫无意义的。要让每一处注释都有价值。不要过分注释。
 
 
13、关于何时重写代码
 
开发团队要预留20% 的时间用作保持对原有系统的重构。剩余的时间用作开发新功能。
 
只要有可能,所要重构的部分进行递增修改,让用户切身感受到产品的改进,哪怕将工作时间延长。

提高你的Java代码质量吧:小心switch带来的空值异常

一、分析  使用枚举定义常量时,会有伴有大量的switch语句判断,目的是为每个枚举解释其行为。  我们知道,目前的Java的switch语句只能判断byte、short、char、int类型...

提高PHP代码质量36计

1.不要使用相对路径 常常会看到:  require_once('../../lib/some_class.php');  该方法有很多缺点: 它首先查找指定的php包含路径, 然后查找当前目...

提高你的Java代码质量吧:使用valueof前必须进行校验

一、分析  每个枚举都是java.lang.Enum的子类,都可以访问Enum类提供的方法,比如hashCode、name、valueOf等,其中valueOf方法会把一个String类型的名称...

提高你的Java代码质量吧:用整数类型处理货币

一、分析  在计算机中,使用二进制表示数据,浮点数有可能是不准确的,它只能无限接近准确值,而不是完全精确。  如:0.4这个十进制小数,使用“乘2取整,顺序排列”法:  0.4*2=0.8  ...

提高你的Java代码质量吧:中文字符串排序的瑕疵

一、分析  在Java中一设计中文处理就会冒出很多问题来,其中排序也是一个让人头疼的课题。    我们知道Arrays工具类的默认排序是通过数组元素的compareTo方法来进行比较的,那我...

提高你的Java代码质量吧:注意@ Override不同版本的区别

一、分析  @Override注解用于方法的覆写上,它在编译期有效,也就是Java编译器在编译时会根据该注解检查是否真的是覆写,如果不是就报错,拒绝编译。  该注解很大程度解决我们的误写问...

提高你的Java代码质量吧:强烈建议使用UTF编码

一、分析  Java的乱码问题由来已久,有点开发经验的开发人员肯定遇到过乱码问题,有时从Web上接受乱码,有时是从数据库中读取乱码,有时是从外部接口中接收到的乱码。    先解释一下Java...

提高php代码质量 36计

阅读目录 1.不要使用相对路径2. 不要直接使用 require, include, include_once, required_once3. 为应用保留调试代码4. 使用可跨平台的函数执...

提高PHP代码质量36计

1.不要使用相对路径 常常会看到:  require_once('../../lib/some_class.php');  该方法有很多缺点: 它首先查找指定的php包含路径, 然...

[探讨]提高代码质量的方法有哪些?

人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的。有的人,写一个小逻辑,可能需要100行,而有的人,可能仅仅需要10行。代码永远会有Bug,在这方面没有最好只有更好。高效是程序员必须作到的事情...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何提高你代码质量
举报原因:
原因补充:

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