大三开学总结!

不知不觉都已经大三了,突然有种莫名的慌迫感——我越来越感觉到自己学的东西太少了,我自己太菜了。身在一个毫不起眼的二本校,我没有其它外部办法扩大自己的眼光。。。。。我上大一大二时,未曾听所过学校有什么软件方面的人才,而论算法,倒还能有几个拿得出手的家伙。我曾经也一度沉浸在算法研究中,但后来越来越感到枯燥乏味,大概是感觉自己是个软件工程专业的,不弄点实际点的东西,整天敲那些破算法,大学四年下来也学不到多少东西的。。。。。找工作时,我估计没有哪家公司招聘只考算法。。。。。 

 

 

 

大二上学期我决定放弃算法研究了,正好这学期开了门《软件工程导论》的课。以前一直以为软件工程的话就是些大的不得了的知识体系了,课本上估计全是代码,心想着这学期有搞头了——可课本发下来时,我晕了,基本没有代码!那课本简直就像马哲毛概的课本一样。。于是我对这门课兴趣全无。 不过有一点我非常感兴趣:这老师让我们4人一组做一个数据库界面软件——一下子把我的胃口吊起来了,我做梦都想搞点实际点的能证明自己能力的东西出来!  我专门挑了3个编程菜鸟,目的就是想单干。。。他们的作用只是干等我的成果(实际上,班里真正对技术感兴趣的人只有那么三四个,至于其它的,都是些专业不对口味的,大学四年看来只想拿个毕业证而已,我随意挑几个都是编程菜鸟。。。。。  而我不让他们插手实际上也是为他们好,事实上在我看来,让一个人整天硬着头皮去干些自己不喜欢干的事,活着还不如死了。 我单干完,他们也能拿到平时成绩,既锻炼了我的能力,又不为难他们,这样一箭双雕的事,何乐而不为?)。很快的,我就开始工作了。我花了10天时间学习了VB数据库编程,又花了一个月时间做出来一个《便利店进销存管理系统》,总共敲了9875行代码(我把代码全部粘贴到word中去,看最后一行的行号就能知道代码量)。 其过程真是一言难尽。。。。。我算是真正体会到了软件绝不是敲代码的真理! 以前总感觉无论多大的软件,一个人去搞肯定能搞定,而且能在短期内搞定——不就是敲代码吗。。。。。 而做完这个软件,我完全深刻的理解了软件工程学的宏伟和伟大。软件绝不是一个人的事! 单说编码和测试都必须要不同的人来承担。一个软件设计和测试所占用时间远远大于编码的时间才是最正常的软件。 我记得有很多次,一个窗口下的功能需求分析不到位,或出现错误需求,一气之下,一千多行代码全部删掉,重来!  没人知道我写那一千多行代码的艰辛! 遇到很多问题,花了很多功夫才解决,现在却要说删就删。。。。。我心疼啊! ——算上我删除过的代码,这个软件的真正代码量已经远远超过1万行了。  在我做完这个软件之前,我从未去翻过那本《软件工程导论》的教材,直到我做完后才去翻,有一种说不出的豁然开朗的感觉。。。。。我进行需求分析的时候都是在纸上乱画的,杂乱无章,第一天画的到第二天就不知道思路了。。。。。而软件工程学里有一种很重要的工具——数据流图! 这样的规范用起来之方便非我所能想象。  当我大致的翻了一下那本书时,才领悟到软件工程学的本质之美。从可行性分析到需求分析,从概要分析到详细设计,再从编码到测试,这才是真正的软件开发过程!  我越来越感觉到我做软件的过程相当于软件工程学发展的过程。之后又花了很长时间去细细研究那本书了。。。。。     我也体会到为什么软件工程这门课很重要,而却很少有学校能教好它的原因。。。。。 我曾当着我们老师的面说:这就相当于一个七八十岁的得道高僧给一个六岁的小和尚讲法,你说他能听懂几句?一个吃过苹果的人给一个没吃过的人讲苹果是什么滋味,你说他能领悟多少? 我们的软件工程这本书是多少个工程师历经多少年的编程才总结出来的经验,放给我们这些很多人连1000行代码都没敲过的人去听经验,这不是天方夜谭吗!       这是我这学期的所有心得。。。。 事实上那本《软件工程导论》课本也很经典,我到现在还经常翻出来看。

 

 

 

