如何提高c/c++大型项目的软件质量微信h5牛牛程序搭建

软件的交付质量一直是我们软件开发项目最为关注的核心问题,那么如何保证软件项目,尤其是大型和超大型软件项目的质量,不管在国内还是国外一直是许多软件企业一直关注和研究的问题。

通常我们会在功能性,可用性,高效性,可测试性,可维护性和可移植性等6个维度来对软件质量进行把控和评定。

1.功能性,即软件是否满足了客户业务要求;

2.可用性,即衡量用户使用软件需要付出多大的努力,简洁容易操作的软件,对于客户来说是非常重要的,就拿国内用户量最大的微信来说,你会不会觉得它的设计总是那么的简洁易用,以至于使用了这么多年,它的复杂度也没有增加很多,大道至简的产品设计和简单好用往往能吸引更多的用户;

3.可靠性,即软件是否能够一直处在一个稳定的状态上满足可用性;可靠性是质量的传统定义和基本要求。当然对于不同应用场景的软件有不同的要求,比如,大部分客户端软件来说,好用,绝大部分情况下能够正常运行和处理问题就可以了,但是对于一些行业的软件,如金融交易软件,航天和医疗软件,如果出现问题,那么产生的代价是巨大的。

4.高效性,即衡量软件正常运行需要耗费多少物理资源;程序的实际执行和事件处理效率。尤其是对于一些实时性要求较高的应用场景,几毫秒的差异可能会带来结果的截然不同。如互联网金融的高频交易软件、策略交易软件和军用软件。

5.可测试性,即能对每个功能模块做有效的测试,通常,我们的软件不会只因为通过了测试就变得可靠;到了你能够测试的时候,软件已经建立了内在质量。并不是所有的软件都可以被有效的测试。为了让软件可以有效地测试,我们必须在项目的开始的每一个环节都本着高质量的这个目标进行设计。

6.可维护性,即衡量对已经完成的软件进行调整的可行度;好的软件必须要有系统的缺陷追踪和微信h5牛牛程序搭建http://h5.mostsheng.com企鹅1279829431联系17061863554源码出售,房卡出售可控可透视对客户新需求的可扩展性。对于C++开发的许多系统来说,如果系统的设计不好,可能导致系统的维护成本和扩展成本都会非常高。大型的系统,可维护的设计都是从项目的每一步(需求分析,系统架构,详细设计,质量保障,严格测试等)都进行精心设计和策划而来的。

7.可移植性,即衡量软件是否能够方便地部署到不同的运行环境中;任何一个好的系统都应具备向新平台的可移植性。

提高软件质量的方法:

1.    质量保证(Quality Assurance,QA),一般是一个软件公司内部负责“确保”产品质量已达到某种标准的组织。建立软件测试过程模型,QA所做的测试都是在最终用户层次上进行的。任何层次的回归测试都依赖于开发者本身。

2.    质量保障,QA必须成为开发过程中不可获取的一部分,不能只等着开发人员扔过来一个软件才开始测试。开发者有责任保障软件产品的质量。QA要去体现这一点。不管是客户,还是架构师,开发人员,还是QA测试人员都有全程参与保证项目质量的责任和义务,要保证高质量的软件产品,系统架构师和软件开发者在整个软件开发过程中都必须把质量放在首位。

3.    建立PDCA循环,不光是对于开发人员的要求,也是对QA测试人员的要求。PDCA循环又叫质量环,是中的一个通用模型。是英语单词Plan、Do、Check和Adjust的第一个字母,PDCA循环就是按照这样的顺序进行软件质量管理。

4.    避免重复代码,重构系统中重复的代码,减少不必要的干扰。

5.    及时测试已经完成的代码,建立缺陷跟踪。

6.    定期对代码进行审查,做好代码review。

7.    规范的代码注释,注释的目的是使得其他开发人员能够明白你所写的这段代码是做什么的?如果你的注释能做到这点,那么OK,那么你的注释是基本完美的。

8.    代码逻辑清晰,减少不必要的代码,写每一段代码之前都多思考一下,假设着提出几种方案,看哪种方案更加简洁易懂,就使用那种方案,力求能写出不言自明的代码。

9.    对多种能达到同一目的的算法,比较分析,找出更加有效和高效的算法。

10.  良好的命名习惯,函数变量名,变量,方法的命名要见词达意,使得看得人能一眼就看懂。

11.  复杂的类,方法,参数过多的函数应当把它拆分成更小的单元来实现,保证每一个单元的职责单一。

12.  不要在代码里面使用纯数字,能使用宏定义,经量使用宏。

