代码规范的重要性

  一个规范的代码,通常能起到事半功倍的作用:

  一、规范的代码可以促进团队合作
一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异。且不说会存在多个人同时开发同一模块的情况,即使是分工十分明晰的,等到要整合代码的时候也有够头疼的了。大多数情况下,并非程序中有复杂的算法或是复杂的逻辑,而是去读别人的代码实在是一件痛苦的事情。统一的风格使得代码可读性大大提高了,人们看到任何一段代码都会觉得异常熟悉。显然的,规范的代码在团队的合作开发中是非常有益而且必要的。
  二、规范的代码可以减少bug处理
很多IT人士将程序员比做民工,这也的确非常的形象。就像刚才提到的,复杂的算法或逻辑只占项目中很小的比例,大多仅仅是垒代码的工作。可是越是简单,测试的bug反而是越多,而且是无穷无尽的bug。这里很大的程度上是由于代码不规范所致。
没有规范的对输入输出参数的规范,没有规范的异常处理,没有规范的日志处理等等,不但导致了我们总是出现类似空指针这样低级的bug而且还很难找到引起bug的原因。相反,在规范的开发中,bug不但可以有效减少,查找bug也变得轻而易举。
规范不是对开发的制约,而确实是有助于提高开发效率的。
  三、规范的代码可以降低维护成本
随着我们项目经验的累积,会越来越重视后期维护的成本。而开发过程中的代码质量直接影响着维护的成本。因此,我们不得不从开发时便小心翼翼。
在第一点中曾提到,规范的代码大大提高了程序的可读性,几乎所有的程序员都曾做过维护的工作,不用多说,可读性高的代码维护成本必然会大大降低。
但是,维护工作不仅仅是读懂原有代码,而是需要在原有代码基础上作出修改。我们可以先想像没有统一风格的情况下,A完成开发以后,B进行维护加一段代码,过一段时间C又加一段代码。。。。。。直到有一天X看到那一大堆乱码想死的心都有了,维护也就进行不下去了。因此,统一的风格有利于长期的维护。
另外,好的代码规范会对方法的度量、类的度量以及程序耦合性作出约束。这样不会出现需要修改一个上千行的方法或者去扩展一个没有接口的类的情况。规范的代码对程序的扩展性提高,无疑也是对维护人员的一个奖励。
  四、规范的代码有助于代码审查
我个人是比较赞同进行代码审查的,这样可以及时纠正一些错误,而且可以对开发人员的代码规范作出监督。团队的代码审查同时也是一个很好的学习机会,对成员的进步也是很有益的。但是,开发随意,加重的代码审查的工作量及难度,并且使得代码审查工作没有根据,浪费了大量的时间却收效甚微。
代码规范不仅使得开发统一,减少审查拿督,而且让代码审查有据可查,大大提高了审查效率和效果,同时代码审查也有助于代码规范的实施。一举多得,何乐而不为呢。
  五、养成代码规范的习惯,有助于程序员自身的成长
即使明白代码规范的好处,但是有的迫于项目压力,有的因为繁琐的规范作出很多额外的工作,更有的不重视维护的问题,而很难贯彻代码规范。
那么,我们需要了解,规范开发最大的受益人其实是自己!
你有没有花费很多的时候查找自己的代码呢?尤其是出现bug的时候需要逐行的debug?自己写的代码乱了头绪的确实也见了不少。我们应该做的就是规范开发,减少自己出现的错误。很多时候项目的压力一部分也是由于前期开发中遗留的众多的问题。
还有的人觉得自己可以完成高难度的算法,就认为自己能力很强,不把规范放在眼里。很多人确实是这样,追求个性,大概让别人看他的代码一头雾水更觉得得意。殊不知复杂的算法确实可以体现你个人的逻辑能力,但是绝不代表你的开发水平。我们知道一些开源项目,一些大师级人物写得程序都是极其规范的。并非规范了就代表高水平,实际上是规范的代码更有利于帮助你理解开发语言理解模式理解架构,能够帮助你快速提升开发水平。不明白这点,即使你写的再高明的算法,没准哪天也被当作乱码别处理掉。

时间: 2024-10-10 15:23:55

代码规范的重要性的相关文章

代码规范的重要性之-为什么谷歌要执行严格的代码编写规范

我们在谷歌所做事情中另外一个让我感到异常有效.有用的制度是严格的编码规范. 在到Google工作之前,我一直认为编码规范没有什么用处.我坚信这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率的东西. 我是大错特错了. 在谷歌,我可以查看任何的代码,进入所有谷歌的代码库,我有权查看它们.事实上,这种权限是很少人能拥有的.但是,让我感到惊讶的却是,如此多的编码规范-缩进,命名,文件结构,注释风格-这一切让我出乎意料的轻松的阅读任意一段代码,并轻易的看懂它们.这让我震惊-因为我以为这些规

