• oo第三次博客


    技术博客

    (1)

    发展历史:这个问题我没有找到很近似的答案,但我知道既然能这么问那么规格的发展历史肯定很悠远。可以肯定的是,规格化设计是伴随着计算机软件技术越来越成熟的过程不断完善的,是程序员之间墨守成规的一种写法,在多人团队合作设计中非常有用。

    得到重视的原因:设计者先把规格写好,交给开发者,开发者才能根据这个规格来进行代码的构造,这个在系统性很强的工程化开发中应该会很有效率,相当于用一种简洁的语言进行想法的传递。但在这次课程中用处不大,因为开发者和设计者都是一个人。

    (2)分析规格bug

    Bug编号

    分支树名称

    位置

    0

    Overview是否明确抽象对象

    Request类27行

    1

    JSF不规范

    MapReader类30行

    (3)bug原因

    0:手抖忘记写repOk方法了

    1: repOK写成了reqOK方法

    (4)

    前置条件不好的写法

    1.@REQUIRES:None 改进:没有前置条件就干脆别写了

    2.@REQUIRES:this 改进:this!=null 或者别写

    3.@REQUIRES:(A!=null);(B!=null) 改进: 写成&&

    4.@REQUIRES: (0<=x1,x2,x3,x4<=100) 改进:分开写呗

    5.@REQUIRES: all String args[] 改进:没前置条件就别硬写

    后置条件不好的写法

    1.@EFFECTS:all+自然语言 改进:全写自然语言

    2.@EFFECTS:exceptional _behaviour:XXX 改进:明确产生异常的条件

    3.@EFFECTS: his  改进:直接写this

    4.@EFFECTS: esult = a   改进: esult == a

    5.@EFFECTS:( esult == a)==>(XXX)  改进:反过来写 不能因果倒置

    (5)聚焦关系

    方法名

    功能bug

    规格bug

    ReadMap

    0

    1

    Request

    0

    1

    Run(Taxi)

    3

    0

    FindShortestPath

    1

    0

    InitCommand

    1

    0

    (6)

    基本思路

    先写方法的规格 在脑袋里构造出一个大致的思路然后再实现。在实现的过程中一步一步再修改规格,对每一种情况做好容错的处理,所以基本上前置条件也不用写太多

    感想

    规格真的很麻烦 但是他对我们这些程序员来说非常有意义 我最爱写规格了 同时也喜欢仔细看别人写的规格 看看他写的代码是不是规格的正确形式 从中吸取经验教训 再看看能不能给他扣分 这样对于我oo课的成绩也有很大的提高 毕竟规格容易检查 一个还那么多分 比起查功能性bug来讲简直得分效率高得不知道到哪里去了 真开心 简直是一举多得

  • 相关阅读:
    Elasticsearch节点下线(退役)and unassigned shards
    详解Hbase架构原理
    docker安装(yum方式)
    矩形的逆时针蛇形填数
    CentOS7安装iptables防火墙
    Linux:-bash: ***: command not found
    两个大数相乘JAVA版
    SQL Server 2012时出现命名管道提供程序: 无法打开与 SQL Server 的连接
    jstl函数库及自定义函数库
    This Android SDK requires Android Developer Toolkit version 23.0.0 or above
  • 原文地址:https://www.cnblogs.com/coldnight/p/9099770.html
Copyright © 2020-2023  润新知