`
lerry_ma
  • 浏览: 6086 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

形成一个良好的编程习惯与原则

 
阅读更多

The Principles of Good Programming
Artima最新文章,作者正在搞C#培训,总结以下几个原理:
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书籍副标题,也被认为是极限编程和敏捷方法在一般的宗旨。最大限度地减少耦合使代码更容易改变。无论你是一个极端编程的医生,这种方法对于编写代码是有道理的。

当软件开始复杂时,软件质量就非常重要。软件质量是软件架构的重要因素之一。软件质量是所有软件工程师在建立新系统或增加新功能时必须考虑的。,而遵循良好编程的原则是保证软件质量的重要途径之一。

摘录:程序员和软件工程师是有区别的,前者只要写出计算机能运行的代码即可,后者不但要计算机能运行,还要能让其他人懂。所以,很显然,软件工程师要比程序员高级,待遇肯定应该高,将“软件工程师”叫成“程序员”简直是侮辱。
让“程序员”见鬼去吧,那是一个已经过去的时代。

分享到:
评论

相关推荐

    良好的java编程习惯

    ### 良好的Java编程习惯:提升代码质量与可维护性 #### 1. 遵循KISS原则,保持代码简洁 优秀的Java程序应当遵循KISS(Keep It Simple, Stupid)原则,即保持代码的简单性和直接性。避免使用过于复杂或奇特的语法...

    .Net编程规范 便于程序员形成良好的变成习惯

    .Net编程规范旨在确保代码的一致性、可读性和可维护性,帮助程序员形成良好的编码习惯,从而提升团队协作效率,降低代码理解和修改的难度。本文将深入探讨C#编程规范的2.0版本,主要关注代码外观、命名约定、注释...

    关于编程规范的几个原则 .ppt

    5. **培养良好的编程习惯**:从一开始就关注代码风格,并不断审视和改进,可以逐渐形成良好的编程习惯。良好的习惯可以帮助我们在压力下也能编写出高质量的代码。 在提供的程序示例中,存在一些不良的编码风格和...

    林瑞博士C++高质量编程

    他提出了诸如命名规则、注释规范、代码结构等方面的指导原则,这些都是形成良好编程习惯的基础。 书中深入探讨了C++的核心特性,如面向对象编程(OOP)和模板元编程(Metaprogramming)。林瑞博士解释了如何有效地...

    华为编程开发规范与案例

    《华为编程开发规范与案例》是一本针对编程初学者和入门级开发人员的重要参考资料,它旨在引导开发者形成良好的编程习惯,提升代码质量和可维护性。华为作为全球知名的科技企业,其内部的编程规范和实践案例具有极高...

    c/c++语言编程修养、习惯

    在编程领域,尤其是针对C/C++这类低级语言而言,养成良好的编程习惯不仅能够提升代码的质量,还能增强团队合作的效率与成果。本文将围绕“C/C++语言编程修养与习惯”这一主题展开讨论,深入分析编程过程中需要注意的...

    华为编程规范.帮助大家形成好的编程规范

    本篇将深入探讨华为编程规范中的关键知识点,旨在帮助开发者养成良好的编程习惯。 1. **命名规范**:华为编程规范强调了命名的重要性,要求变量、函数、类等的命名应清晰、简洁且具有描述性。通常,变量名应采用小...

    编程风格 编程风格 编程风格

    编程风格是指编写程序时所遵循的一系列约定或规范,这些规范包括但不限于代码格式、命名习惯、注释风格等。良好的编程风格不仅有助于提高代码的可读性和可维护性,还能促进团队协作。在本指南中,我们将深入探讨...

    Java编程风格

    Java编程风格是编程界的一本经典著作,它深入探讨了如何编写出清晰、高效且易于维护...以上只是部分Java编程风格的知识点,实际的书籍中会有更详细的讲解和实例,帮助开发者形成良好的编程习惯,写出高质量的Java代码。

    软件编程资料(林锐)

    《软件编程资料(林锐)》是一份珍贵的资源,主要涵盖了编程领域的基本思想和规范,旨在引导开发者形成良好的编程习惯。这份资料由知名的IT专家林锐老师编写,他的著作通常深入浅出,深受广大程序员喜爱。其中包含的...

    华为编程规范---编程规范手册

    综上所述,《华为编程规范——编程规范手册》是C语言开发者的重要参考资料,它可以帮助开发者形成良好的编码习惯,提升代码质量,从而打造出更加稳定、高效和安全的软件产品。而压缩包中的"华为软件编程规范.doc...

    结构代码习惯PDF.rar

    《结构代码习惯PDF》这份资料,正如其名,是一份专注于培养良好编程习惯的指南,尤其针对C++语言。在编程领域,良好的习惯是提升效率、保证代码质量和可维护性的关键。下面,我们将深入探讨这份资料可能涵盖的一些...

    编程注意事项(化为编程守则)

    - 虽然未在描述中提及,但良好的编程习惯还包括添加清晰的注释,解释代码功能、目的和实现方式,便于他人理解和维护。 遵循这些编程守则,可以显著提升代码质量,减少潜在的错误,提高团队间的协作效率。对于...

    delphi面向对象编程思想PDF电子书

    在实践部分,作者刘艺可能会通过一系列的实例,展示如何在Delphi中实现面向对象的设计原则,如单一职责原则、开闭原则、里氏替换原则、依赖倒置原则等,帮助读者掌握良好的编程习惯和设计模式。同时,书中可能还涵盖...

    面向对象编程 规则

    除了命名规则,编程规则还涉及到语言的具体使用习惯、设计原则和良好的编程习惯。例如,方法的命名应该采用动词开头,类的命名应该采用名词开头。代码中应该避免魔法数(magic numbers)和硬编码(hard-coded),...

    高质量C语言编程思想

    该书共计10章,涵盖了从文件结构、程序版式、命名规则到表达式、语句、函数设计、内存管理等核心知识点,旨在培养程序员形成良好的编程习惯,提升软件质量。 ### 第1章 文件结构 这一章节详细介绍了文件结构的设计...

    面向初中生Python编程的教学设计与实践研究——基于项目式教学视角.zip

    通过以上步骤,初中生不仅能学习到Python编程的基本知识,还能培养解决问题的能力,形成良好的编程习惯,提高创新思维。这样的教学设计既符合教育的趣味性原则,又兼顾了知识的系统性和深度,有助于提升初中生的综合...

Global site tag (gtag.js) - Google Analytics