博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈我对 可读_可扩展 等6个概念的理解
阅读量:5743 次
发布时间:2019-06-18

本文共 2268 字,大约阅读时间需要 7 分钟。

hot3.png

重声明:本文纯属Fans同学的个人见解,仅供参考,欢迎拍砖。
软林至尊,Fans同盟。号令天下,莫敢不从。

1.可读性

可读性指的是:人类读者对于源代码的功能意图、流程控制和操作运行是否容易把握。可读性之所以重要,在于程序员会把大部分时间,花费在阅读并试图理解和修改现存源代码上面,而不是编写新的源代码。

影响代码可读的因素包括但不限于:

不同的缩进风格(空白),注释,任务分解,命名约定——用于各种对象,诸如变量、类、子程序。

Fans以前为了提高程序设计能力,从网上下载了一些项目,比如中国象棋、五子棋等。绝大多数都太恶心了。

罪状至少有以下几条:

a.注释太少。一大段代码连个描述也没有。

b.代码结构混乱。if else太多搞的人受不了。

c.命名不规范。命名没有一个统一的形式,用词不够准确。

Fans的做法:

a.按照Sun公司制定的规范,结合主流开源框架的做法,尽量编写JavaDoc注释。

b.对每一个大点的项目,都写点文档。大致描述下项目的架构或者代码结构。必要的话,画点架构图或者流程图

c....

2.可维护

软件的可维护性是指理解、改正、改动、改进软件的难易程度。通常影响软件可维护性的因素有可理解性、可测试性和可修改性。

  1.可理解性

  可理解性是指维护人员理解软件的结构、借口、功能和内部过程的难易程度。

  2.可测试性

  可测试性是指测试和诊断软件错误的难易程度。

  3.可修改性

  可修改性是指修改软件的难易程度。

Fans:可维护的概念比较宽泛,包括了可读-可扩展等很多概念。

运维相关或者持续开发升级一款产品的人,理解可能更深一点。

Fans的做法:

把一款软件或者工具的使用方法写清楚,搞个使用手册或者帮助手册之类的。

3.可扩展

可扩展性是软件设计的原则之一,它以添加新功能或修改完善现有功能来考虑软件的未来成长。

Fans

应该学习一下设计模式;研究一下框架;请教有经验的大牛。

Fans的做法:

1.尽可能配置化。如果有必要,就将程序中的一些参数(比如数据库路径等),接口的实现类等放在配置文件中。

文本格式,xml格式,属性文件格式都可以吧。要因地制宜。

2.将代码中,重复的代码 写成一个函数,比如
  1. public abstract class StringUtils {
  2. // 封装了一个静态方法
  3. public static boolean isEmpty(String str) {
  4. return str == null || str.length() == 0;
  5. }
  6. }

将一个功能,比如检测一个字符串是否合法,可以写成一个工具函数,public static boolean checkSql(String sql) ,

也可以定义一个接口

3.可扩展的关键就在于考虑到变化

根据已有经验,把那些容易改变的东东 封装好,尽量减少其它代码或模块对它的依赖。

4.移植性

Fans:移植性的关键在于 减少对具体平台或软件的依赖,即不要把程序绑定到某一具体的事物上。

比如:a.写C/C++程序时,数据类型的定义不要和某种平台绑定了,据说要使用 size_t之类的,以前学过一点,现在忘了。o(︶︿︶)o

b.文件操纵,不同操作系统文件路径分隔符不一样,要使用 变量,不要硬编码

c.写访问数据库的程序时,使用标准SQL语句。万一,不同数据库的写法不一样呢?比如分页语句mysql是limit,oracle是rownum 。

5.兼容性

Fans:Windows程序,经常会有这方面的问题。有的软件只能在XP上运行,而不能在Win7上运行。

以前写程序的时候,经常弹出来一个对话框,缺少某个dll。非常恶心。

6.可复用性

Fans:可复用分为很多种,根据不同的分类标准,有如下分类

思想复用:设计模式,架构经验等。

代码复用

a.函数复用:比如上面字符串判断的那个例子,检验字符串是否合法,读取某个文件。

b.类复用:比如java.uti.ArrayList,直接继承或者组合,可以实现其它的数据结构。

c.模块复用:Apache POI组件,专门用来处理doc,excel等格式的文档,这样就可以使用Java操纵doc等很多格式的文档了。

d.系统复用:mysql-front等MySQL数据库管理程序。以前Fans也写了一个,只不过功能非常弱。

Fans:可读性,可扩展,可维护,移植性,兼容性 等很多概念,都和 复用性 有关。即存在 交集。

可复用是软件产业价值得以实现不可或缺的一部分,可复用是软件不同于硬件等实物的重要区别。

Fans的做法:

1. 认真学习和研究设计模式,拼命研究Struts2等开源框架。

2. 将自己写的工具类和开源框架等工具类 中有价值的,放在一起,经常参考。

比如文件操作相关的,非常常用,一次编写,处处使用。

3. 将自己已有的心得体会,已有的编程技能和技巧等东东 日志化

4. 写点需求文档、设计文档等。

------------------------------------------------------------------------------------------------------------------

本文写得比较浅显,也不够全面,但是比较具体,有些地方可以借鉴。(*^__^*)

转载于:https://my.oschina.net/jiutianniao/blog/400276

你可能感兴趣的文章
Visifire charts ToolBar
查看>>
Mysql查询
查看>>
数据传输流程和socket简单操作
查看>>
ProbS CF matlab源代码(二分系统)(原创作品,转载注明出处,谢谢!)
查看>>
OC中KVC的注意点
查看>>
JQ入门(至回调函数)
查看>>
【洛天依】几首歌的翻唱(无伴奏)
查看>>
OpenSSL初瞻及本系列的博文的缘由
查看>>
ISO8583接口的详细资料
查看>>
tmux不自动加载配置文件.tmux.conf
查看>>
[MOSEK] Stupid things when using mosek
查看>>
程序实例---栈的顺序实现和链式实现
查看>>
服务的使用
查看>>
Oracle 用户与模式
查看>>
MairDB 初始数据库与表 (二)
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>