`

良好编程原理 /转载

 
阅读更多
The Principles of Good Programming

Artima最新文章
1.DRY(拧干代码不要有水分) 不要有重复代码,很多概念实际就是为此存在,比如loops function和classes等等,如果有重复,进行抽象。
http://en.wikipedia.org/wiki/Don%27t_repeat_yourself


2.抽象原理,和DRY有关,代码中没一个重要的功能块都应该拧干抽象一下。
http://en.wikipedia.org/wiki/Abstraction_principle_(programming)

3.KISS(Keep it simple, stupid!),简化避免复杂是关键目标,简单代码花费时间短(代码写得少,脑子动得不见得少),少代码有较少BUGs和更易于修改。(banq:耦合都很高的代码有时很简单,但不易于修改)
http://en.wikipedia.org/wiki/KISS_principle
4.避免创造YAGNI,不要增加你不需要的功能:
http://en.wikipedia.org/wiki/YAGNI

5.做最简单只要能工作的设计,始终问自己,这样简单设计能够工作吗?
http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html

6.不要让我思考,代码应该易于理解。
http://www.sensible.com/dmmt.html

7.开闭原则 软件实体如classes类 模块和functions应该开放易于扩展,但是不允许修改,不要写其他人能够修改的类,而是写出人们能够扩展的类(banq:可用面向对象的继承 实现等方法扩展多个子类)。
http://en.wikipedia.org/wiki/Open_Closed_Principle
8.写代码要值得将来维护。
http://c2.com/cgi/wiki?CodeForTheMaintainer
8.做最少令人惊讶的事,代码易于理解,名称等各方面不要让人产生惊讶的副作用。
http://en.wikipedia.org/wiki/Single_responsibility_principle
9.最少耦合,代码(代码块,函数,类,等等)的任何部分,应尽量减少对其他地区的代码的依赖关系。这是通过使用尽可能少的共享变量 。“低耦合往往是一个结构完善的计算机系统的标志和一个好的设计,高凝聚力相结合,实现更高的可读性和可维护性的总体目标
http://en.wikipedia.org/wiki/Coupling_(computer_programming)

10.最大化凝聚性:相同功能代码应该在同样一个组件中。
http://en.wikipedia.org/wiki/Cohesion_(computer_science)

11.隐藏实现细节,隐藏实现细节,将允许改变执行代码组件,而最低限度影响的任何其他使用该组件的模块(实现细节怎么做是战术,做什么是方向战略)
http://en.wikipedia.org/wiki/Information_Hiding

12.迪米特Demeter法则 ,代码组件只应该和他们的直接关系联系(直系血缘关系),如他们继承的父类,包含的对象和参数传递的对象http://en.wikipedia.org/wiki/Law_of_Demeter

13.避免过早优化,除非你的代码比你预期慢,否则不要提早优化,过早优化是罪恶根源
http://en.wikipedia.org/wiki/Program_optimization

14.代码能够重用是好的,重用代码提高代码的可靠性,缩短开发时间。
http://en.wikipedia.org/wiki/Code_reuse

15.分散关注:不同功能区域,应该由不同代码和最小重叠的模块组成。(AOP是分散关注典型模式)

16.拥抱变化,这是一本Kent Beck书籍副标题,也被认为是极限编程和敏捷方法在一般的宗旨。最大限度地减少耦合使代码更容易改变。无论你是一个极端编程的医生,这种方法对于编写代码是有道理的
分享到:
评论

相关推荐

    VC++6.0 数据库编程大全.rar

    通过学习《VC++6.0数据库编程大全》,读者不仅可以掌握数据库编程的基本原理,还能获得实际项目中的经验和技巧,包括如何设计数据库架构,如何处理大数据量,以及如何调试和优化数据库代码等。这本书籍对于希望深入...

    转载-Java语言入门教程

    通过这个教程,读者不仅可以学习到Java编程的基础,还能了解到计算机编程的基本原理,为进一步深入学习打下坚实的基础。由于Java的跨平台特性,学习Java也能为学习其他编程语言提供良好的起点。

    [转载]+[C#]+加强型音乐播放器+代码类

    在本项目中,我们关注的是一个使用C#编程语言实现的加强型音乐播放器。...通过深入研究和理解这个项目的源代码,开发者不仅可以掌握音乐播放器的实现原理,还能学习到如何在实际项目中运用这些技术。

    第十三届蓝桥杯嵌入式模拟题

    6. **软件工程**:代码管理、版本控制(如Git)、项目文档编写,以及良好的编程习惯。 7. **算法与数据结构**:尽管是嵌入式系统,但基础的算法和数据结构依然重要,如排序、搜索、图论等可能在解决问题时派上用场...

    Jsp + JavaBean循序渐进教程(转载)

    【JSP + JavaBean 循序渐进教程】 在Web开发中,JSP(JavaServer Pages)和JavaBean是两种非常关键的技术,它们共同构建...在实际开发中,养成良好的编程习惯,如充分利用JavaBean,将有助于提高代码质量和项目效率。

    易学C++(高清PDF)

    - **编程能力的重要性**:由于中学教育的差异,学生在进入大学之前可能缺乏编程基础,因此培养良好的编程能力尤为重要。 #### 三、本书编写背景与目的 - **作者背景**:本书作者从小就接触并自学了多种编程语言...

    自己制作电脑系统登陆界面的电脑窍门(转载出来一起共享)

    3. **编程语言与框架**:根据所操作系统的不同,可能需要学习不同的编程语言及其框架。例如,在Windows环境下,可以使用C#结合WPF框架来构建界面;而在Linux系统中,则可以通过GTK+或Qt等库来实现自定义登录界面。 ...

    Qt4实用教程

    最后,文件还声明了原创内容的版权以及转载的注意事项,明确了作者对本站转载内容不承担责任的态度,体现了对知识产权的尊重。文档修订记录部分详细记录了教程的更新情况,显示了作者持续更新教程的承诺和努力。 总...

    转载的经典滤波算法以及C语言的例子

    本文将详细介绍几种常用的滤波算法及其原理,并给出C语言实现的例子,帮助读者更好地理解和应用这些算法。 #### 二、滤波算法详解 ##### 1. 限幅滤波法(又称程序判断滤波法) **方法:** 基于经验值设定一个阈值...

    STM32的学习笔记 - 一步一步学ARM

    - 编写程序代码,遵循良好的编程规范。 - 使用调试工具定位并解决问题。 - **测试验证** - 进行单元测试与系统测试。 - 确保功能正确性与稳定性。 **酷学玩Summer板的独特设计** - **实用性设计** - 小巧...

    《易学C++》PDF

    - **多角度思考**:对于书中提出的各种概念和技术,不仅要了解其表面含义,还要尝试从不同角度理解其背后的逻辑和原理。 - **广泛涉猎**:除了本书之外,还可以参考其他C++的专业工具书和资源,以获得更全面的理解和...

    易学c++ pdf c++

    - 深入讲解面向对象编程的基本原理和实践技巧。 - 提供丰富的练习题和实例,帮助学生巩固所学知识。 #### 五、结语 总体来看,《易学C++》这本书旨在帮助初学者快速入门C++程序设计,并通过实践操作加深理解。...

    内涵图制作工具源码

    【标题】:“内涵图制作工具源码”是...通过分析和学习这个“内涵图制作工具源码”,开发者不仅可以提升C#编程技能,还能深入了解图像处理的原理和技术,同时体验到软件开发的完整过程,从需求分析到实现、测试和发布。

    易学C++电子版本(已解压.pdf文件)

    ### 易学C++电子版本知识点总结 #### 1. 版权声明与使用规定 ...它不仅涵盖了程序设计的基础理论,还提供了丰富的实践指导和案例分析,旨在帮助读者建立扎实的编程基础,为进一步的学习和发展打下良好的基石。

    二十三种设计模式【PDF版】

    整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.目标原则是:降低耦合,增强灵活性. 建筑和软件中模式之异同 CSDN 的透明特别推崇《建筑的永恒之道》,认为从中探寻到软件的永恒之道,并就"设计模式"写了专门...

Global site tag (gtag.js) - Google Analytics