软件构造感想

到此为止,软件构造课程已经基本结束,接下来就是我对于这门课的感想。
在大一夏季小学期的时候,其实我已经选修过java课程,但是因为学习时间比较短,所以根本没有理解如何用java去编程,所以到上软件构造课的时候对java仍然是一脸懵逼。
lab1
所以安排的实验1也比较简单,目的就是让我们自学java,先有一个适应的过程。关于Socianetwork这个都是根据CMU的实验来的,所以都是英文的要求,花费较多的时间去理解题意。
lab2
lab2要求对Lab1的第三个小实验进行复用,使其对于其他泛型类型的都可以使用,还有第三个要求设计象棋和围棋,通过这次的实验让我了解面向对象编程的优势以及通过写接口实现对于程序的复用,为实验3自己设计ADT有了一个熟悉的过程。这次实验总体上比较简单,但却耗了我不少时间去Debug。还有由于第一个基本都是英文,所以理解题意花费了很多的时间。
lab3
lab3的代码量一下子就增加了,要求我们自己设计ADT然后实现要求,我写的代码大概有三千行。虽然要写的代码很多,但是写完之后真的是感觉自己对于软件构造的认识有了很大的提高,如何去设计ADT,如何使用设计模式简化自己的代码等等
lab4
该实验是对于lab3的进一步优化,即提高程序的健壮性,就是建立异常类进行异常处理,然后向用户提示出错原因并写入日志文件
lab5
该实验是对于实验4的进一步优化,为了增加程序的标准性还有提高程序的效率,比如提高行星系统对于构建轨道系统的速度。在本次实验中,我们通过各种工具对代码运行过程中的热点进行分析,进行细节的修改,还有速度过慢的时候重新修改设计模式使得速度提高,大多数情况下,修改结构对于程序性能的提升更大
lab6
Lab6开始接触多线程,要求设计猴子过河问题,也是挺有意思的实验。难度不大,但是要注意防止多个猴子同时上同一个梯子的同一个位置,所以需要对梯子进行加锁。

总结:
总之,这六个实验总体上来说设计的很好,让我们在课堂上学习到的知识在课下能够锻炼与应用,也让我们对于程序设计有了更加深刻的体会。但是我个人感觉从实验2到实验3代码量一下子增加太大,感觉再增加一个平缓过度的实验。还有对于设计模式的应用我并没有太多的体会(可能是我太菜了),但是这并不妨碍认真做完这些实验我们能够收获满满。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值