CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > Java技术

高质量软件开发人员的五大习惯

作者: 佚名,  出处:IT专家网论坛, 责任编辑: 包春林, 
2008-09-08 04:00
  那些在团队环境下有能力开发和维护高质量软件的开发人员在今天的技术驱动的经济里有着巨大的需求。工作在团队环境下的开发人员所面临的排在第一位的挑战是阅读和理解其他开发人员的软件。

  本文举出了使得软件开发团队更加有效并且更加高质量的五大习惯。首先,本文描述了这样一些商业团队给于软件开发团队以及他们所开发的软件的要求。接着,本文解释了状态更换逻辑和行为逻辑之间的重要的区别。最后,本文将要示例五个使用客户帐户情形作为案例研究的习惯。

  业务对开发人员提出的要求

  业务团队的工作是要决定往软件里加入什么新的功能,同时确保新的功能对业务来说是最有利的。在这里,“新的功能”是指一个新的产品或者对一个已存在产品的额外的功能提升。换句话说,业务团队决定了哪些新的特性会帮助软件产品赚更多的钱。决定上那些新的功能的关键因素是实现这些新的功能所需要的成本。如果实现的成本超过了潜在的价值,那么新的功能将不会实现在软件产品里。

  业务团队要求软件开发团队以最低的成本开发新的功能。它同时也要求软件开发团队在给产品增加新的功能的时候,不会随着时间的过去而增加新的成本。而且,每一次业务团队请求开发新的功能,他们要求增加新的功能的同时不会丢失旧的功能。随着时间的过去,软件将产生足够多的功能,业务团队将要求使用文档来描述软件提供的当前功能。然后,业务团队将使用这些文档来决定下一个新的功能。

  软件开发团队通过开发“易于理解”的软件来最佳的满足这些要求。“难于理解”的软件将导致整个开发过程的无效。这些无效增加了软件开发的成本,并且将导致意想不到的已经实现的功能的丢失。增加了开发人员的开发时间,和错误的软件文档的交付。通过改变业务团队的需求,这些无效能够被减少,将复杂的转化为简单的、“易于理解”的软件。

  引入关键概念:状态和行为

  开发易于理解的软件开始于创建一个拥有状态和行为的对象。“状态”是指在方法调用之间保持的对象的数据。一个Java对象能够在它的实例变量中临时的保持它的状态,或者通过保存到一个永久的数据源的方式保持。一个永久的数据源可以是数据库或者Web服务。“状态改变的方法”典型的是通过获取数据或从远程数据源取得和放置数据的方式管理一个对象的数据。“行为”是一个对象在“状态”的基础上回答问题的能力。“行为方法”回答问题不用改变状态,并且在应用中通常指的是业务逻辑。

  案例研究:CustomerAccount对象

  下面的ICustomerAccount接口定义了一个对象必须实现的用来管理用户帐户的方法。它定义了产生一个活跃账户的能力,载入一个已经存在客户账户状态、校验潜在用户的用户名和密码、校验一个账户是否为活跃账户能够购买产品等功能。

  

      public interface ICustomerAccount {

  //State-changing methods

  public void createNewActiveAccount()

  throws CustomerAccountsSystemOutageException;

  public void loadAccountStatus()

  throws CustomerAccountsSystemOutageException;

  //Behavior methods

  public boolean isRequestedUsernameValid();

  public boolean isRequestedPasswordValid();

  public boolean isActiveForPurchasing();

  public String getPostLogonMessage();

  }

  习惯1:构造器实现最少的工作

  第一个习惯是一个对象的构造器只能实现尽量少的工作。理想的,构造器仅仅是通过它的参数载入数据到它的实例变量。如下所是,作为一个例子,开发一个只实现最少功能的构造器使得这个对象易于被使用和理解。因为构造器只用来实现简单任务,将数据载入到对象的实例变量。

  

      public class CustomerAccount implements ICustomerAccount{

  //Instance variables.

  private String username;

  private String password;

  protected String accountStatus;

  //Constructor that performs minimal work.

  public CustomerAccount(String username, String password) {

  this.password = password;

  this.username = username;

  }

  }

共7页。 1 2 3 4 5 6 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i