大二下学期(上学期)又开了门《数据库原理》的课。作业跟那个《软件工程导论》的完全相同。。。。。事实上,我完全可以拿那个《便利店进销存》系统去充当它,但我没有。 我一直有个想法,从大一第二学期开始的,那时候刚学完C++,想进阶MFC,但一直没有机会(事实上,不是说没有机会,我学编程在压力下才能学好,说没有机会是因为一直没人给我压力去学MFC),当初的《软件工程导论》的作业老师不让用VC做。  这真是个千载难逢的机会。。。。。 这次的软件开发,我是完全按照软件工程的流程来做的,数据流图也画的一等一的标准。  而 MFC可怪累人的,没有WINDOWS API的编程经验,谈入门真是难极了。。。。。  我花了两周时间,每天只睡2——4个小时,大概看了下API的消息机制和实现原理,又看了孙鑫的VC视频,尽管这样, 编程时候还是一无所措。。。。。 功夫不愧有心人,在第三周时候我花了一周时间才搞出个主界面,对MFC的才算有了个大体认识,基本可以算一脚踏在门外,一脚踏在门里了,之后的事情就是OLEDB ADO数据库编程了。 没得说了,单开始编软件,不算刚开始学API和看VC视频的那两周,整个忙活了一个月,每天只睡2——4小时,有时候遇到一个小问题,我也得花整整一天去解决,我这个人不喜欢问人,关于技术方面的总喜欢自己一个劲的去钻。事实上除了QQ群里的,也没什么人可问的,而群里去问项目中遇到的问题,很少有人能答得上来。。。。。。  至于我的同学,没一个用MFC做界面软件的——主要是入门门槛太高了,他们不是用VB就是用老掉牙的VFP。。。。。      天有不测风云,就在我剩不到2000行代码就竣工的时候,那天我的笔记本显卡温度过高,黑屏了,我强制重启后,那个MFC项目被损坏了。。。。。  我尝试了所有的修复方法都没能还原。   伤心透了,近2万行代码的产品啊。。。 就这样成了一件半成品了。。。。。   伤心之余,我也在内心安慰自己:技术学到就行了,没必要太伤心了,软件做的好与不好,也只是虚名而已......   现在想起来都怪可惜的,奋斗了45天的成果说作废就作废了。 我的数据库作业最后用以前我给别人用VB做的不到2000行代码的小型《图书管理系统》顶替了。 反观整个过程,这次的软件不同上次,这次遇到较多的是技术难题,很少出现设计出错问题。。。。  

 

 

 

 完了后我偶然发现同学有本《C++ Primer 第四版中文版》,以前一直听说是经典,既然是经典,怎能逃过我的手,就开始研究了,越来越发现,公司里的面试题貌似专门针对这些老外写得书的,《C++ primer》上面的讲解风格和习题风格很怪异,不同于我以前所做过的课后习题,记得大一下学期我们的那本清华大学出版社的C++教材,我用了不到一周时间久看完了,课后习题简单的离谱,想都不用想就能知道答案。而这本书中所有知识点,每看一次就有一些新体悟,尤其是那些灰色框架里的部分,感觉老外讲解很偏重本质和效率,是在引导我们自己思考的思维,当一个问题提出时,我们就有了自己的见解,而中国人写得书完全就教条式的,一看就懂,但完了后我们自己就没任何思考问题和独立判断的思维,有别人向我们提出问题时我们总想着怎样用课本上的知识去解答,至于为什么这样答,答案是:不知道!反正感觉是种很奇怪的差异,大概是中西教育文化传统所致吧。。。。。。  有了以前的C++基础,看这本书也算是开拓下视野吧......  PS:想用MFC混饭碗的话其实C++功底可以不用很厚。

 

 

 

最后,来大概规划下这学期的奋斗目标:c++ primer,effective C++,more effective C++,数据结构(自己封装),STL,多线程,socket,多媒体编程,UML,操作系统,编译原理。。。。。 若有剩余时间,当然会去研究经典了,我发现我现在对经典越来越着迷了......呵呵, 能看得出来,我现在越来越偏基础了,事实上的确如此,我以后大概也不会花很多时间在软件上面了,以前编程一腔热血,大刀阔斧,总想干点实际点的东西,但现在不了,搞那么多界面软件,一个软件就是至少上万行代码(没办法,我这个人就喜欢追求完美,总拿自己的产品跟那些公司产品比,功能上胜不了它也会打成平手的),事实上敲到5000行代码以后,其它的工作基本上是些重复工了,学不到多少东西的。。。。。。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值