软件构造与Java基础
软件构造课程的相关内容,以及Java学习的心得体会
Leowner
以德报怨,何以报德?。。
展开
-
MIT6.031 软件构造 Reading9阅读笔记Avoiding Debugging
来自MIT6.031 软件构造课的Reading材料的第9篇。 如何减少bug,利用不变性,final等 如何精准定位bug,利用fail fast原则 assert的使用介绍,局限性,使用场合等 模块化,访问控制,缩小变量作用域等老话题 增量式编程,每次只写一点,并测试一点,以缩小bug的出现范围 具体内容及笔记见下图,笔记主要以手写方式提供。 MIT官网直通车 ...原创 2020-03-29 15:59:22 · 150 阅读 · 0 评论 -
MIT6.031 软件构造 Reading8阅读笔记Mutability and Immutability
来自MIT6.031 软件构造课的Reading材料的第7篇。 总结不出来了。大概如下: Mutable对象更简便,便于在不同方法之间传递信息,性能更强,但存在较多安全风险,易出bug. 别名是Mutable易出问题的重要原因,防卫式拷贝是一个很好的解决方法 迭代器的相关内容 给出了一些使用的Immutable的类型 本章内容似乎较少,理论性质多,记忆内容少 具体内容及笔记见下图,笔记主要以手...原创 2020-03-29 15:31:07 · 215 阅读 · 0 评论 -
MIT6.031 软件构造 Reading7阅读笔记Designing Specifications
来自MIT6.031 软件构造课的Reading材料的第7篇。 Spec重点: 是否具有确定性,即,给出的是确定的postcondition,还是众多可能性中的一种 描述性多强,是说明了所有的步骤,还是只给出结果和输出与输入的关系 强壮性多高,postcondition和precondition的强度。 优秀的spec,应该有更好的确定性,能够最精确地指明方法的结果,有较...原创 2020-03-27 11:33:22 · 194 阅读 · 0 评论 -
MIT6.031 软件构造 Reading6阅读笔记Specifications
来自MIT6.031 软件构造课的Reading材料的第6篇。 什么是Spec,Spec的主要内容 Exception的相关知识点 具体内容及笔记见下图,笔记主要以手写方式提供。 MIT官网直通车 ...原创 2020-03-26 22:24:34 · 209 阅读 · 0 评论 -
MIT6.031 软件构造 Reading5阅读笔记Version Control
来自MIT6.031 软件构造课的Reading材料的第5篇。 从软件开发实际需要出发,讲授git出现原因 git工作原理 git实际操作及其效果 传送门原创 2020-03-23 15:57:07 · 177 阅读 · 0 评论 -
MIT6.031 软件构造 Reading4阅读笔记Code Review
来自MIT6.031 软件构造课的Reading材料的第4篇。 重点讲授了 Code Review的意义,相关知识。 用其余的篇幅讲解了常用的代码规范内容,包括: Don’t Repeat Yourself (DRY) 用代码复用代替复制粘贴 Comments where needed 在需要的时候 要注释 + 才注释 Fail fast 如果出现错误,尽快挂断,避免传递错误...原创 2020-03-22 21:56:17 · 241 阅读 · 0 评论 -
Java基本类型(primitive type)为什么是immutable 的讨论
笔者在学习Java设计思想的时候,走进了一个误区,在此进行讨论 我们在讨论immutable和mutable的时候,通常使用String和StringBuilder进行比较,认为每次修改字符串整体的String为immutable,而可以修改内部字符的Builder为mutable,从code snapshot中,容易认为,immutable的类型在修改时,会分配新的内存,创建新的对象,再修改...原创 2020-03-17 20:45:38 · 501 阅读 · 0 评论 -
软件构造 Lab1 Fundamental Java Programming and Testing实验记录
在使用JUnit进行测试时,应该在src文件夹之外重新创建文件夹,设置为test,并在其中新建package进行测试class的编写 视频看到1:04:17原创 2020-03-12 00:09:12 · 387 阅读 · 0 评论 -
Java 第三方库下载 华为镜像 换源
https://mirrors.huaweicloud.com/search/maven?q=&license=&date=all&pg=1 可在该网站搜索 语言类组件 Maven 即可搜索jar包,之后直接放置在project的lib目录下,add as library即可 ...原创 2020-03-05 17:48:20 · 1661 阅读 · 0 评论 -
Java was started but returned exit code=13 Eclipse安装,运行时出错解决方法
本机之前Eclipse运行正常,一段时间后再次运行出现该错误。 原因:本机原因为Java JDK有改动,导致Eclipse找不到JDK的路径,导致无法启动。 其他常见原因:第一次安装时,如果系统的Java版本是32位,而Eclipse安装的版本为64位,也很可能出现该情况 解决方法: 找到Eclipse文件夹,使用任意文本编辑器打开eclipse.ini 找到图中的-vmargs,在其...原创 2020-02-28 22:14:31 · 182 阅读 · 0 评论 -
MIT6.031 软件构造 Reading3阅读笔记 Test
来自MIT6.031 软件构造课的Reading材料的第三篇。 重点讲授了 程序正确性确认方法 Test-First 编程思路 正确的测试思路和错误的测试思路 用分割的思路确定测试单元 通过隔间边界加强测试单元 JUnit的自动测试 文档形式记录测试策略 黑盒和白盒的定义和思路 测试代码覆盖率的概念,自动化记录覆盖率的工具 单元测试和集成测试对比 自动测试和回归测试分析 引出 迭代-TestFi...原创 2020-02-28 11:26:37 · 318 阅读 · 0 评论 -
MIT6.031 软件构造 Reading2阅读笔记 JavaBasic
来自MIT6.031 软件构造课的Reading材料的第二篇。 重点讲授了 Java类相关的基础知识 Snapshot diagram的画法 mutable和immutable的定义及具体用法 == 和 .equals的区别 Collection的详细介绍 如何阅读API文档。 具体内容及笔记见下图,笔记主要以手写方式提供。 MIT官网直通车 FromPythonToJava直通车 —————...原创 2020-02-27 20:07:20 · 277 阅读 · 0 评论 -
MIT6.031 软件构造 Reading1阅读笔记 Static Checking
来自MIT6.031 软件构造课的Reading材料的第一篇,介绍了软件构造课的基本目标,提供了给Python程序员的Java基础课程,进行了Python和Java的对比,也简单介绍了本课程选择Java作为授课语言的原因。 具体内容及笔记见下图,笔记主要以手写方式提供。 ...原创 2020-02-26 18:24:12 · 258 阅读 · 0 评论 -
pdf拆分为图片列表 pdf转jpg wand库
起因是一个有些奇葩的需求 因为经常使用Ipad + Apple Pencil来记笔记,很多心得体会等等都保存成了PDF的格式,但PDF格式本身不便于分享,所以想到了,可以将pdf切分成一张张的图片,直接上传图片到msdn或者将图片制作成md或html以分享。 此处依旧使用Python大法,使用了wand库,注意,wand库本身需要安装Imagemagick和ghostscript,二者为独立的预编...原创 2020-02-24 21:31:55 · 385 阅读 · 0 评论