阅读材料一:静态检查>7.文档假设

Reading 1: Static Checking > Documenting Assumptions

原文地址:https://courses.edx.org/courses/course-v1:MITx+6.005.1x+3T2016/courseware/Readings_Videos/01-Static-Checking/

文档假设

写下一个变量的类型是写了一个关于这个变量的文档:int n意味着n永远引用一个正整数,永远不会引用一个列表或者其他类型.Java实际在编译时检测了这个同时保证你程序中没有地方违反这个假设.

给一个变量声明final也是一种类型的文档,final List<Integer> list是一个声明list变量在其最初一次赋值后将会永远指向同一个List对象.Java也会检查这个,静态地.

在hailstoneSequence方法上面说明的注释,我们做了另一种假设的文档,一种Java不会自动检查的文档:

图表1

为什么我们需要写下我们的假设?因为程序全是假设.如果我们不把它们写下来,我们将不记得它们,其他将要读我们代码或者修改我们代码的人也将不知道它们.他们将会做出猜测.

项目必须被写下来考虑到两个目的:

- 和电脑交流.首先假设你项目的编译器很敏感--语法正确和类型正确--然后逻辑要正确才能在运行时得到正确的结果.

- 和其他人交流.使得项目容易懂,因此当其他人必须修复它,提升它,适应它时,他们能够做到.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,170评论 19 139
  • Reading 1: Static Checking > Mutating Values Vs. Reassign...
    达贡之邪力阅读 311评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,806评论 18 399
  • 我在东华理工,17:35,体测完成,这里下着小雨,正在回宿舍的路上,天比藤县黑得早,我也怀念过去的日子,曾经的人,...
    啊荣啊阅读 252评论 0 1
  • 有时候喜欢很好,比爱好,比爱更简单而直接;有时候爱很好,比喜欢好,比喜欢更深刻而长久。最好的结合大概就是喜欢而爱着...
    主角是坏蛋阅读 313评论 0 0