`
cindylu520
  • 浏览: 150717 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

《代码质量》之我见——“Jolt大奖精选丛书”有奖征文

 
阅读更多

读了《代码质量》的试读部分,先说说我们在试读章节中学到什么?

 

所谓的质量,我们所关心的是哪些方面的质量。

 

1、使用中的质量。是人们最普遍觉察到的质量的方面。也就是真实的终端用户体验。广泛地讲,这个方面反映了用户在一个特定环境下达成自己目标的程度。作为软件开发人员,我们关心用户对于软件的感觉如何。我们对用户永远都不会碰到的程序错误没有兴趣,对于难以理解的代码,或者虽然效率不高但是对于用户所处理的数据量来说没什么影响的算法也不感兴趣。

2、外部质量属性。外部质量方面包括可以通过运行软件确定的方方面面。。通过彻底地测试并修正软件外部质量方面的问题,我们能够把终端用户将要面对的错误最小化。

3、内部质量属性。在软件中,这些属性都是可以通过检查而非运行来确定的。

4、过程质量。很多软件开发商都会使用成熟的框架,就像软件能力成熟度模型(CMMI,Capability Maturity Model Integration)或者ISO 9001,来组织文档化的、可重复的、既定的、受管理的和已优化的软件制造过程。在我们的领域中,似乎一些软件开发组织过分强调了过程,其代价是损害了产品本身及用户,结果不可避免地南辕北辙。

 

软件的内部与外部质量特性可以归类为哪几个方面呢?

 

1、功能性。首先是一个与软件做什么而非怎么做相关的质量特征。软件功能性的要素包括:面向指定任务的具体功能与用户目标的相配度、结果或执行的准确性、该软件与其他系统的互操作性,以及该软件为它的数据提供的安全性。

2、可靠性。指的是软件在特定情况下维持既定的性能表现级别的能力。可靠性的要素包括:表明软件中存在的错误多少的成熟性、表示软件在出现某些错误的情况下继续工作的能力的容错性、软件在出现故障之后能够恢复数据并且继续运行的可复原性。

3、可用性。从根本上来看,是一个外部的质量特征。它的三个要素:可理解性--,我们是否可以很容易地搞清楚软件能不能满足使用需求及如何用它来完成某个特定的任务;易学性--掌握它所需要付出的努力;可操作性--使用它所耗费的精力。

4、效率。涉及计算的阴阳两个要素:空间和时间。

5、可维护性。可能是在软件的设计及真正的代码中最能够被实现的要素。个人对可维护性很感兴趣,所以在后面我也将说说自己的感受。

6、可移植性。指的是将软件从一个环境(如Windows)移植到另一个环境(如Mac OS X)的难易程度。

 

在试读章节中我们了解了很多概念性的东西。那么在我们的工作中我们对代码质量有哪些看法呢?

 

第一、可读性 。首先软件行业是个团队型的行业,我们每个人开发的代码都可能被团队其他成员维护。在同一个项目或者同一个模块工作的开发者之间一定要彼此理解对方所写的代码。为了减少沟通的时间,提高合作效率,大家最好是在一份理解地比较透彻的代码库上进行协作。如果发现某段代码出现难于理解的情况,立即自我检查、并于其他同事讨论,大家一起拿出来个所有人都易于理解的办法来。其次在没有系统地学习敏捷开发等代码管控技术之前,经常会发生这样的情况,拿出自己前几个月几周甚至几天编写的代码云里雾里,不知道自己当初为什么这么写,所以我们常常面对这样的问题,一方面要努力理解自己之前为什么这么写,一方面又要理解其他成员的难以理解的代码。这样效率问题就不言而喻了。

 

第二、起个好名字 。无论是变量、函数还是方法我们都应给个有意义的名字。看名知意(想用个合适的词想不起来了,大家理解哈),比如employees_name,让人一看就知道这个变量是什么意思。而不是要用flg、test1.。。。。。

 

第三、代码格式化 。NetBeans IDE中这样称呼,其实就是排版。这个看着似乎很没有意义的事情,其实我觉得是个人很好的习惯。其实代码排版这种略带个人化的东西,不仅仅是让代码看起来更漂亮,其根本目的还是着眼于代码的可读性,要有助于代码的理解、维护、纠错。具体到执行层面。

 

第四、写好注释 。注释的作用是什么?是加深代码使用者的理解程度。当然注释也不是越多越好越全越好,对于一些显而易见的代码就不需要注释了。对于参数的取值范围、参数非法时是否会造成异常、设置的新值是否会立刻生效等等就应该明确定义。

 

以上就是通过《代码质量》这本书学到的和想到的,希望对以后的工作有帮助。

分享到:
评论

相关推荐

    Jolt获奖图书(拥有两项大奖共计58本)

    Steve McConnell的《Code Complete》是软件构造领域的经典,强调代码质量和工程实践;而Bertrand Meyer的《Object-Oriented Software Construction》则关注面向对象软件的构建,对后来的编程思想产生了显著影响。 ...

    代码大全(第二版)两届Software Jolt Award震撼大奖得主

    《代码大全(第二版)》是Steve McConnell的经典之作,它荣获了两届Software Jolt Award这一业界重量级奖项,充分体现了其在软件开发领域的权威地位。这本书深入探讨了编写高质量代码的各种技术和实践,旨在帮助...

    数据库重构(2007年第17届Jolt生产效率大奖图书)

    重构的价值是毋庸置疑的,这已在许多项目中证明了。重构能帮助软件专业人士改进系统设计及其可维护性、可扩展性和性能。本书首次介绍了专门针对数据库系统设计的强大的重构技术。 共分2卷。

    敏捷软件开发(原则模式和实践C#版)002

    本书凝聚了世界级软件开发大师Robet C.Matin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推崇的经典著作。自出版以来一直畅销不衰。 本书不仅是一部深入浅出、生动易懂的面向...

    敏捷软件开发(原则模式和实践C#版)001

    本书凝聚了世界级软件开发大师Robet C.Matin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推崇的经典著作。自出版以来一直畅销不衰。 本书不仅是一部深入浅出、生动易懂的面向...

    JOLT

    如果JOLT是一个开源字体项目,那么可能包含源代码文件,如SVG或Glyphs格式,供开发者进行修改和扩展。另一方面,如果是商业字体,那么可能包含许可协议文件,规定了如何合法地使用和分发这个字体。 总的来说,JOLT...

    单元测试之道C#版——使用NUnit(中文版)

    《单元测试之道C#版——使用NUnit》是一本深入探讨C#环境下单元测试实践的著作,荣获第14届震撼大奖(Jolt Award)和生产力大奖(Productivity Award),充分体现了其在软件开发领域的影响力和实用性。本书的核心是...

    jolt用Java编写的JSON到JSON转换库

    **正文** Jolt是一个强大的Java库,专门设计用于进行JSON到JSON的转换。在现代Web服务和API开发中,JSON...对于涉及大量JSON数据处理的Java开发者而言,理解和掌握Jolt的使用是提高效率和代码质量的重要途径。

    Java通过Jolt调用Tuxedo服务

    Java 通过 Jolt 调用 Tuxedo 服务是一种常见的技术实践,特别是在集成传统企业级应用时。本文将详细阐述如何在特定环境下(Eclipse3.1, Jolt, WebLogic8.1, Tuxedo9.0)实现这一过程。 首先,Jolt 是 BEA Tuxedo ...

    joltjse+jolt+joltwls 包

    而Jolt系列的jar包——joltjse.jar、jolt.jar和joltwls.jar,则是与Tuxedo交互的重要工具,特别是对于Java开发者来说。 首先,我们来看joltjse.jar。这个jar包是Java Jolt for Java Standard Edition的简称,它是...

    jolt WTC 调用TUXEDO jar包

    在IT行业中,Jolt、WTC(World Trade Center)和Tuxedo是三个重要的概念,它们在分布式系统和企业级应用开发中起着关键作用。本文将深入探讨这些概念以及如何将它们结合使用,特别是Jolt如何调用Tuxedo服务。 首先...

    敏捷软件开发.pdf

    Martin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推崇的经典著作,自出版以来一直畅销不衰。要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是...

    tuxedo+jolt

    ### 关于 "tuxedo+jolt" 的详细知识点解析 #### 一、Tuxedo 系统概述 Tuxedo 是一款由 BEA Systems(现已被 Oracle 收购)开发的企业级事务处理平台,主要用于构建高性能、高可用性的后端业务系统。它支持多种编程...

    Java通过Jolt调用Tuxedo服务[定义].pdf

    3. 调用 Tuxedo 服务的步骤包括准备 Tuxedo 服务端代码、在 Tuxedo 中配置 Jolt 相关文件、启动 Tuxedo 服务、配置 WebLogic 服务与 Tuxedo Jolt 相关的参数、配置 Eclipse 3.1 启动 WebLogic 服务、编写 Eclipse ...

    TUXEDO JOLT配置与编程简介

    然而,这仅仅是一个开始,实际的编程工作还包括编写Java代码来调用这些服务,处理返回的数据,以及管理和维护JOLT的连接状态等。 总的来说,JOLT提供了一个高效的桥梁,连接了Java的灵活性和BEA Tuxedo的强大功能,...

    tuxedo jolt配置与编程简介

    【Tuxedo JOLT配置与编程简介】 BEA Tuxedo JOLT(Java to Tuxedo Open Layer for Transactions)是一种让Java应用程序与Tuxedo应用服务进行交互的技术。本文将介绍JOLT的配置与编程基础知识,特别是以Java客户端为...

    Tuxedo jolt 配置及使用

    在测试过程中,Jolt会记录每个请求的详细信息,包括请求时间、响应时间、错误信息等,这些数据对于分析性能瓶颈和优化代码非常有用。测试完成后,可以通过Jolt提供的报告工具生成测试报告,分析结果并进行性能调优。...

    通过wtc、jolt进行tuxedo与weblogic通信开发

    3. 创建Java应用程序:编写Java代码,利用JOLT API调用Tuxedo服务。 4. 部署应用程序:将Java应用程序打包成EJB或WAR文件,部署到WebLogic Server。 三、通信过程 无论是使用wtc还是JOLT,通信的基本流程如下: 1. ...

    JOLT的配置与编程简介

    JOLT(Java Open Link Technology)是一种用于连接Java应用程序与BEA Tuxedo应用程序服务的中间件技术。在本文中,我们将探讨如何配置和编程JOLT客户端以访问BEA Tuxedo的应用服务。首先,确保已经安装了BEA JOLT...

    Java通过Jolt调用Tuxedo服务[参考].pdf

    Jolt提供了Java接口,使得Java开发者可以使用标准的Java代码来调用Tuxedo服务,而无需深入理解Tuxedo的底层细节。 总结来说,Java通过Jolt调用Tuxedo服务是一种常见的跨平台集成方式,它允许Java应用程序利用Tuxedo...

Global site tag (gtag.js) - Google Analytics