转:程序员都必须遵守的编程原则(仅供参考)

    好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员, 这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。

   不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环语句, 函数,类,等等)。一旦程序里开始有重复现象的出现(例如很长的表达式、一大堆的语句,但都是为了表达相同的概念),你就需要对代码进行一次新的提炼,抽 象。

    提炼原则 — 跟“不要自我重复原则”相关,这一原则是说“程序中任何一段具有功能性的代码在源代码文件中应该唯一的存在。”

    保持简单 — 简单化(避免复杂)永远都应该是你的头等目标。简单的程序让你写起来容易,产生的bug更少,更容易维护修改。

不要开发你目前用不到的功能 — 除非你真正需要用到它,否则不要轻易加上那些乱七八糟用不到的功能。

用最简单的方法让程序跑起来 — 在开发时有个非常好的问题你需要问问自己,“怎样才能最简单的让程序跑起来?”这能帮助我们在设计时让程序保持简单。

    不要让我动脑子 — 这实际上是Steve Krug 关于web界面操作的一本书的书名,但也适用于编程。主旨是,程序代码应该让人们花最小的努力就能读懂和理解。如果一段程序对于阅读者来说需要花费太多的努力才能理解,那它很可能需要进一步简化。

    开放/封闭原则 — 程序里的实体项(类,模块,函数等)应该对扩展行为开放,对修改行为关闭。换句话说,不要写允许别人修改的类,应该写能让人们扩展的类。

    为维护者写程序 — 任何值得你编写的程序在将来都是值得你去维护的,也许由你维护,也许由他人。在将来,当你不得不维护这些程序时,你对这些代码的记忆会基本上跟一个陌生人 一样,所以,你最好还是当成一直在给别人写程序。一个有助于你记住这个原则的办法是“写程序时时刻记着,这个将来要维护你写的程序的人是一个有严重暴力倾 向,并且知道你住在哪里的精神变态者”。

    最少意外原则 — 最少意外原则通常是使用在用户界面设计上,但这个原则同样适用于编写程序。程序代码应尽可能的不要让阅读者感到意外。也就是说应该遵循编码规范和常见习惯,按照公认的习惯方式进行组织和命名,不符常规的编程动作应该尽可能的避免。

    单一职责原则 — 一个代码组件(例如类或函数)应该只执行单一的预设的任务。

    最小化耦合关系 — 一个代码片段(代码块,函数,类等)应该最小化它对其它代码的依赖。这个目标通过尽可能少的使用共享变量来实现。“低耦合是一个计算机系统结构合理、设计优秀的标志,把它与高聚合特征联合起来,会对可读性和可维护性等重要目标的 实现具有重要的意义。”

    最大化内聚性 — 具有相似功能的代码应该放在同一个代码组件里。

    隐藏实现细节 — 隐藏实现细节能最小化你在修改程序组件时产生的对那些使用这个组件的其它程序模块的影响。

