可维护性

软件可复用性与可维护性

主宰稳场 提交于 2020-03-15 09:46:39
复用不仅仅是代码的复用,虽然代码复用确实是复用的一个初等形式。代码的剪贴复用、算法的复用、数据结构的复用都是传统的复用种类,它们都各有优点,也各有缺陷。传统的复用方案的一个致命缺陷就是复用常常是以破坏可维护性为代价的。 软件可维护性通常是因为1.过于僵硬,很难加入新功能 2.过于脆弱,修改代码时无法预测 3.复用率低,已有的模块很难用于新系统 4.粘度过高——采用破坏原始意图的框架方式比保存原始设计意图的方式简单。 1.复用的好处:较高的生产效率;较高的软件质量;恰当的使用复用可改善系统可维护性。 2.在面向对象的设计里面,可维护性复用是以设计原则和设计模式为基础的。 3.对可维护性的支持 来源: https://www.cnblogs.com/ymym/p/12495943.html

软件的可复用性和维护性

做~自己de王妃 提交于 2020-03-14 12:40:19
一、软件系统的可维护性   软件开发是一个比较快速的过程,一般只需要半年时间。但是系统的维护却是一个长期的过程,需要很多年。并且在一个软件项目的周期内,花费在维护上面的钱,是花费在原始开发上面的钱的两倍。     作为一个开发人员必须要认识到,软件的维护就是软件的再生。一个好的软件设计,必须能够允许新的设计要求以较为容易和平稳的方式加入到已有的系统中去,从而使这个系统能够不断的焕发青春。 一个可维护性较好的系统,应当允许维护工作能够以容易、准确、安全和经济的形式进行。    导致一个软件设计的可维护性较低,也就是说会随着性能要求的变化而“腐烂”的真正原因有四个:过于僵硬、过于脆弱、复用率低、黏度过高。   一个好的系统设计应该有如下的性质:可扩展性、灵活性、可插入性。这三条性质就是一个系统设计应当达到的目标。 二、软件系统的可复用性    1、复用的重要性    软件的复用的好处有:①较高的生产效率;②较高的软件质量;③恰当使用复用可以改善系统的可维护性。更重要的是,复用与系统的可维护性有直接的关系。    2、传统的复用    在传统的理解中,复用有一下几种方式:①代码的黏贴复用;②算法的复用;③数据结构的复用; 三、可维护性与复用的关系   传统的复用方案的一个致命缺陷就是复用常常是以破坏可维护性为代价的。比如两个模块A和B同事使用另一个模块C中的功能

代码的可维护性

