• OO第三次总结


    规格化历史

    规格化的出现源于统合各个厂商各有各的格式而产生出的问题。其优势在于可以对事物给出一个明确的标准,从而减小出错的几率。

    规格Bug

    repOK有效信息不足  平均1行
    Effects不完整  平均20行

    产生原因

    主要原因是部分规格没有写完整,如 repOK 没有完整地考虑到所有的不变量,部分线程的 Effects 没有写出。

    前置和后置条件的不好写法

    前置条件

    不好写法 好的写法
    a 有序 for all i in [0,len(a)-1) ==> a[i]<=a[i+1]
    b 属于 a  exist c in a ==> b == c
    a.x != 0 a != null && a.x != 0
    a==b a != nulll && a == b
    x<100 0<=x<100

    后置条件

    不好写法 好的写法
    返回值有序 for all i in [0,len( esult)-1) ==> esult[i]<= esult[i+1]
    b 属于返回值  exist c in esult ==> b == c
    esult.x != 0 esult != null && esult.x != 0
    esult==b esult != nulll && a == b
    esult<100 0<= esult<100

    聚集关系

    方法  功能bug  规格bug
    repOK() 0 1
    线程相关方法 0 1
    Taxi.wait() 1 0
    Inputprocessor.process() 1 0

    体会

    通过这三次作业,我体会到了规格的重要性,它就像是一个指引我们代码编写方向的航标,只要在一开始就设计好了规格,编写代码是一件再简单不过的事。而如果将这些步骤倒过来做,那么写代码时就容易无从下手,导致代码质量低下。

  • 相关阅读:
    更改Linux时区的两种方法
    Azure上部署FTP服务
    log4j2简单使用
    elasticsearch5.5.2环境搭建
    springTask和Schedule学习
    防止SpringMVC拦截器拦截js等静态资源文件
    Mysql中使用FIND_IN_SET解决IN条件为字符串时只有第一个数据可用的问题
    ServletContext总结
    window.location.href和window.location.replace的区别
    javadoc文档
  • 原文地址:https://www.cnblogs.com/zhong-zihao/p/9112609.html
Copyright © 2020-2023  润新知