一、提高代码的重用性
代码的重用性可以通过两个方面的实现:函数级封装与对象级封装
1、函数级的封装
重用性不但体现在对对象的封装,对于重复性的业务无关的代码进行一层或多层的函数级封装,可以降低实现过程的复杂性。
进行函数级封装的特征:该过程具有简单的过程性,即只有一条线,无相关的分支或多个入口。
层次:即在编写函数时需要注重所写的函数的应用宽度,即有必要考虑先写通用功能函数,然后编写相关性功能函数,通用函数可能可以运用于其他方面的代码,而功能相关性函数,即私有函数则可以使当前的应用具有简单性,即保证了复用性,又保证了简单性。
2、对象级的封装
对象级封装能够做到更安全、更完整的封装,隐蔽不相关的处理分支,使上层调用只感觉到对象的原子特征。
对象级封装的特征:对象作用具有持久性、可能存在多入口或多出口、存在诸多关联特性、业务无关性等特征。
二、代码的一致性
内部一致性:在实现封装时,不管是函数级封装,还是对象级封装,都必须讲究一致的格调,比如说对单元格的调用时使用先行后列的入口参数,则不应该出现先列后行的入口参数的封装形式。
上下一致性:对于继续的私有级封装,更应该注意上下级之间的一致性,不应该让老虎生出一只猫来,那是应该杜绝的。同时又得保证父类的接口函义不被变更(特殊情况特殊考虑)。
三、代码的完整性
对象的封装必须提供完整的接口,在保证内部对象私有化的前提下,如何确保对内部对象的访问与操作,就必须提供完整的接口支持,对部份数据提供成对接口,如内部属性对象,提供Get与Set接口。
附加:提供完整的错误处理机制,由于这个方面并不是所有组件或对象都必须的,但在需要时只体现为更为重要。
四、接口的人性化
人性化主要体现有事务处理与参数调用等几个方面,做到内部可以实现就不要在外部实现,提供尽可能多的默认参数,也就是说从外部来看,对象是有生命的。如对象创建时需要分配一系列的内存,就不必要在创建对象时要求使用者额外地调用对象的某一接口;对象在销毁时需要释放内存等工作更应该由对象自身考虑(避免内存泄漏等更为严重的问题)
充分利用对象的多态性,使用调用者体会使用的简单性,如对一个打包对象,我们可以用一个接口实现对多种类型的数据进行打包,即在接口命名上不再体现打包数据的结构或特征等。
接口命名的人性化,在命名时要考虑其含义的简单性,调用者不需要关心的信息就不要表现出来,让用户只知道他所调用的只是一个对象,而并非是在调用多个对象。同时在接口应该体现接口的特征信息,从而使调用者有从接口命名中得到调用的体会。
五、把握封装的度
并不是封装都是好事,我们必须把握一个封装的限度,但最终可能会实现使用者所需要的相关组件,但实际封装过程可能是一个倒(金)三角模式,即从最原始的多个组件进行二次封装实现多个初级组件,依次后推,最终组件可能是由多个高级组件组成。即对每一个组件的封装应考虑尽可能的简单(复杂组件可能由多个逻辑概念上简单的组件所组成,除非对于性能要求非常高有组件可能需要考虑多种因素)。一般情况下由简单实现的模式的性能要高于直接用复杂实现的单一组件的性能要好。
有限性封装的另一个作用或好处:每一次的实现都属于简单的封装,逻辑也简单,不容易出现大问题,容易扩充与维护等。
六、性质的唯一性
封装不是大集会,尽量只体现相关方面的接口,其他需要的接口可以用其他组件里完成,再由现组件去调用,尽量避免一个接口多个用度,导致为了用一个方法而去创建一个大对象(舍本逐末)。
七、防止编码变相
目前的编码规范仍停留在变更命名及部份编码规则,但大量规范仍局限于程序员自己的编码习惯。
1、要求程序员尽量减少对全局的使用
全局变量的使用主要是因为容易使用程序在逻辑方面出现混乱,使程序形成一种网状结构,难于进行状态分析。即容易使程序无法进行问题分析与控制,程序可能失去安全性等危险。
对等情况,编写一个对象(组件),内部定义大量的成员变量,其实对于对象中的成员函数来说,他们就是全局变量,成员变量多了,同样可以使结构模糊,不易维护、控制、调试等。
2、要求程序员尽量减少或不使用GOTO语句
有相当一部份程序经常在对象之间进行数据传递,这里并不是通过某种机制进行的,而是开放对象的成员权限进行直接数据获得与设置。从而给内存泄漏提供了可乘之机,这与GOTO没有两样。
分享到:
相关推荐
在C#编程中,编写高质量的代码是每个开发者追求的目标。这份资料《改善C#的157个建议》提供了一系列实用的技巧和最佳实践,旨在帮助开发者提升代码的可读性、性能和维护性。以下是一些核心知识点的概述: 1. **命名...
### 编写高质量C语言...通过对本书的学习,读者不仅能掌握编写高质量代码的具体方法,还能深刻理解代码质量对于软件开发的重要性。无论是对于新手程序员还是有一定经验的开发者来说,这本书都是一本不可多得的好书。
《编写高质量代码 改善Java程序的151个建议》是一本专注于提升Java编程质量的专业书籍。书中详细列举了151条实用的建议,旨在帮助开发者编写出更高效、可读性更强且易于维护的Java代码。以下是对这些建议的详细解读...
C语言编写高质量代码,想学习规范C语言的可以看看。
《编写高质量代码:改善c#程序的157个建议》是c#程序员进阶修炼的必读之作,包含的全部都是c#编码的最佳实践,从语言本身、程序的设计和架构、编码规范和编程习惯等三大方面对c#程序员遇到的经典问题给出了经验性的...
### 编写高质量代码的关键实践 #### 一、引言 编写高质量的代码对于软件开发而言至关重要。高质量的代码不仅能提高软件的稳定性和可维护性,还能提升开发团队的工作效率和项目的整体质量。本文旨在探讨如何编写高...
### 编写高质量代码——Web前端开发修炼之道 #### 一、引言 《编写高质量代码——Web前端开发修炼之道》这本书聚焦于Web前端开发领域,深入探讨了如何编写易于维护且高质量的代码。随着互联网的发展,特别是从Web ...
《编写高质量代码:改善C#程序的150个建议》是一本专注于提升C#编程实践的书籍,旨在帮助开发者优化代码,提升软件项目的整体质量和可维护性。这本书的建议覆盖了从基本语法到高级设计模式,从代码组织到调试技巧的...
【敏捷开发中编写高质量Java代码】的实践策略 在敏捷开发模式下,代码质量的提升是项目成功的关键因素。为了确保Java项目的代码质量,我们可以遵循五个关键步骤: 1. **统一编码规范与代码样式** - 编码规范是...
这份名为"编写高质量代码--Web前端开发修炼之道"的PDF文档很可能是深入探讨这一主题的资源,涵盖了前端开发者如何通过最佳实践和技术来优化他们的工作。 在Web前端开发中,高质量的代码意味着代码具有良好的可读性...
《编写高质量代码--Web前端开发修炼之道》是一本专注于提升Web前端开发技能的专业书籍,它旨在帮助开发者构建出更高效、可维护性更强的代码。该书内容涵盖HTML、XHTML、CSS以及JavaScript和Ajax等多个关键领域,是...
《编写高质量代码:改善java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;...
《编写高质量代码:改善C++程序的150个建议》是李健编写的图书,该书是c++程序员进阶修炼的必读之作,包含的全部都是c++编码的最佳实践,从语法、编码规范和编程习惯、程序架构和设计思想等三大方面对c++程序和设计...
探讨编写高质量的HTML代码、CSS代码和JavaScript代码的方法、技巧、规范和最佳实践
内容全部由编写高质量的JavaScript代码的最佳实践组成,从基本语法、应用架构、工具框架、编码风格、编程思想等5大方面对Web前端工程师遇到的疑难问题给出了经验性的解决方案,为Web前端工程师如何编写更高质量的...
### 编写高质量代码——Web前端开发修炼之道 #### 一、引言 随着互联网的发展,Web前端开发已经成为了一个至关重要的领域。从最初的静态页面到现在的动态交互式应用,前端技术经历了翻天覆地的变化。《编写高质量...
其中,《编程精粹:编写高质量C语言代码》是针对C语言编程的一部经典之作,旨在帮助程序员提升C语言编程技巧,写出高效、可靠的代码。这本书不仅适合初学者,也对有经验的开发者具有很高的参考价值。 在C语言编程中...
编写高质量代码的步骤 很好的建议 推荐!
### 如何编写高质量Java代码 #### 一、引言 随着软件工程的发展,尤其是敏捷开发理念的普及,软件项目的质量成为衡量开发团队能力和产品成功的关键因素之一。在Java项目开发中,通过实施一系列最佳实践和技术手段...