不要拿项目做毕业设计

     这个学期除了9月和10月两个月疯狂的学ArcEngine的二次开发包,就是在别的院系那边改一个遗留系统。(该系统用MFCACE开发)

 

遗留系统让人魔性大发:

 

1:代码极度的混乱

不是一般的混乱。代码被很多人修改过,很多人靠这个不成形的系统毕业(还是硕士论文)。代码没有统一的风格,像aaabbb之类的变量名称很常见。代码之间没有空行。网络,显示,算法的代码交织。在刚看代码的初期,很多的注释不是关于代码的解释,而是这段代码的修改人和修改时间。据说这个项目接下来已经三年的时间了,从最初的实验性尝试到现在还能看的作品,经历了许多的累积代码工作者(这些人的工作只是简单的累积代码,不是编程人员或者程序员)。

 

2:没有模块的概念

整个软件没有架构,没有整体的规划,上面的开会的任务是确定界面,然后实现他们需要的功能。虽然已经过了几年,没有看见一份软件设计的说明书之类的书面说明。

具体到代码,原先的设计竟然可以继承CStatic,弄一个CXXXStatic,然后不分功能的把所有绘制图形的的代码都放于其中。在FormView中拖入几个Static,其类是CXXXStatic,标签页用的是VC++6.0自带的tab,点击不同的tab标签,SW_SHOW或者SW_HIDE这些被拖入的Static控件。

 

3:功能不成形

这套软件的理论的基础还很新(主要是算法),有些功能还不能确定,国外的莱卡,天宝做的不错,上面下令模仿。其中有一块GIS的内容,原先的开发者们凭自己的GDI技术,弄出来“放大”、“居中”、“平移”,三项功能,这个确实很不错。不过为什么不用成熟的GIS控件呢?因为绘图的代码都在CXXXStatic里面了(那边没人用GIS控件)。

 

4:很多未知的bug

很多的bug,比如在接受电文的时候,需要进行加密,调试的状态(F5)和DebugCtrl+F5)获取的字符的长度是不同的。所以一直在F5的状态下运行软件。寻根溯源,这个问题还是很容易发现的(C++中最难控制的问题之一就是字符)。在发现问题处,有这样的一行代码:k=k-12,作用是截取字符串。12是怎样定下来的,是经过一次次的调试确定的…………

 

和那边主导该项目的博士闲扯的时候,才知道这个项目最初的版本是某几个学生的毕业设计,整个软件的结构都在那一刻被定性了,没有系统设计人员,没有软件测试人员,除了几个能写点代码的研究生在那边鼓弄。(当然学校中还是有很牛B的人的)

 

这几年的高校研究生的扩招,使得研究生开始和本科生一样不值钱。“什么东西到批量生产的时候,质量就得不到保证”。考研是二次高考,大三大四一年多的时间都在弄那些东西,英语、数学、专业课没的说,关键是还需要弄Party的政治。痛苦的一年,上了研究生,可以玩了。于是研究生变烟酒生。要做一个东西,不会,网上很多,不会的上网搜,google,百度,山寨。别人有写好的功能代码直接贴过来,于是一直贴,代码没有统一性。最后的作品,功能是有了,但没有扩展性可言,性能得不到保障,后来人再想弄这个的时候就很难下手。

 

在高校做IT有很多的弊端,研究生的水平并不比出去工作的人水平好。学生对整个系统的把握、分析和思考远不及在企业中的专业人员。很多新的思想和技术不能融入学校的IT。公司企业对其研发的能力超群:关系型数据库是IBM的,微软已经很好的解决了遥感图像道路线提取的问题。高校的话,还是最好能最好自己的本职工作,去做些实际的事情。

 

如果真要把项目给学生做毕业设计,让他们实现一个功能,成品是个dll就好了。系统架构的设计等问题还是需要专业人士的设计。毕竟一个好的软件架构对今后工作有莫大的好处。

 

刚接手系统的代码,很痛苦,几次想退出。做了很大修改,代码的提取,模块的分类、设计,以及克服MFC自身带来的难处。幸好,我还有音乐。谢谢许巍和信,我们的生活需要力量。

 

自己的老板马上回来,要开会说项目的事情,大四那群孩子的毕业设计就要从中弄题目,有机会跟他面谈这个事情。

转载于:https://www.cnblogs.com/onthebox/archive/2009/01/01/1366591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值