目前距离Lab1的结束已经有一段时间,下面对Lab1进行简单的总结。
IDEA首先,是要感慨一下IDEA的强大。
作为一个IDE,它对于用户来说可谓非常友好。尽管对Java语言不算熟悉,但是IDEA能够帮助我们发现代码中潜在的问题、显示存在的问题。例如,while循环在一定条件下,IDEA以waring的形式提醒我们可以增强为for循环;在当前配置的JDK版本下,某些方法可以被新方法替代,如Integer.valueOf()会被以waring的形式被提醒可以用Integer.parseInt()替代,等等。对于代码中的出现的错误,IDEA也可以实时地提示给我们;还有些到达不了的语句、冗余的代码等等,都会智能地提示给我们。
(方法替换的示例)
(尽管不会这么写,但是在复杂的模块中,这种自动检查还是很有用的)
IDEA能够自动生成某些方法,如get、set、测试方法框架等,一定程度上为我们提供了便利。
IDEA同样继承了一些工具、插件、框架等,都是便于程序员开发的东西。
因此,我们要充分利用IDEA,提高编写代码时的“舒适度”。
其次,版本控制是十分重要的。
通过版本控制,可以将完成项目的一步步过程通过每一步保存在远程仓库中,清晰地显示出来,也便于后续查看。如果某个步骤发生了不可逆转的错误,也能够通过回滚等 *** 作,回复到近期的版本,重新完成这一步骤。因此,完成一个模块、步骤之后需要及时的提交。
当今版本控制工具以Git为流行,在以后的工作中,肯定会用到Git(不考虑新兴的版本控制工具在近期流行的情况)因此,需要熟练地掌握Git,为后续铺好道路。
最重要的,要牢固基础知识。
在P2的社交网络实现中,getDistance需要使用图搜索的某些算法(这里使用的是DFS深搜,当然BFS宽搜也不错),由于这部分基础知识有些遗忘,上手有些生疏,如果是半年前(当时有数据结构与算法课程),写这个还是没什么问题的,但是现在,还需要及时地去复习才能够完成。
Queue<Person> queue = new LinkedList<>();//DFS深搜,找最短路径
Map<Person, Integer> DFS = new HashMap<>();
DFS.put(a, 0);
queue.offer(a);
while (!queue.isEmpty()) {
Person head = queue.poll();
List<Person> friends = head.getFriends();
for (Person key : friends) {
if (!DFS.containsKey(key)) {
queue.offer(key);
DFS.put(key, DFS.get(head) + 1);
if (key == b) {
return DFS.get(key);
}
}
}
}
因此,一些基础的知识还是要牢固掌握,以免用到的时候有麻烦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)