程序的可维护性和可扩展性
可维护性是指当需要修改程序的某个模块时,对其他模块的影响和修改的代价;可扩展性是指当需要为程序添加新的功能时,对其他模块的影响和添加的代价,可以从下面几个方面提高程序的可维护性和可扩展性
代码风格:
1. 命名规范
命名要能传递出变量或者方法的含义,少用缩写
私有成员以m开头,静态成员以s开头,常量用大写字母等
2. 代码排版
留出合理的空白空间来区分不同的代码块
同类的变量的声明要放在一组,不同类变量之间留出一行空白等
3. 关键注释
仅为关键的代码添加注释
代码的层次性:
对于一段业务逻辑,不要试图在一个方法或者一个类中去全部实现,而要将它分成几个子逻辑,然后让每个子逻辑做自己的事情;当代码的层次性出来以后,就可以做到单一职责了
面向拓展编程:
在写程序的过程中要时刻考虑到扩展
设计模式:
恰当地使用设计模式可以提高代码的可维护性和可扩展性
程序的可维护性和可扩展性相关推荐
- 程序的灵活性与可扩展性
灵活性和可扩展性通常成对出现.程序的模型越是抽象,越要求灵活性和可扩展性.客户在需求描述的初始阶段往往对自己的业务模型并不熟悉.客户不是数学家和计算机专家,他们对自己的需求很难抽象出一个精确的模型来, ...
- 【java毕业设计】基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码)——酒水销售系统
基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+SSH+jsp的酒水销售系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...
- 【毕业设计之微信小程序系列】基于APP的微信点餐小程序的设计与实现
基于APP的微信点餐小程序的设计与实现 摘 要 本文介绍了一种基于APP的微信点餐小程序的设计与实现方法.该系统利用微信公众号作为用户入口,用户可以通过微信扫码进入点餐系统,选择菜品.下单.支付等操作 ...
- 从Java类库看设计模式
//From http://www.uml.org.cn/j2ee/201010214.asp 很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关重要的.好的经验给我们以指 ...
- 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
设计模式 ( 十五 ) 观察者模式Observer(对象行为型) 1.概述 一些面向对象的编程方式,提供了一种构建对象间复杂网络互连的能力.当对象们连接在一起时,它们就可以相互提供服务和信息. 通常来 ...
- java实现多个接口_java允许实现多个接口
java不允许多重继承,也就是说一个子类只能有一个父类,Son extends FatherA,FatherB 是错误的为了弥补这点不 足,java允许实现多个接口, 接口就是给出一些没有内容的方法, ...
- 艾伟_转载:.NET设计模式:观察者模式(Observer Pattern)
概述 在软件构建过程中,我们需要为某些对象建立一种"通知依赖关系" --一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将 ...
- iOS9基础知识(OC)笔记
1月16日 Objective C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT so ...
- java 接口与抽象类的区别
1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...
最新文章
- SQL操作语句中的注意点
- Centos 7.4 中http-2.4 的基本实现和 https 的实现
- C++通过hiredis连接到redis
- 个人博客源码_我的使用Sanic的个人博客源码开源了!
- Android绑定服务后出现空指针异常问题
- 微软公布 Visual Studio 2020 上半年路线图
- CF1228C. Primes and Multiplication(数学)
- 服创实战——小微企业跨组织人才管理系统
- 笔记——力学导论(下)
- python操作cad的模块_怎么把freecad当python模块来用
- 搭建机器人电控系统——PWM原理——舵机和TMOTOR电机
- 单点登录系统中如何共享cookie
- 学习笔记(05):【中国PHP教育大牛高洛峰】亲授php教程-PHP常量的介绍
- ZYNQ Linux 逻辑端(PL)中断demo
- 计算机网络:移动IP
- 201771010137 赵栋《面向对象程序设计(java)》第十一周学习总结
- python 文件夹拷贝
- 发卡小程序源码,自动发卡小程序
- DSP与DAC数字音频接口时钟分析
- 单线激光雷达与多线激光雷达
热门文章
- oracle函数怎么遍历二维数组,oracle存储过程之游标查询,一维和二维数组,循环,条件判断例子...
- Xmap的NullPointerException
- parameter server学习
- 新媒体内容运营的7个核心环节
- 利用RunLoop空闲时间执行预缓存任务
- python字符串转整数
- python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类
- HWSWP和BSWP
- POP3协议,SMPT协议,IAMP协议介绍:
- VS2019与fluter通过MethodChannel进行双向通信(原创)