Google 宣布 了一个新的开源 Java 工具 Contracts for Java,基于 Johannes Rieken 制作的 Modern Jass,灵感来自 Eiffel 编程语言,由两名 Google 工程师 David Morgan 和 Andreas Leitner 利用自己的 20% 时间制作。

Contracts for Java 可让你对代码进行注释来约束代码的先决条件、后置条件和不变量,示例代码:

interface Time {...@Ensures({"result >= 0","result <= 23"})int getHour();@Requires({"h >= 0","h <= 23"})@Ensures("getHour() == h")void setHour(int h);...
}

项目地址:http://code.google.com/p/cofoja/

本文是使用 B3log Solo 从 简约设计の艺术 进行同步发布的
原文地址:http://88250.b3log.org/cofoja.html

转载于:https://www.cnblogs.com/lanzhi/archive/2011/02/06/6468206.html

Contracts for Java相关推荐

  1. FISCO BCOS 控制台 console solidity合约编译工具 生成abi bin java文件

    下载控制台 https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk. ...

  2. 猫头鹰的深夜翻译:在JVM上根据合约编程

    前言 这周我准备介绍一个有趣的但是很少使用的方法 按照合约编程,又称为合约编程,是一种软件设计的方法.它规定了软件设计师应该为软件组件定义正式,精确和可验证的接口规范,将常规的抽象数据类型扩展为前置条 ...

  3. 安卓基础之读取联系人的姓名和电话

    一.摘要:利用内容解释器调用联系人应用的内容提供者暴露的方法,读取联系人信息.(本节只总结实现步骤,解释请看http://www.xuanyusong.com/archives/169) 二.主要逻辑 ...

  4. Fisco技术文档总结2---开发第一个区块链应用

    开发第一个区块链应用 本文介绍合约编译以及如何部署到区块链,通过Java SDK实现对区块链上合约的调用访问. 本教程要求用户熟悉Linux操作环境,具备Java开发的基本技能,能够使用Gradle工 ...

  5. c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法

    c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...

  6. 我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?

    本文翻译自:Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? Several ti ...

  7. 在Java中有类似.NET的NotImplementedException吗?

    本文翻译自:Is there anything like .NET's NotImplementedException in Java? 在Java中有类似.NET的NotImplementedExc ...

  8. 基于Java语言构建区块链(六)—— 交易(Merkle Tree)

    基于Java语言构建区块链(六)-- 交易(Merkle Tree) 2018年04月16日 10:21:35 wangwei_hz 阅读数:480更多 个人分类: 区块链比特币bitcoin 最终内 ...

  9. Tricks with Direct Memory Access in Java

    2019独角兽企业重金招聘Python工程师标准>>> Java was initially designed as a safe, managed environment. Nev ...

最新文章

  1. 在线拼音输入法,挺好玩的。
  2. 职场求生:老板说,解决不了用户流失,就要解决我,咋办?
  3. P4427-[BJOI2018]求和【LCA】
  4. 阿里云发布链路追踪服务Tracing Analysis
  5. Nginx之http配置
  6. werkzeug response
  7. 带你秒学JavaScript
  8. JQuery 获取URL中传递的参数
  9. 浅谈下对volatile的理解
  10. JS 格式化时间字符串
  11. 西南大学2019春计算机作业答案,2019年西南大学作业答案[1175]《仪器分析》
  12. makefile编写总结
  13. 中国传媒发展十大趋势
  14. apache dubbo 源码分析系列汇总
  15. OutputStream的flush()方法
  16. ikbc键盘解锁上锁 解决win键失灵的问题
  17. 从0开始学爬虫7之BeautifulSoup模块的简单介绍
  18. 【语音去噪】基于matlab GUI IIR滤波器语音去噪【含Matlab源码 1864期】
  19. 在 Foxmail 的 Win10 客户端中添加 icloud 邮箱
  20. 什么是工程项目项目管理工作?其特点是什么?

热门文章

  1. 远程桌面时提示凭证不工作问题的终极解决办法
  2. Python实现简单的记账本功能
  3. Eclipse引入外部Jar在发布时没有自动带入,导致出现ClassNoFound错误
  4. Python的可变类型与不可变类型
  5. 手把手教你WEB套打程序开发
  6. 输入控件tagsinput
  7. 阿里云使用public_key登录ssh
  8. 玻璃体混浊不要转眼球
  9. hexo的yelee主题更换类别以及tags的字体颜色
  10. 3分钟搞懂LSI原理