加载中...

实验1的一些心得体会

1 实验过程中收获的经验和教训

经过这次实验,我学会了使用idea内置的git进行版本管理,以及Java的语言规范并且学会了利用Junit对自己写的程序进行测试。关于这次实验的经验教训,最让我印象深刻的莫过于在编写程序时一定要注意每个变量的性质,是否为mutable变量,如果是,则要尽力避免该变量的不安全性。

2 针对以下方面的感受

(1) Java编程语言是否对你的口味?与你熟悉的其他编程语言相比,Java有何优势和不足?

Java学起来,由于是一门崭新的语言,一种面向对象的编程语言,边学边写,会有一些新奇的感觉。其次,介于我之前学过python和c语言,尤其是c语言,感觉java语言很多方面都和c语言很像,学起来,并不是很费劲。
Java优势:

  1. Java语言脱胎于C语言,简单易学;
  2. Java的库多而且质量普遍有保障,很多事情不需要自己去实现(对比c语言要手动维护栈、队列、堆);
  3. Java提供了对内存的自动管理
  4. 是面向对象编程,使程序的每个部分都更加清晰,更加模块化,因此每个模块的独立性与可复用性相对更强;
  5. 并且有Junit这样的测试库,有利于大型编程场景下对于不够的测试与调整;
  6. Java语言具有优秀的跨平台能力
    Java不足:
  7. Java有很多框架,需要慢慢学习
  8. C语言相比可能不太适合底层,并且速度也相对较慢。
(2) 关于Eclipse或IntelliJ IDEA,它们作为IDE的优势和不足;

Eclipse优势:

  1. Eclipse的项目结构支持更强大(同时导致导入项目可能有些费力)
  2. 老师推荐使用,且给了完整的教程
  3. Eclipse是免费的
    IntelliJ IDEA优势:
  4. 同学们都在使用,很方便我们之间交流询问
  5. IntelliJ IDEA在调试上的表现,可以说比Eclipse好一些
  6. IntelliJ IDEA的目录分层很少,但是却很清晰,IDE配置的东西都能在Settings利找到,工程的配置也能在Project Settings里找到。
  7. IntelliJ IDEA内部集成了junit,git等使用起来很方便
  8. IntelliJ IDEA各种插件齐全,界面美观
(3) 关于Git和GitHub,是否感受到了它在版本控制方面的价值;

是,这样一个版本控制工具对于一个大型编程项目来说很有价值,有时候工作了一天可能发现越改bug越多,这时候如果有版本控制,那么回溯会修改之前,会很舒服。而且版本控制可以实现团队协同编程,十分方便。

(4) 关于CMU和MIT的作业,你有何感受;

虽然有一定难度,但层层递进,锻炼编程能力,Java 编程的收获很大。
最不太舒服的是,纯英文的题目和要求,读起来有一定费劲。

(5) 关于本实验的工作量、难度、deadline;

有一定难度,工作量大,两周时间实验其实还算充裕,而且我很早就开始写,不过我报告写的很慢,一边写还要一边学习java,不是很轻松。

(6) 关于初接触“软件构造”课程;

课上的内容虽然有些抽象,但是确确实实是出现在实验项目里面的小坑,老师的讲解大大助力了我实验进度的前进。很期待之后的学习,希望能通过进一步的学习规范自己的代码编写习惯,提高自己编写的代码质量。

posted @ 2023-05-18 01:14  凌风647  阅读(39)  评论(0)    收藏  举报