`
qicen
  • 浏览: 47384 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

如何编写高质量代码

阅读更多
    如何写出高质量的代码,这应该是每个程序员都在追求的,也是作为一个程序员的成就所在。什么样的代码才算得上是高质量的代码呢?答案很简单:高可读性、高稳定性、高扩展性。如果能写出这样的代码,那你就是一个优秀的程序员了。如何才能写出高质量的代码呢?接下来我将分享一些自己总结的经验。
    首先我把写代码分为两个阶段:初级阶段和高级阶段。初级阶段:有良好的编码风格、没有魔鬼数字、不存在大量重复代码等,代码易读结构良好,但是代码整体不是很优雅,缺乏完整的面向对象思想。高级阶段:代码符合java的基本设计原则,充满面向对象的思想,具有高扩展性。很多程序员都处在初级阶段或者略高,JDK、JUnit、Spring等的源码就处在高级阶段,阅读这些代码就是一种享受。
    那么如何编写高质量的代码呢?首先需要有一个良好的代码风格,适当的命名、空行、缩进、注释等,代码风格可以参见Sun的编码规范。然后要养成一些良好的编码习惯,避免复制粘贴、控制类和方法的长度、少用静态变量和静态方法、拒绝魔鬼数字。如果这些都能够做到的话,代码质量已经达到了一个较高的水平。如果想要代码质量进一步提高,让代码看上去更优雅、充满面向对象的思想,那就需要深入的了解java的基本设计原则并在这个基础上活用设计模式,切记不要乱用设计模式。当然这个说起来简单,真正要做到这一点还是很难的。这需要长时间的积累,多阅读一些优秀的开源代码,能从其中得到很大的启发。
下面简单的说一下我对java五大基本设计原则的理解:
 单一职责原则(SRP:Single Responsibility Principle),是指一个类只干他该干的事,通俗点的说就是少管闲事。在设计类、接口和方法的时候,都需要考虑是否满足了单一职责原则。这是最简单最基本的一条设计原则,也是在编码过程中最容易被忽视,最容易引起争议的。
 开闭原则(OCP:  Open-closed principle),是指对修改关闭,对扩展开放。这是一个高层次的设计总则,让整体代码架构具有高稳定性的同时,也能满足对不同需求的高扩展性。
 依赖倒置原则(DIP: Dependence Inversion Principle),是指依赖于抽象,而不依赖于具体,抽象不应当依赖于细节,细节应当依赖于抽象。简单的说就是,要针对接口编程,不针对实现编程。
 里氏替换原则 (LSP: Liskov Substitution Principle),是指子类可以替换它的父类。当你需要继承一个类之前,需要仔细的思考这两个类是Is-A还是Has-A的关系。不要仅仅是因为要复用某个类的一些方法而去继承这个类。在Java中,代码复用有两种形式:继承和组合。如果两个类之间确实是Is-A的关系,那么可以用继承,否则请用组合方式。组合优于继承。
 接口隔离原则(ISP: Interface Segregation Principle),是指使用多个专门的接口比使用单一的总接口要好。同一个实现提供宽、窄不同的接口,提供给不同的客户端使用。 个人觉得这和单一职责原则有点类似。
    在深入理解这五大设计原则的再去理解设计模式,你会发现每个设计模式的优缺点,在什么情况下用什么设计模式比较好。
    最后要说的一点是责任心和成就感。代码不是写完就完事了,要抱着一种把代码写好、稳定、易于后人维护的一种态度去写代码,需要持续的重构,让代码不断的改进。当你写出的代码能够稳定的运行,并具有高扩展性,让阅读代码的人感觉这是一种享受,这是作为一个程序员最大的成就感。
分享到:
评论

相关推荐

    编写高质量代码

    ### 编写高质量代码的关键实践 #### 一、引言 编写高质量的代码对于软件开发而言至关重要。高质量的代码不仅能提高软件的稳定性和可维护性,还能提升开发团队的工作效率和项目的整体质量。本文旨在探讨如何编写高...

    编写高质量代码 改善Java程序的151个建议 PDF高清完整版

    《编写高质量代码 改善Java程序的151个建议》是一本专注于提升Java编程质量的专业书籍。书中详细列举了151条实用的建议,旨在帮助开发者编写出更高效、可读性更强且易于维护的Java代码。以下是对这些建议的详细解读...

    编写高质量代码之C#、C++_nodrm.azw3

    《编写高质量代码:改善c#程序的157个建议》是c#程序员进阶修炼的必读之作,包含的全部都是c#编码的最佳实践,从语言本身、程序的设计和架构、编码规范和编程习惯等三大方面对c#程序员遇到的经典问题给出了经验性的...

    编写高质量代码.pdf

    C语言编写高质量代码,想学习规范C语言的可以看看。

    改善C#的157个建议编写高质量代码.zip

    在C#编程中,编写高质量的代码是每个开发者追求的目标。这份资料《改善C#的157个建议》提供了一系列实用的技巧和最佳实践,旨在帮助开发者提升代码的可读性、性能和维护性。以下是一些核心知识点的概述: 1. **命名...

    编写高质量代码:改善C#程序的150个建议完整版

    《编写高质量代码:改善C#程序的150个建议》是一本专注于提升C#编程实践的书籍,旨在帮助开发者优化代码,提升软件项目的整体质量和可维护性。这本书的建议覆盖了从基本语法到高级设计模式,从代码组织到调试技巧的...

    编写高质量代码--Web前端开发修炼之道(完整版).rar

    《编写高质量代码--Web前端开发修炼之道》是一本专注于提升Web前端开发技能的专业书籍,它旨在帮助开发者构建出更高效、可维护性更强的代码。该书内容涵盖HTML、XHTML、CSS以及JavaScript和Ajax等多个关键领域,是...

    编写高质量代码--Web前端开发修炼之道

    这份名为"编写高质量代码--Web前端开发修炼之道"的PDF文档很可能是深入探讨这一主题的资源,涵盖了前端开发者如何通过最佳实践和技术来优化他们的工作。 在Web前端开发中,高质量的代码意味着代码具有良好的可读性...

    秦小波-编写高质量代码:改善Java程序的151个建议(带索引书签目录高清扫描版).pdf

    《编写高质量代码:改善java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;...

    编写高质量代码 改善C++程序的150个建议

    《编写高质量代码:改善C++程序的150个建议》是李健编写的图书,该书是c++程序员进阶修炼的必读之作,包含的全部都是c++编码的最佳实践,从语法、编码规范和编程习惯、程序架构和设计思想等三大方面对c++程序和设计...

    html+js+css, 编写高质量代码-web前端开发修炼之道-源代码

    html+js+css, 编写高质量代码-web前端开发修炼之道-源代码 本书的核心内容是围绕Web 前端开发的三大技术要素——HTML、CSS 和JavaScript 来深入地 探讨编写高质量的HTML 代码、CSS 代码和JavaScript 代码的方法、...

    编写高质量代码(WEB 前端)

    ### 编写高质量代码——Web前端开发修炼之道 #### 一、引言 随着互联网的发展,Web前端开发已经成为了一个至关重要的领域。从最初的静态页面到现在的动态交互式应用,前端技术经历了翻天覆地的变化。《编写高质量...

    编写高质量代码-改善JavaScript程序的188个建议,完整扫描版

    《编写高质量代码:改善javascript程序的188个建议》是web前端工程师进阶修炼的必读之作,将为你通往“javascript技术殿堂”指点迷津!内容全部由编写高质量的javascript代码的最佳实践组成,从基本语法、应用架构、...

    改善C#的157个建议编写高质量代码_源代码合集

    改善C#的157个建议编写高质量代码_源代码合集,这些实例均采用4.0框架,请运行使用Release模式;部分TIP由于简单未给出源码;这157个建议的源码涉及到语言篇、集合和LINQ、泛型、委托和事件、资源管理和序列化、异常...

    编写高质量代码:改善C程序代码的125个建议

    马伟的《编写高质量代码(改善C程序代码的 125个建议)》是华章“编写高质量代码”系列的第7本,之前已经出版C++、C#、Java、Pvthon、 ObjectiVe-c、Javascript相关*作。在通往“C语 言技术殿堂”的路上,本书将为你...

    编写高质量代码之Java_nodrm.azw3

    《编写高质量代码:改善java程序的151个建议》内容简介:在通往“java技术殿堂”的路上,本书将为你指点迷津!内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大...

    编写高质量代码--Web前端开发修炼之道.pdf

    探讨编写高质量的HTML代码、CSS代码和JavaScript代码的方法、技巧、规范和最佳实践

    《编写高质量代码-改善JavaScript程序的188个建议》PDF

    内容全部由编写高质量的JavaScript代码的最佳实践组成,从基本语法、应用架构、工具框架、编码风格、编程思想等5大方面对Web前端工程师遇到的疑难问题给出了经验性的解决方案,为Web前端工程师如何编写更高质量的...

Global site tag (gtag.js) - Google Analytics