暑假作业感悟

来自软件实验室
跳转至: 导航搜索
 刚走马观花的学完JSF,老师便给我门留了三个大作业,说是对我们能力的一次考核。说实话我的内心是拒绝的,因为我还没有太深厚的“功底”,自己单独做一次大作业肯定是“没有底”的。但不论如何已得做啊,面临挑战也是生活的一部分嘛。
 在三个大作业里,我毫不犹豫的选择了第一个,兴趣是一方面,更主要的是这个作业要求做一个学生成绩管理系统,很贴近我们的生活,我因为了解所以更有全局观,细节部分也能根据自己的要求进行更人性化的处理。所以,就此确定,我的暑假大作业就是这个学生成绩管理系统了。其实刚学过JSF,再看别人网页的代码也能看懂了,网页变得不再神秘,做这个大作业真的能综合我各方面的知识,真的是特别的锻炼人。刚开始确定题目时,我想了很多功能,比如成绩排序啦、验证登录时加上验证码了之类的,当时真的是空想,但自己却自明得意的飘飘然。
 但上手做起来我才发现诸多毛病和困难。首先,老师带领我们整体学习了JSF,只是知识框架,细节和内容需要我们自己去研究。而且我们并没有实践过,刚打开eclipse时我都不知道怎么去用,更别提去新建一个大项目了。本来我以为一个月做个简单项目已经绰绰有余,但现在才知道,对现在的我们而言,并不容易。所以我的起步是从学习开发软件eclipse开始的,虽然很low,但也必须承认。终于软件上手后,我就开始看官方给的JSF的那些简单却也简练实用的项目,因为JSF理论太抽象了,光看书的话不异于闭门造车,看别人的项目,看自己能看得懂的好项目,从阅读中学习,从模仿中创新,我认为这是学习计算机语言的一种很好的方法。在我大体会用JSF时,我才开始了我的项目。看别人的代码是一回事,而自己写又是另一回事了。起步,也是困难重重啊。遇到的第一个问题是,我的数据要怎么存放。因为我们还没有学数据库,当时真的对这个问题感到头疼。而登录的第一步就必须要账户和密码啊,所以这个问题还不能跳过去,我不得不面对。不怕你们笑话,我当时第一个想到的是用数组,或许是我在C语言中用数组用的习惯了,以至于在存放数据时我第一个想到的就是它。而数组是万万不可行的,首先数组的长度是固定的,虽然Java中定义数组时可以用变量,但是长度不能随要求改变啊。如果真的把这个项目推广,那人数一定是不固定且随时变化的。在Java或C语言中,确实有文件记录数据的方法,但是你写进文件中的东西,是很难按要求取出的,再加上如果人数越来越多,那这个系统的性能太差了。因为这个问题,我整天想得都是怎么保存数据,做梦都是在做项目,真的是到了一种痴迷的地步。当时真的是意识到自己的知识面真的是太短浅了。于是我在看书学习的同时,也在网络上看一些Java教学视频,一方面的也是学习,更主要的是扩展自己的知识面。时间慢慢的流逝,已经过去十几天了,而我的作业还没有起步,心里真的是很着急。心中烦闷又无可奈何,我一遍一遍的刷着我手机上所有的教学App,想寻求突破。功夫不服有心人,在慕课网上,我偶然看到有一个学生选课的实例讲解,遗憾的是它主要讲解的是如何去积木式的去做项目,没有什么高深的东西,但它里面所用的List集合和HashMap是我以前看书时没接触到的,在这个小例子中发挥了很大作用,于是我便查阅了很多资料去了解它们。发现List和HashMap也是存储数据的,且长度不固定,随要求而变。但是每一个写进它们中的数据必须先要实例化,我感觉他不太符合我的项目的要求。但是当时真的找不到更好的办法了,我的作业还没有开始,心里着急啊,于是想退而求其次,用集合做个简单的数据存储,先把作业起步再说。所以,我的第一个项目就这样在各种凑合中起步了。
 虽然作业开始做了,但我自己都对它很不满意,觉得可真low,更别提去拿给老师看了。所以我在“”中凑活做作业的同时,也在继续翻阅着教学类网站,希望能找到更好的办法。那天我想,如果把数据存放在文件中确实可以,只是很难提取数据,那有没有特殊的文件能解决这个问题呢?想到这个这里,我立马奔着这个目标去查阅资料。终于终于,我找到了自己想要的东西——xml文件。它采用通用的数据存储交换格式,语法简单,采用树形数据结构,相比HTML来说,它的语法更加严格从而保证数据的安全和唯一,最初是被W3C作为Web开发的标准之一,后来使用范围扩展到几乎所有类型的软件开发领域。例如:你天天使用的微软记事本程序就有一个xml文件来记录你上次使用设置的窗口大小,字体样式等。很多Web开发框架也把它作为一个配置文件来使用,这有利于降低程序模块之间的耦合性。这真的很适合我的这个大作业,可当时我用开始的方法已经做了很多了,如果换种方法就需要从头再来,而且当时的时间已经很紧了,我真不确定我能做的完。一开始的起步虽然是百般凑合,可是我花了很多心思去设计去布局,作业已基本成形,我真的不舍得放弃。但是考虑到以后要添加的功能,用集合确实很局限。于是我咬咬牙,决定转型,这算是我的新的开始。选对了方法,后面的一切都很顺利了,做完之后,心中满满的都是满足。
 做这次的大作业真的收获很大。首先,学习不仅要学的精,更要学的广,先求广再求精。因为如果你哪个知识点不足卡壳可以去查资料突击,但如果有的东西你都没有接触过,不了解,根本没办法解决。第二,要有针对性的查资料,能达到事半功倍的效果。就像我第一次盲目的查资料,收效真的很低。如果你先发现问题,从问题解决的办法去查询,这样更快更好。最后一点呢,多翻阅网上的资料,去看看大亨的世界真的很能扩展自己的视野,收获会很大。现在手机学习App很多,在无聊时看资料比玩游戏更有意义。这个暑假,过得很充实,真好。