自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 软件构造(五)

异常处理异常:程序执行中的非正常事件,程序无法再按预想的流程执行,将错误信息传递给上层调用者,并报告“案发现场”的信息异常的种类:1.运行时异常:由程序员在代码里处理不当造成2.其他异常:由外部原因造成Check/Uncheck Exceptions异常处理:必须在方法的spec中明确写清本方法会抛出的所有checked exception, 以便于调用该方法的client加以处理子类型异常处理规范:(LSP)1.如果子类型中override了父类型中的函数,那么子类型中方法抛出的异常不能

2020-07-04 14:33:36 247

原创 软件构造(四)

白盒复用:源代码可见,可修改和扩展黑盒复用:源代码不可见,不能修改子类型的行为:子类型可以增加方法,但不可删2.子类型需要实现抽象类型 (接口、抽象类)中所有未实现的方法3.子类型中重写的方法必须有相同或子类型的返回值或者符合co-variant的参数4.子类型中重写的方法必须使用同样类型的参数或者符合contra-variant的参数(此种情况Java目前按照重载overload处理)5.子类型中重写的方法不能抛出额外的异常协变、反协变协变:父类型到子类型,由抽象越来越具体。(包括返

2020-06-02 21:40:37 217

原创 软件构造(三)

数据类型:基本数据类型和对象数据类型类型转换:静态类型语言和动态类型语言静态类型检查:在编译阶段发现错误,避免将错误带入到运行阶段,可以提 高正确性、健壮性动态类型检查:在运行阶段发现错误,检查非法的参数值、非法的返回值、越界、空指针静态检查 >> 动态检查>> 无检查不可变数据类型/可变数据类型不可变数据类型:一旦被创建,其值不可变,始终指向同一个值/引用,因此更加安全。如果是引用类型,也可以使不变的,一旦确定其指向的对象,不能再被改变指向其他对象。可变数据类型:

2020-05-31 22:05:44 210

原创 软件构造(二)

一、软件的生命周期From 0 to 1(从无到有):通过计划-分析-设计-实现-测试-维护,来初步完成一个软件的设计。From 1 to n(从有到好):通过版本不断升级更新,来实现一个更完全的软件。二、传统的软件开发模型两个过程:线性过程和迭代过程。①线性过程:瀑布过程:线性推进,阶段划分清楚,整体推进,无迭代,管理简单,无法适应需求的增加变化。增量过程:线性推进,增量式,无迭代,比较容易适应需求的增加。②迭代过程:在原型上持续不断的迭代发现用户变化的需求。迭代过程开发质量高,但是时间成

2020-05-27 23:09:55 240

原创 软件构造(一)

软件构造过程中的多维视图构建Build-time:( idea→requirement→design→code→installable / executable package)Moment Code-level:从源代码的角度理解源代码的逻辑组织,具有三个层面:词汇层面,语法层面,语义层面。Moment Component-level:代码的物理组织,如文件,包,库等等。Period Code-level:代码随着时间的变换,比如增添修改删除。Period Component-level:软件

2020-05-10 21:20:09 369

原创 程序人生-Hello’s P2P

计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 计算机科学与技术 学   号 班   级 学 生    指 导 教 师 ...

2020-01-05 21:44:17 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除