编程原则

这个是转帖,也是本身想要表达的.程序员

编程原则

良好的编程原则与良好的设计工程原则密切相关。本文总结的这些设计原则,帮助开发者更有效率的编写代码,并帮助成为一名优秀的程序员。apache

1.避免重复原则(DRY – Don’t repeat yourself)

编程的最基本原则是避免重复。在程序代码中总会有不少结构体,如循环、函数、类等等。
一旦你重复某个语句或概念,就会很容易造成一个抽象体。
注意:
代码的“抽象”和它的“可读性”(直观性),实际上是一对矛盾的关系。适度的抽象和避免重复是有好处的,
它甚至能够提升代码的可读性,然而若是你尽“一切可能”从代码里提取模板,
甚至把一些微不足道的“共同点”也提出来进行“共享”,它就开始有害了

2.抽象原则(Abstraction Principle )

与DRY原则相关。要记住,程序代码中每个重要的功能,只能出如今源代码的一个位置。

 

3.简单原则(Keep It Simple and Stupid )

简单是软件设计的目标,简单的代码占用时间少,漏洞少,而且易于修改。

 

4.避免建立你不要的代码 Avoid Creating a YAGNI (You aren’t going to need it)

除非你须要它,不然别建立新功能。

 

5.尽量作可运行的最简单的事(Do the simplest thing that could possibly work)

尽量作可运行的最简单的事。在编程中,必定要保持简单原则。
做为一名程序员不断的反思“如何在工做中作到简化呢?”这将有助于在设计中保持简单的路径。

 

6.别让我思考(Don’t make me think )

这是Steve Krug一本书的标题,同时也和编程有关。所编写的代码必定要易于读易于理解,
这样别人才会欣赏,也可以给你提出合理化的建议。相反,如果繁杂难解的程序,其余人老是会避而远之的。

 

7.开闭原则(Open/Closed Principle)!!!!!!!!!!!!!!!!!!!

你所编写的软件实体(类、模块、函数等)最好是开源的,这样别人能够拓展开发。
不过,对于你的代码,得限定别人不得修改。换句话说,别人能够基于你的代码进行拓展编写,但却不能修改你的代码。

 

8.代码维护(Write Code for the Maintainer)

一个优秀的代码,应当使本人或是他人在未来都可以对它继续编写或维护。
代码维护时,或许本人会比较容易,但对他人却比较麻烦。
所以你写的代码要尽量保证他人可以容易维护。
用书中原话说“若是一个维护者再也不继续维护你的代码,极可能他就有想杀了你的冲动。”

 

9.最小惊讶原则(Principle of least astonishment)

最小惊讶原则一般是在用户界面方面引用,但一样适用于编写的代码。代码应该尽量减小让读者惊喜。
也就是说,你编写的代码只需按照项目的要求来编写。其余华丽的功能就没必要了,以避免弄巧成拙。

 

10.单一责任原则(Single Responsibility Principle)!!!!!!!!

某个代码的功能,应该保证只有单一的明确的执行任务。

 

11.低耦合原则(Minimize Coupling)

代码的任何一个部分应该减小对其余区域代码的依赖关系。尽可能不要使用共享参数。
低耦合每每是完美结构系统和优秀设计的标志。

 

12.最大限度凝聚原则(Maximize Cohesion)

类似的功能代码应尽可能放在一个部分。

 

13.隐藏实现细节(Hide Implementation Details)

隐藏实现细节原则,当其余功能部分发生变化时,可以尽量下降对其余组件的影响。

 

14.迪米特法则又叫做最少知识原则(Law of Demeter)!!!!!!!

该代码只和与其有直接关系的部分链接。(好比:该部分继承的类,包含的对象,参数传递的对象等)。

15.避免过早优化(Avoid Premature Optimization) 

除非你的代码运行的比你想像中的要慢,不然别去优化。假如你真的想优化,就必须先想好如何用数据证实,它的速度变快了。

“过早的优化是一切罪恶的根源”——Donald Knuth

 

 16.代码重用原则(Code Reuse is Good)

重用代码能提升代码的可读性,缩短开发时间。

 

17.关注点分离(Separation of Concerns) 

不一样领域的功能,应该由不一样的代码和最小重迭的模块组成。

 18.拥抱改变(Embrace Change)

这是Kent Beck一本书的标题,同时也被认为是极限编程和敏捷方法的宗旨。
许多其余原则都是基于这个概念的,即你应该积极面对变化。
事实上,一些较老的编程原则如最小化耦合原则都是为了使代码可以容易

相关文章
相关标签/搜索