从任正非公开信说起,谈代码规范的重要性!

最近的1月2号,任正非发布了题为<全面提升软件工程能力与实践,打造可信的高质量产品>致全体员工信,这也是今年华为总裁办签发的2019年001号文件.在信中,任正非强调了高质量软件产品的关键特性,呼吁各软件工程师理解架构的核心要素.重视代码质量.遵循业界共识的标准和规范,并计划用5年时间投入20亿美元全面提升华为软件质量. 任正非的公开信 在我的印象中,关于某某公司宣布重金投入一个领域.一个产品的新闻有很多,比如某度和某米的all in:但华为这次却很不一样,20亿美元的投入点居然单纯是冲着软件

代码规范、代码复审、PSP

作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作  一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存在多个人同时开发同一模块的情况,即使是分工十分明晰的,等到要整合代码的时候也有够头疼的了.大多数情况下,并非程序中有复杂的算法或是复杂的逻辑,而是去读别人的代码实在是一件痛苦的事情.统一的风格使得代码可读性大大提高了,人们看到任何一段代码都会觉得异常熟悉.显然的,规范的代码在团队的合作开发中是非常有

软件代码规范之理解

对于代码规范这个问题时时都会听到,我印象最深刻的就有一句话:“让战场比你来时更干净”.我觉得这句话概括得很好,告诉我们写代码的基本准则. 目前,绝大多数项目都不是一个人独立完成的,我们都会和队员合作开发,都会看别人的代码,同时伴随着吐槽,说别人写的很难读懂,或许此时此刻也有人在吐槽你的写得晦涩难懂.这样就降低了开发效率,这时我们就知道代码规范的重要性. 简明,易读,无歧义是代码风格的原则.每个公司应该都有自己的风格,比如在缩进.括号.行宽.命名.注释等方面都有一套自己的风格.团队成员都应该遵循这

黑马程序-oc基础---封装 继承 多态 NSString 代码规范格式的重要性

//写代码的一条重要性:就是代码编写规范,尤其是xcode编写对格式的对齐有关系,在下面的代码没有怎么对齐的情况下出现30个警告 //一般oc程序的头文件 #import <Foundation/Foundation.h> typedef enum { SexMan, SexWoman } Sex; //类的声明 @interface Student : NSObject { int _age; // int no; Sex _sex; } -(void)setAge:(int)newAge;

代码规范课堂作业

题目:查找list[]中的最大值:int Largest(int list[], int length); 思路:运用Largest函数对数组进行最大值运算,考虑数组为空和长度为0情况,给最大值赋值为数组第一个数在与数组中的每一个数比较大小较大就替换. 代码: #include <iostream>using namespace std; int Largest(int list[],int length){ int i,max=list[0]; if ( list == NULL || le

个人博客作业Week2 是否需要有代码规范

问题:是否需要有代码规范 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 2.我是个艺术家,手艺人,我有自己的规范和原则. 3.规范不能强求一律,应该允许很多例外. 4.我擅长制定编码规范,你们听我的就好了. 声明一下,老师所给的最后一篇文章的链接无法打开,因此就第一篇.第二篇文章以及自己所查到的资料来进行说明. 正文: 在谈如上四个问题之前,第一个需要搞明白的问题是何为代码规范.在第一篇文章中,作者

这篇文章不错——代码规范

该文章来自于阿里巴巴技术协会(ATA)精选文章. 个人经历 对我代码质量影响最大的是在一家外资企业,在这家公司我觉得有以下几个方面做的很不错. 团队编码风格统一 统一到什么程度? 不看代码作者,你很难区分代码是谁写的(在目前公司一些团队也能达到这个标准). 个人观点: 这样做有什么好处?团队中每个人阅读代码都很容易,减少很多沟通,维护成本( 代码阅读的次数远远大于变更的次数),并且心情非常愉悦.有人肯定觉得愉悦有点夸张,举个栗子: 有一些代码,如果不是由于与工作内容有关联,你是否有种这辈子都不情

JAVA技术开发规范(4)——JASMP平台的开发代码规范

4.关于代码规范 代码规范对程序员的重要性: 1.在软件开发生命周期中,有80%的时间是用在维护上 2.几乎所有的软件维护者都不是创使人 3.迭代式开发,必须要有清晰.可读性强的代码,以便于快速迭代 4.敏捷开发时,对应文档的输出不是减少,而是更加实用,因此,可交付的易读的代码更为重要了 5.协同协同,必需确保在编码时遵循统一的规范 编码规范是必需的,每个参与人必需严格遵循该规范进行编码. 4.1.命名规范 基本原则: 1.采用英文全称进行命名 2.保持各层级名称基本统一 3.命名英文单词用全称