笛米特法则(Law of Demeter) — 程序组件应该只跟它的直系亲属有关系(例如继承类,内包含的对象,通过参数入口传入的对象等。)

    避免过早优化 — 只有当你的程序没有其它问题,只是比你预期的要慢时,你才能去考虑优化工作。只有当其它工作都做完后,你才能考虑优化问题,而且你只应该依据经验做法来优 化。“对于小幅度的性能改进都不该考虑,要优化就应该是97%的性能提升:过早优化是一切罪恶的根源”—Donald Knuth。

    代码复用 — 这不是非常核心的原则,但它跟其它原则一样非常有价值。代码复用能提高程序的可靠性,节省你的开发时间。

    职责分离 — 不同领域的功能应该由完全不同的代码模块来管理,尽量减少这样的模块之间的重叠。

    拥抱变化 — 这是Kent Beck的一本书的副标题,它也是极限编程和敏捷开发方法的基本信条之一。很多的其它原则都基于此观念:面对变化,欢迎变化。事实上,一些经典的软件工程 原则,例如最小化耦合,就是为了让程序更容易面对变化。不论你是否采用了极限编程方法,这个原则对你的程序开发都有重要意义


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《狂人c:程序员入门必备》是一本非常适合初学者的编程入门书籍。它以C语言作为学习的基础,包含了丰富的实例和编程练习,帮助读者逐步理解和掌握编程的基本概念和技巧。 首先,本书从C语言的基本语法开始介绍,逐步引导读者了解变量、数据类型、运算符等基本概念。同时,作者还通过生动有趣的例子和案例分析,让读者在实践理解编程思维和逻辑推理的过程。 其次,本书注重实践。每个章节都提供了大量的编程练习,读者可以通过动手实践来巩固所学内容。而且,书给出了详细的答案和解析,帮助读者理解每个练习的解题思路和方法。 此外,本书不仅仅只涉及基础知识,它还介绍了C语言在实际编程的应用。例如,文件操作、内存管理、函数指针等实用的技巧,帮助读者了解并掌握更高级的编程技能。 总的来说,本书通俗易懂,是一本很好的编程入门教材。它适合没有编程基础的初学者,但也适合有一定经验的读者。通过学习本书,读者可以掌握C语言的基本知识,提升编程能力,并为进一步学习其他编程语言打下坚实的基础。 ### 回答2: 《狂人C:程序员入门必备》是一本针对程序员入门的必读书籍。这本书的作者是狂人C,他是一位资深的软件工程师,具有丰富的编程经验。而这本书的目的是为初学者提供全面且易懂的编程指导。 首先,这本书对C语言进行了深入浅出的介绍。C语言是一种结构化、强大且广泛应用的编程语言,是众多编程领域的基础。通过学习C语言,读者能够掌握编程的基础知识,了解变量、循环、条件判断等基本概念和语法。此外,这本书还讲解了C语言的高级特性,如指针、数组、结构体等,使读者能够更深入地理解和应用C语言。 其次,这本书涵盖了一系列实际问题和案例。通过实例,读者可以学习如何解决编程的常见问题,如字符串处理、文件操作、算法设计等。这些案例基于真实的应用场景,帮助读者将理论知识与实践相结合,提升编程能力。 此外,这本书还介绍了一些常用的编程工具和技巧。它包括如何配置开发环境、使用调试器进行程序调试、编写高效的代码等。这些工具和技巧可以帮助读者提升编程效率和质量,让他们成为更出色的程序员。 总之,《狂人C:程序员入门必备》是一本全面且实用的编程入门指南。不仅适合初学者,也适合有一定编程基础的人进一步提升技能。这本书通过简洁明了的语言和丰富多样的实例,帮助读者从零开始掌握C语言编程,并具备解决实际问题的能力。无论是对于自学编程还是想进一步提升程序设计能力的人来说,这本书都是一本非常有价值的参考读物。 ### 回答3: 《狂人c:程序员入门必备》是一本适合初学者入门的编程教材。这本书以C语言为基础,详细介绍了程序设计的基本概念和编程技巧。 首先,该书以通俗易懂的语言解释了计算机语言、编译器、IDE等概念,帮助读者快速了解程序设计的基本原理和工作流程。它从C语言的基础语法开始,逐渐介绍了变量、数据类型、运算符、控制语句等基本知识,并通过大量的实例让读者理解和熟悉这些概念。 其次,该书重点强调了程序设计的实践和实践能力的培养。它提供了大量的编程实例和习题,让读者通过实际的编程练习来巩固所学知识。同时,它详细解析了这些编程实例的实现过程和原理,帮助读者学会分析问题、思考解决方案,并将其化为具体的代码。 此外,该书还介绍了常见的编程技巧和调试技巧,帮助读者提高代码的质量和效率。它涵盖了函数的使用、模块化编程、数组和指针的应用等内容,丰富了读者的编程技能。 总的来说,《狂人c:程序员入门必备》是一本很好的入门教材,不仅详细介绍了C语言的基础知识,还注重实践和技巧的培养。通过阅读这本书,读者可以逐步建立起编程思维和解决问题的能力,为日后的学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值