重新思考Lab2中的问题:⾯向ADT的编程和直接⾯向应⽤场景编程,你
体会到⼆者有何差异?本实验设计的ADT在五个不同的应⽤场景下使
⽤,你是否体会到复⽤的好处?
ADT会先从⼤局考虑,先将框架定好
(2) 重新思考Lab2中的问题:为ADT撰写复杂的specification, invariants, RI,
AF,时刻注意ADT是否有rep exposure,这些⼯作的意义是什么?你是
否愿意在以后的编程中坚持这么做?
(3) 之前你将别⼈提供的API⽤于⾃⼰的程序开发中,本次实验你尝试着开
发给别⼈使⽤的API,是否能够体会到其中的难处和乐趣?
(4) 在编程中使⽤设计模式,增加了很多类,但在复⽤和可维护性⽅⾯带来
了收益。你如何看待设计模式?
⼯⼚和builder设计模式都是很好的设计模式,能够在很⼤程度上简化程
序或带来⼀些优化
遇到的难点解决途径
代码量过多
熬夜
!6
(5) 你之前在使⽤其他软件时,应该体会过输⼊各种命令向系统发出指令。
本次实验你开发了⼀个解析器,使⽤语法和正则表达式去解析输⼊⽂件
并据此构造对象。你对语法驱动编程有何感受?
语法解析是很棒的体验
(6) Lab1和Lab2的⼤部分⼯作都不是从0开始,⽽是基于他⼈给出的设计⽅
案和初始代码。本次实验是你完全从0开始进⾏ADT的设计并⽤OOP实
现,经过三周之后,你感觉“设计ADT”的难度主要体现在哪些地⽅?你
是如何克服的?
主要体现在设计思路与具体实现上
(7) 你在完成本实验时,是否有参考Lab4和Lab5的实验⼿册?若有,你如何
在本次实验中同时去考虑后续两个实验的要求的?
没有
(8) 关于本实验的⼯作量、难度、deadline。
过⾼,过难,时间过少
(9) 到⽬前为⽌你对《软件构造》课程的评价。
4.20软件构造心得
最新推荐文章于 2019-11-28 15:48:47 发布