随笔分类 - 软件构造学习笔记
记录软件构造课程的学习笔记
第十章面向可维护的构造技术
摘要:第十章面向可维护的构造技术 Some common-used maintainability metrics Cyclomatic Complexity 圈复杂度 v(G) = E-N+2 或 = Path+1(需要建立代码的流程图) Lines of Code 代码行数 (如果一个方法或者类型的代
阅读全文
第九章面向复用的软件构造技术
摘要:第九章面向复用的软件构造技术 复用的级别 Source code level: methods, statements, etc Module level: class and interface //可在java中使用类继承或者类委托的方式 Library level: API – Java Li
阅读全文
第八章ADT和OOP中的等价性
摘要:第八章ADT和OOP中的等价性 == vs .equals() ==:引用等价性,比较的他们在内存中的指向,通常对于基本数据类型使用 equals():对象等价性,比较的是对象的内容,通常对对象类型使用 在自定义ADT的时候,应该重写Object中的equals()方法 实现equals方法 在Ob
阅读全文
第七章面向对象编程
摘要:第七章面向对象编程 类,接口,抽象类,对象这些可以参考《On java8》(PS:github上有免费的) Overloading 和 overridden的区别(方法多态) overload在编译阶段时决定要具体执行哪个方法,属于静态检查 overridden methods在运行时检查,属于动态
阅读全文
第六章抽象数据类型
摘要:第六章抽象数据类型 Abstraction and User-Defined Types 抽象类型:强调“作用于数据上的操作”,程序员和 client无需关心数据如何具体存储的,只需设计/使用操作即可。 Classifying Types and Operations 类型:无论是java内置的还是
阅读全文
第五章设计规约
摘要:第五章设计规约 与第四章关注编程语言中的“数据类型”,“变量”,“值”,尤其是mutable和immutable的类型/值/引用不同本章节转向“方法/函数/操作”如何定义——编程中的“动词”、规约 规约 行为等价性:指的是在遵守规约的前提下,一种实现可以代替另一种实现,那么就符合行为等价。(单纯看实
阅读全文
第四章数据类型与类型检验
摘要:第四章数据类型与类型检验 静态和动态检查 Java中的static checking 静态检查 (在编译阶段发现错误) 检查语法错误 类名/函数名错误 参数数目错误 参数类型错误 返回值类型错误 类型检查 Java中的Dynamic checking动态检查 非法的参数值 非法的返回值 越界 空指针
阅读全文
第三章软件构造的过程与配置管理
摘要:软件构造的过程与配置管理 本节课学习目标: 软件开发的基本过程 传统的软件开发过程模型 敏捷开发 软件配置管理 使用git作为配置管理工具 软件配置管理(SCM) Software Configuration Management(SCM) 追踪和控制软件变化 Software Configur
阅读全文
第二章软件测试与测试优先编程
摘要:第二章软件测试与测试优先编程 软件测试的级别 单元测试: 指的是测试代码的特定节的作用,通常是方法级别的。它的优点在于针对软件最小单元模型开展测试,隔离各个模块,容易定位错误和调试。为了方便执行单元测试,java提供了开发包Junit 使用Junit很简单,如下代码所示: //常用的三个测试
阅读全文
第一章软件构造的多维度视图和质量目标
摘要:第一章软件构造的多维度视图和质量目标 本节主要是对课件PPT的一个摘要 多层次视图 Build-time: 构造阶段 Code-level: functions, classes, methods, interfaces 代码的逻辑组织 Component-level: files, directo
阅读全文
浙公网安备 33010602011771号