可维护性是指当需要修改程序的某个模块时,对其他模块的影响和修改的代价;可扩展性是指当需要为程序添加新的功能时,对其他模块的影响和添加的代价,可以从下面几个方面提高程序的可维护性和可扩展性

代码风格:

1.     命名规范

命名要能传递出变量或者方法的含义,少用缩写

私有成员以m开头,静态成员以s开头,常量用大写字母等

2.     代码排版

留出合理的空白空间来区分不同的代码块

同类的变量的声明要放在一组,不同类变量之间留出一行空白等

3.     关键注释

仅为关键的代码添加注释

代码的层次性:

对于一段业务逻辑,不要试图在一个方法或者一个类中去全部实现,而要将它分成几个子逻辑,然后让每个子逻辑做自己的事情;当代码的层次性出来以后,就可以做到单一职责了

面向拓展编程:

在写程序的过程中要时刻考虑到扩展

设计模式:

恰当地使用设计模式可以提高代码的可维护性和可扩展性

程序的可维护性和可扩展性相关推荐

  1. 程序的灵活性与可扩展性

    灵活性和可扩展性通常成对出现.程序的模型越是抽象,越要求灵活性和可扩展性.客户在需求描述的初始阶段往往对自己的业务模型并不熟悉.客户不是数学家和计算机专家,他们对自己的需求很难抽象出一个精确的模型来, ...

  2. 【java毕业设计】基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码)——酒水销售系统

    基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+SSH+jsp的酒水销售系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  3. 【毕业设计之微信小程序系列】基于APP的微信点餐小程序的设计与实现

    基于APP的微信点餐小程序的设计与实现 摘 要 本文介绍了一种基于APP的微信点餐小程序的设计与实现方法.该系统利用微信公众号作为用户入口,用户可以通过微信扫码进入点餐系统,选择菜品.下单.支付等操作 ...

  4. 从Java类库看设计模式

    //From http://www.uml.org.cn/j2ee/201010214.asp 很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关重要的.好的经验给我们以指 ...

  5. 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)

    设计模式 ( 十五 ) 观察者模式Observer(对象行为型) 1.概述 一些面向对象的编程方式,提供了一种构建对象间复杂网络互连的能力.当对象们连接在一起时,它们就可以相互提供服务和信息. 通常来 ...

  6. java实现多个接口_java允许实现多个接口

    java不允许多重继承,也就是说一个子类只能有一个父类,Son extends FatherA,FatherB 是错误的为了弥补这点不 足,java允许实现多个接口, 接口就是给出一些没有内容的方法, ...

  7. 艾伟_转载:.NET设计模式:观察者模式(Observer Pattern)

    概述 在软件构建过程中,我们需要为某些对象建立一种"通知依赖关系" --一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将 ...

  8. iOS9基础知识(OC)笔记

    1月16日 Objective  C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve  Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT  so ...

  9. java 接口与抽象类的区别

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

最新文章

  1. SQL操作语句中的注意点
  2. Centos 7.4 中http-2.4 的基本实现和 https 的实现
  3. C++通过hiredis连接到redis
  4. 个人博客源码_我的使用Sanic的个人博客源码开源了!
  5. Android绑定服务后出现空指针异常问题
  6. 微软公布 Visual Studio 2020 上半年路线图
  7. CF1228C. Primes and Multiplication(数学)
  8. 服创实战——小微企业跨组织人才管理系统
  9. 笔记——力学导论(下)
  10. python操作cad的模块_怎么把freecad当python模块来用
  11. 搭建机器人电控系统——PWM原理——舵机和TMOTOR电机
  12. 单点登录系统中如何共享cookie
  13. 学习笔记(05):【中国PHP教育大牛高洛峰】亲授php教程-PHP常量的介绍
  14. ZYNQ Linux 逻辑端(PL)中断demo
  15. 计算机网络:移动IP
  16. 201771010137 赵栋《面向对象程序设计(java)》第十一周学习总结
  17. python 文件夹拷贝
  18. 发卡小程序源码,自动发卡小程序
  19. DSP与DAC数字音频接口时钟分析
  20. 单线激光雷达与多线激光雷达

热门文章

  1. oracle函数怎么遍历二维数组,oracle存储过程之游标查询,一维和二维数组,循环,条件判断例子...
  2. Xmap的NullPointerException
  3. parameter server学习
  4. 新媒体内容运营的7个核心环节
  5. 利用RunLoop空闲时间执行预缓存任务
  6. python字符串转整数
  7. python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类
  8. HWSWP和BSWP
  9. POP3协议,SMPT协议,IAMP协议介绍:
  10. VS2019与fluter通过MethodChannel进行双向通信(原创)