怎样写好一个Java的Specification(of a method)

一、为什么要写Specification(规约)

  首先Specification是团队合作的关键。如果没有规约就没办法写出程序,即使写出了程序也无法判断程序的正确性。其次,specification也是程序和客户端之间达成的一致,即客户端的要求是什么,我们程序员需要做什么等等。specification不仅给我们程序确定了责任(我们需要编写怎样的程序),也同样给客户端确定了责任(他们需要遵守怎样的输入原则,输入怎么样的数据等等)。

  如果不写specification会有什么样的后果?

  也许会引入很多不必要的bug,就比如:我编写的程序不希望客户输入一些不合法的数据,但是没有specification,客户并不知道那些事不合法数据,就会导致程序出错或者得到非法的结果。而且没有specification,和你一起编写程序的伙伴,可能和你产生不同的理解导致开发的不同的部分是不兼容的。没有规约我们也很难定位程序的错误。

  所以说specification对于一个好的程序是必不可少的,而且往往程序对specification的要求很高。

二、怎样写Specification

  specification需要明确输入、输出的数据类型,需要讲清楚method的功能以及它的正确性,以及它的Performance expectations(性能)。

1、Specification structure : pre-condition and post-condition(前置条件和后置条件)

前置条件通过“requires”描述,前置条件是对客户端的约束,在使用方法是必须满足的条件。

后置条件通过“effects”描述ÿ

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值