自定义博客皮肤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)
  • 收藏
  • 关注

原创 软件构造复习笔记(三)

Specification、前置/后置条件:方法的规约: 前置条件(requires):对客户端的约束,在使用方法时必须满足的条件。后置条件(effects):对开发者的约束,方法结束时必须满足的条件。如果前置条件满足,则后置条件一定要满足。如果前置条件不满足,可以做任意事。静态类型声明是一种规约,可以根据此进行静态检查。方法前的注释也是一种规约,但是需要人工判定是否满足。前置条件看@param,后置条件则观察@return和@throws。一个规约,应该关于参数和返回的值,但是不应该关于局部变量和私有区

2022-06-26 10:39:31 162 1

原创 软件构造复习笔记(二)

Git 的结构、工作原理、基本指令:一个git仓库有以下三部分结构:本地的CMDB(存储所有版本的数据);工作目录;暂存区(隔离工作目录和git仓库) 文件的三种形态:modified(已修改);Staged(已暂存);committed(已提交)。Object Graph:版本之间的演化关系图,一条边A->B表征了“在版本 B 的基础上作出变化,形成了版本A”。git init :创建仓库git status:显示状态git add *.*:加入缓冲区git commit -m “xxxx”:提交gi

2022-06-24 08:54:05 75

原创 软件构造复习笔记(一)

软件构造的多维度视图: 首先是对软件的不同阶段进行划分:构造阶段:代码层面:更加注重代码的逻辑组织(函数,类,方法,接口)组件层面:更加注重代码的物理组织(文件,目录,包,库)时刻角度:特定时刻的软件形态长期角度:软件形态随时间的变化词汇:半结构化:近乎自然语言的风格+遵循特定的编程语法语法:AST(Abstract Syntax Tree)语义:联系源代码与现实世界:图形化静态链接:构建阶段时,库被拷贝进入代码,执行时不需要库文件V 1.6(major).1(minor).5(patch)运行阶段:代码层

2022-06-16 18:23:02 198

原创 软件构造中运用到的数据类型

本文针对哈尔滨工业大学于大二春季开设的软件构造课程,对于其中出现的一些数据类型进行一些应用性的介绍,旨在帮助刚刚接触该课程和java编程的小白快速入门这几种数据类型。1.数组(Array) 数组大家都不陌生,在c语言的学习中大量运用了。但是要注意java语言的编程是一种面向对象的编程,对于一个数组,我们需要把他看成一个类,进行对象声明:例如:int a[] = new int a[5] 注意,一个数组在他定义之后,就不可以改变数组长度了。初始化定义:int a[] = {1, 2

2022-06-09 21:05:32 147

原创 哈工大计算机系统大作业

大作业题 目程序人生-Hello’s P2P 专 业 计算机 学   号 120L021406班 级2003002 学 生 马铭 指 导 教 师史先俊 计算机科学与技术学院2022年5月摘 要本文主要通过观察hello.c程序在Linux系统下...

2022-05-18 12:15:25 364

原创 关于ADT的一些简单解释及理解

笔者写这篇文章的初衷是帮助刚刚接触软件构造课程的小白通俗易懂地解释关于ADT方面地知识(才不是为了作业呢)。虽然说上课老师讲的很不错,课件ppt也都提供了,本来也不需要我在这里过多的解释什么,但是ppt上大多是大段的英文,即便有少量中文来标记重要的知识点,但是如果不阅读那些英文的话是没有办法很好的理解的。笔者就当抛砖引玉,简单谈谈自己关于抽象数据类型(ADT)的理解。最早接触到ADT概念的应该是大二上的数据结构课程上,当时只学了个概念,但是并没有很好的理解其具体意思。...

2022-05-15 19:47:45 3845 1

空空如也

空空如也

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

TA关注的人

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