程序备忘录:之六-判定树的用法(2004/08/23 20:06)


  软件理论很多很杂,而且有很多是借鉴了其它专业的理论。从软件工程的瀑布模型中知道,编码要依据详细设计来完成。判定树是系统分析和设计期的工具,但编码人员不一定每次都能从详细设计书中找到明确的判定树资料。
  假定有下面的编码需求:有两个状态变量,每个变量有4种状态值,对两个状态的不同组合共有4种处理方式。可以进行下面的编码(Java例)。
    //---------------------------------------------------------
    public void main_deal(String st1,String st2) {
     //取处理方式判断值
     String strJudge = getJudge(st1,st2);
     //依据判断值分别处理
     if ("ret1".equals(strJudge)) {
      sub_deal1();
     } else if ("ret2".equals(strJudge)) {
      sub_deal2();
     } else if ("ret3".equals(strJudge)) {
      sub_deal3();
     } else if ("ret4".equals(strJudge)) {
      sub_deal4();
     } else {
      final_deal();
     }
    }

    private String getJudge(String st1,String st2) {
     String ret = null;
     //取处理方式判断值
     return ret;
    }

    private void sub_deal1() {
     //子处理1
    }

    private void sub_deal2() {
     //子处理2
    }

    private void sub_deal3() {
     //子处理3
    }

    private void sub_deal4() {
     //子处理4
    }

    private void final_deal() {
     //条件判断值之外的处理
    }
    //---------------------------------------------------------
  如果程序的多个分支需要完成相同的工作时,不妨使用判定树思路将杂乱的功能理清,再编写出清晰易懂的代码。上面的例子比较直观,实际的应用可能存在许多不易理清的线索,需要透过现象看清本质。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值