什么样的代码才是好代码

转自:http://ms.csdn.net/geek/186524?winzoom=1css

衡量代码的好坏的指标或者维度有不少,好比性能好、架构好、高内聚等,这些指标的侧重点各不相同,不一样的开发人员的关注的重点也各不相同。我我的更喜欢简单的可读性高的代码,我主要从如下几个维度衡量代码是否良好:html

代码是可工做的 
代码是可读性高的 
代码是简单的 
代码是高内聚的 
代码是低耦合的 
代码是可工做的前端

写代码的目的是要为了解决特定问题的,所以不管如何,代码首先是可工做的,能解决特定的问题。可工做的包含有两层含义:一是从功能角度来讲能知足用户的需求,二是从性能角度来讲要知足当前基本的性能需求。因此可工做是衡量代码好坏的前置条件,只考虑代码自己不考虑可工做性是舍本取末。vue

代码是可读性高的html5

(想学习前端 js html5 div css3 nodejs bootstrap vue.js的朋友们加一下qq群4780527166一群已满这是二群点击连接加入群【前端技术交流群群】:https://jq.qq.com/?_wv=1027&k=45vs1z3 
咱们有免费的直播课程 视频等资料 )node

代码是开发人员来开发和维护的,并且在软件漫长的生命周期中,一般会由不一样的开发人员来维护的,若是代码的可读性不好,那未来的维护就将是一个噩梦。咱们写的代码是给开发人员看的,绝对不是给机器看的(编译后的代码是给机器看的,编译器会帮咱们去掉无心义的空行等),所以代码必须首先是可读性高的。css3

那什么是可读性高的代码呢?从coding style角度来讲,有意义的命名、添加必要的文档和注释、类和方法不要太长、每一行也不要太长、添加必要的空行以及必要的缩进等,具体能够参考《C++编程规范》和《重构 改善既有代码的设计》。另一方面就是从代码的结构来定义,例如代码是高内聚、低耦合的,代码是简单的,这三个方面下面会有详细描述。编程

代码是简单的bootstrap

咱们先来看一下什么是复杂的代码,好比说美其名曰为了代码的扩展性,使用了好多设计模式和软件开发原则,结果就是明明能够用很简单几行代码搞定的事情,结果用了几十行代码甚至更多,并且代码用了各类酷炫的技术,可是事实上大部分的扩展性可能一生也没有发生过,从敏捷开发角度来讲,这是很是典型的过分设计。敏捷开发不是不考虑设计,只是不推崇过分设计,好比考虑10年后系统的扩展性是没有任何意义的,另一种场景是只是作一个简单的后台管理系统,可是却花大量的精力考虑高并发也是没有意义的,过分设计的代码一般是复杂的。设计模式

因此在适度考虑代码的可扩展性的基础上,能不用设计模式就不要用设计模式,能不用新的、复杂的技术就不用新的、复杂的技术,技术够用就好,代码越简单越好,有人说代码太简单是否是有点low,其实写出高质量的简单代码远比写出复杂的代码难度高,尤为是系统比较复杂时,保持代码的简单性难度是很是大的。

因此说简单的代码就是:代码全部人都看得懂,尤为是新人,可是又具有必定的扩展性和维护性,简单的讲就是简约而不简单。复杂的代码首先对读代码的人要求就很高,最终致使代码很难维护。代码是简单的是代码可读性高的一个方面。

代码是高内聚的

内聚是从功能角度来度量模块内的联系,代码关联性比较强的代码应该放在内聚在一块儿,造成一个独立的功能模块,能够是一个独立的类,也能够是一个微服务。其实判断代码是否内聚一个比较简单的方法就是看你可否给代码或者服务给一个贴切的名字,若是代码功能不内聚,咱们是很难用一个简短的名字来表示它的含义的。

代码是低耦合的

耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及经过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时代表其独立性越差。

耦合比较高的代码危害比较大,最多见的表现就是改一个模块的代码会影响许多其它模块,最终必然致使你们不敢修改旧的代码,只能不停的添加新的接口,系统的可维护性很是差。

相关文章
相关标签/搜索