13.  多层嵌套的代码,分开来处理,不要嵌套过深。

14.  局部变量保证其用途单一。

15.  提倡使用代码生成工具,尤其在大型系统开发中,使用自动化工具的好处是显而易见的

原文地址:https://www.cnblogs.com/19981204s/p/8350565.html

时间: 2024-11-01 17:46:06

如何提高c/c++大型项目的软件质量微信h5牛牛程序搭建的相关文章

在大型项目上,Python 是个烂语言吗

Robert Love, Google Software Engineer and Manager on Web Search. Upvoted by Kah Seng Tay, I was the Head TA for a class taught in Java at MIT. I used… Robert has 10+ answers in Google Engineering. Man, I cannot imagine writing let alone maintaining a

iOS项目——微信H5棋牌牛牛斗牛出租平台项目开发环境搭建教程

在开发项目之前,我们需要做一些准备工作,了解iOS扩展--微信H5棋牌牛牛斗牛出租平台(h5.fanshubbs.com联系Q_1687054422),学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择之一,明白iOS学习--iOS项目Project 和 Targets配置详解则更利于我们今天对完整项目开发环境的搭建,这些内容在在之前的博文中都已经有了一些总结和步骤说明,具体详情可以戳链接查看. 开发一个完整的App,不同于我们平时学习和练习时随意新建一个pr

4.13日第12次作业,16章外包,17章需求,19章组织级与大型项目

29-高项-田哲琦 16章.外包管理 1.外包的形式有哪五种?什么是利益关系?P346-348 答:企业现行采用的主要外包形式如下: 1).活动外包 2).服务外包 3).内包 4).合包 5).利益关系. 利益关系(benfit-based relationship),这是一种长期合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承担风险,同时共享利益. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求?P348 答:软件外包管理总的目标是用强有力的手

怎么学习阅读大型项目的代码

第一章: 导论 ++++++++++++ 1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码. 2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法. 3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格. 4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪. 5.请将从开放源码软件中得到的益处看作是一项贷款, 尽可能地寻找各种方式来回报开放源码社团. 6.多数情况下,

C/C++大型项目错误管理

在C/C++大型项目中,错误管理在项目中起着举足轻重的作用,以我自己的项目经验以及观摩其它项目,错误管理对项目框架以及开发效率有着非常大的影响.对于错误管理的认识大致分为三类: 刚刚開始敲代码的新手,满篇程序看不到一处关于返回出错的处理,更不用说出错管理了.说明他没认识到出错管理的重要性 程序中到处都能看到关于出错的处理.认识到了错误,可是处理方式欠缺 程序中差点儿不会非常明显的看到关于错误的处理.这是错误管理的最高境地. 错误管理,涉及到程序的健壮性,可恢复性,可靠性,高效性.在出错的情况下,

如何阅读大型项目的代码?

本文转载自:http://blog.csdn.net/jk110333/article/details/7563718 Technorati 标签: 源码阅读 -------------------------------我是分割线的开始------------------------------------------ ++++++++++++++++++++ 第一章: 导论 ++++++++++++ 1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码. 2.要有选择地阅读代码, 同时,

中华石杉 Spark大型项目实战:电商用户行为分析大数据平台138讲视频教程(项目实战)

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

ABP大型项目实战(1) - 目录

前面我写了<如何用ABP框架快速完成项目>系列文章,讲述了如何用ABP快速完成项目. 然后我收到很多反馈,其中一个被经常问到的问题就是,“看了你的课程,发现ABP的优势是快速开发,那么ABP能否用于大型项目呢?” 嗯,我本人用ABP做过的最大项目情况如下: 该项目客户是世界500强. 该项目运用于此客户总公司和下辖的四十多家子公司,其中一个子公司就有八百多员工. 该项目主要业务数据是十万条起. 该项目有复杂的嵌套业务运算和业务流程. 事实证明,ABP自行改造优化后是完全可以驾驭住大型项目的.

如何学习大型项目的源码?虚幻引擎源码学习思路分享

每一个人做事都有自己的风格与习惯.当你发现身边一个人很优秀的时候,你去看一下他的24小时是怎么度过的,然后再对比一下你的24小时,答案就很明了了.同理,如果你觉得学习源码很困难,不妨请教一下那些比较牛的"过来人",看一下别人学习源码模块的流程.当然具体来说,影响一个事物的纬度,细节,前提条件都很多,别人的方法照搬过来可能是行不通的,比如说别人能一天雷打不动地学10个小时,这个放到有些人身上几乎不可能.那如何学习大型项目的源码?下面我把自己学习虚幻引擎源码(C++)的思路和过程给分享给大