以下原则方法不分先后,
高内聚低耦合原则:
内聚是指某个特定模块(程序,类型)都应完成一系列相关功能,描述了不同程序,类型中方法,方法中不同操作描述的逻辑之间的距离相近。
高内聚意味可维护性,可重新性,因为模块对外部的依赖少(功能的完备性)。如果两个模块之间的修改,互不影响这说明模块之间是高内聚的。
耦合是描述模块之间的依赖程度,如果一个模块的修改,都有影响另一个模块则,两模块之间是相互依赖耦合的。
耦合的高低往往能显示一位开发人员的经验水平,低水平的开发人员,开发一个极为简单的功能模块,都容易受来自四面八方的影响(尽管这些影响根本就与他要开发的模块毫发无关),这就是因为他还不明白低耦合。
模块化设计,
模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
模块化设计是开发的基石,刚入门的开发人员就应该能做到。
将复杂的问题简单化原则:
架构设计也应以此为目标,模块化设计也是此目的。
三条你必须知道的软件开发原则(3 Key Software Principles You Must Understand)[转]:
[引用]
原则1:不要重复自己(Don’t Repeat Yourself,DRY 原则);
这个原则非常重要,换言之,就是不要写重复的代码,为什么优秀的程序员既懒又笨。
原则2:尽量简单、一目了然(傻瓜/白痴化)(Keep it Simple Stupid,KISS 原则);
可以这样理解,将一个软件做得连白痴都明了,这就是用户体验的最高境界了,为什么优秀的程序员既懒又笨。
原则3:适可而止(You Ain’t Gonna Need It,YAGNI 原则);
只考虑和设计必须的功能,避免过度设计。只实现目前需要的功能,在以后您需要更多功能时,可以再进行添加。如无必要,勿增复杂性。
YAGNI 原则指的是只需要将应用程序必需的功能包含进来,而不要试图添加任何其他你认为可能需要的功能,不要画蛇添足,为什么优秀的程序员既懒又笨。
DavidHooker提出的7个软件开发原则第一原则:存在的理由(Pattern: TheReason)
一个系统存在的理由就是:为它的用户提供价值。你所有的决定都取决于这一点。在指定一个系统需求,在写下一段系统功能,在决定硬件平台和开发过程之前,问你自己一个问题,“这样做会为系统增加价值吗?“,如果答案是”yes”,做。如果是”No”,不做。这个原则是其他原则的原则。
“可行性和适应性”原则;
“可靠性和稳定性”原则;
“可扩展和易维护”原则。
Program to an interface, not an implementation
这是设计模式中最根本的哲学,注重接口,而不是实现,依赖接口,而不是实现。
“最少知识原则”(Principle of Least Knowledge)
“不要和陌生人说话”=低耦合。
知其然知其所以然
搞懂原理,这点对开发人员非常重要。
(以上大部分内容摘抄自Internet整理)