╄→гoц情女王★ 提交于 2020-03-12 03:52:34
避免使用全局量 包括变量和函数,最好对齐进行封装; 避免与null进行比较 如果看到了与null比较的代码,尝试使用以下技术替换 function sortArry ( values ) { if ( values != null ) { //不推荐 values . sort ( ) } } function sortArry ( values ) { if ( values instanceof Array ) { //推荐 values . sort ( ) } } a、如果值应为一个引用类型,使用 instanceof 操作符检查其构造函数; b、如果值应为一个基本类型,使用 typeof 检查其类型; c、如果是希望对象包含某个特定的方法名,则使用 typeof 操作符确保指定名字的方法存在于对象上 使用常量 将固定不变的值封装成常量 var constants = { INVALID_MSG : "SUCCESS!" , INVALID_URL : "/detail/info" } 来源: CSDN 作者: 小宇宙chris_310 链接: https://blog.csdn.net/qq_38796823/article/details/104805670

软件测试英语词汇

萝らか妹 提交于 2020-03-03 02:49:34
软件测试英语专业词汇 NLV:Nation Language Version 本地化版本 FVT:Functional Verification Testing 功能验证测试 TVT:Translation Verification Testing 翻译验证测试 SVT:System Verification Testing 系统验证测试 fault--故障 在软件中一个错误的表现。 feasible path--可达路径 可以通过一组输入值和条件执行到的一条路径。 feature testing--特性测试 参考功能测试(Functional Testing) FMEA--失效模型效果分析(Failure Modes and Effects Analysis) 可靠性分析中的一种方法,用于在基本组件级别上确认对系统性能有重大影响的失效 FMECA--失效模型效果关键性分析(Failure Modes and Effects Criticality Analysis) FMEA的一个扩展,它分析了失效结果的严重性。 FTA--故障树分析(Fault Tree Analysis) 引起一个不需要事件产生的条件和因素的确认和分析,通常是严重影响系统性能、经济性、安全性或其它需要特性。 functional decomposition--功能分解 参考模块分解(modular

数字图像处理工具箱问题记录

最后都变了- 提交于 2020-01-30 03:50:22
最近新增几个功能的时候意识到了一个很大的问题,就是功能与功能之间耦合性太大,牵一发而动全身,修改起来很麻烦,而且非常不方便。 之前都是工厂模式,按步骤写代码,流水线一样,导致代码可维护性比较差,这个时候面向对象编程的好处就体现出来了,把每个步骤都隔离开来,修改的时候只需要更改那一部分,不会像我现在这样牵一发而动全身。 下一步准备修改代码布局,把整个程序的写法换了。不过又是个大工程,先把网易的作业做完再搞这个优化了,实在不行现在这个版本也可以用。 来源: CSDN 作者: Markfound 链接: https://blog.csdn.net/weixin_37622537/article/details/104105860

设计模式之美学习(一):设计模式对编程工作者是很重要的,它的作用不言而喻。

删除回忆录丶 提交于 2019-12-06 03:26:01
继数据结构与算法之美后,王争老师的专栏又开始更新了,这次是《设计模式之美》,希望学习之后会对自己有所提升。在此记录下自己的学习笔记,希望对自己或者看到的读者都有所裨益。 为什么每个程序员都要尽早地学习并掌握设计模式相关知识? 1. 应对面试中的设计模式相关问题 学习设计模式和算法一样,最功利、最直接的目的,可能就是应对面试了。 不管你是前端工程师、后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类问题。特别是一些像 BAT 、 TMD 这样的大公司,比较重视候选人的基本功,经常会拿算法、设计模式之类的问题来考察候选人。 2. 告别写被人吐槽的烂代码 我们经常说, Talk is cheap,show me the code 。实际上,代码能力是一个程序员最基础的能力,是基本功,是展示一个程序员基础素养的最直接的衡量标准。你写的代码,实际上就是你名片。 3. 提高复杂代码的设计和开发能力 大部分工程师比较熟悉的都是编程语言、工具、框架这些东西,因为每天的工作就是在框架里根据业务需求,填充代码。实际上,这样的工作并不需要你具备很强的代码设计能力,只要单纯地能理解业务,翻译成代码就可以了。 但是,有一天, leader 让开发一个跟业务无关的比较通用的功能模块,面对这样稍微复杂的代码设计和开发,就发现会有点力不从心,不知从何下手了。因为只是完成功能、代码能用

如何才能做一个合格的前端开发者呢?

梦想与她 提交于 2019-12-04 21:44:54
如何才能做一个合格的前端开发者呢? 第一,必须掌握基本的Web前端开发技术,其中包括:CSS、HTML、SEO、DOM、BOM、Ajax、Java等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug。 第二,在一名合格的前端工程师的知识结构中,网站性能优化、SEO和服务器端的基础知识也是必须掌握的。 第三,必须学会运用各种工具进行辅助开发。 第四,除了要掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持,等等。 来源: CSDN 作者: 前端碎碎念 链接: https://blog.csdn.net/zhongqw_00/article/details/88929162

设计模式之美学习(一):设计模式对编程工作者是很重要的,它的作用不言而喻。

强颜欢笑 提交于 2019-12-01 02:40:19
继数据结构与算法之美后,王争老师的专栏又开始更新了,这次是《设计模式之美》,希望学习之后会对自己有所提升。在此记录下自己的学习笔记,希望对自己或者看到的读者都有所裨益。 为什么每个程序员都要尽早地学习并掌握设计模式相关知识? 1. 应对面试中的设计模式相关问题 学习设计模式和算法一样,最功利、最直接的目的,可能就是应对面试了。 不管你是前端工程师、后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类问题。特别是一些像 BAT 、 TMD 这样的大公司,比较重视候选人的基本功,经常会拿算法、设计模式之类的问题来考察候选人。 2. 告别写被人吐槽的烂代码 我们经常说, Talk is cheap,show me the code 。实际上,代码能力是一个程序员最基础的能力,是基本功,是展示一个程序员基础素养的最直接的衡量标准。你写的代码,实际上就是你名片。 3. 提高复杂代码的设计和开发能力 大部分工程师比较熟悉的都是编程语言、工具、框架这些东西,因为每天的工作就是在框架里根据业务需求,填充代码。实际上,这样的工作并不需要你具备很强的代码设计能力,只要单纯地能理解业务,翻译成代码就可以了。 但是,有一天, leader 让开发一个跟业务无关的比较通用的功能模块,面对这样稍微复杂的代码设计和开发,就发现会有点力不从心,不知从何下手了。因为只是完成功能、代码能用

设计模式之美学习(一):设计模式对编程工作者是很重要的,它的作用不言而喻。

十年热恋 提交于 2019-12-01 02:34:39
继数据结构与算法之美后,王争老师的专栏又开始更新了,这次是《设计模式之美》,希望学习之后会对自己有所提升。在此记录下自己的学习笔记,希望对自己或者看到的读者都有所裨益。 为什么每个程序员都要尽早地学习并掌握设计模式相关知识? 1. 应对面试中的设计模式相关问题 学习设计模式和算法一样,最功利、最直接的目的,可能就是应对面试了。 不管你是前端工程师、后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类问题。特别是一些像 BAT 、 TMD 这样的大公司,比较重视候选人的基本功,经常会拿算法、设计模式之类的问题来考察候选人。 2. 告别写被人吐槽的烂代码 我们经常说, Talk is cheap,show me the code 。实际上,代码能力是一个程序员最基础的能力,是基本功,是展示一个程序员基础素养的最直接的衡量标准。你写的代码,实际上就是你名片。 3. 提高复杂代码的设计和开发能力 大部分工程师比较熟悉的都是编程语言、工具、框架这些东西,因为每天的工作就是在框架里根据业务需求,填充代码。实际上,这样的工作并不需要你具备很强的代码设计能力,只要单纯地能理解业务,翻译成代码就可以了。 但是,有一天, leader 让开发一个跟业务无关的比较通用的功能模块,面对这样稍微复杂的代码设计和开发,就发现会有点力不从心,不知从何下手了。因为只是完成功能、代码能用

博客

元气小坏坏 提交于 2019-11-30 22:30:00
企业领导高层重视 企业业务人员积极性 企业要有科学管理基础 资金保证 严格的组织和管理,用户和每个成员同理合作。 结构化方法,面向对象方法,原型方法。 企业系统规划(BSP)遵循的原则 支持企业总目标 面向企业中管理各层次的要求 从方法论上摆脱旧组织机构的依从性 使信息系统在结构上有良好的整体性 自上而下的规划和自下而上实施相结合 业务流程 是指一组共同为顾客创造价值,而又相互关联的活动,业务流程的特点有目标性、逻辑性、层次性。 BSP方法中的企业资源 计划与管理 产品与产品(主要资源) 支持性资源 结构化系统开发的主要阶段 总体规划 系统分析 系统设计 系统实施 运行维护 系统评价 编码设计应该遵循的原则 唯一化 规范化 标准化 可扩展 易修改 系统的可维护性以及评价指标 可维护性是指:维护人员理解、改正、改动和改进软件的难易程度。可维护性的评价指标有可理解性、可测试性、和可修改性。 程序质量的评价指标 可靠性、可读性、适应性、可维护性 信息系统的可行性分析包括 经济、技术、管理、环境 BSP定义企业过程 定义企业过程的基本方法是对企业的现实活动就行调查,以企业的关键资源为线索,追踪其生命周期,通过分析与综合,最终完成企业过程的定义。 一般步骤: 从计划与控制、产品与服务,和支持资源识别企业过程。 ERP 企业资源计划 以顾客驱动、基于时间、面向整个供应链为三个主要特征。