当年的部分课程项目回顾(一)

      但凡有人自发地写总结,目的大抵有两层:立座“碑”;立面“镜”。“立碑”,就是把自己的陈年旧事,挑出影响颇大的,记录下来,以立下一座座“里程碑”,从而可激励自己,继续前进。而“立镜”,则是因往事也是反省自查的依据,正所谓“以史为镜”,自家经历的事儿,当然对自己更有借鉴价值,亲历的经验,取精去糟,以渐臻更妙的处境。今番便容我将大学时候做过的软件项目,摘出一部分较有意思的,评述一场。若能给后来人有所启迪,那就更好。

1. 命令行下的简易内存数据库-C语言课程项目(大一上)
      在命令行底下接收用户的类似基本SQL语句的输入,在内存中建立数据库表,添加、删除、更新、查找数据,where子句要支持逻辑运算。只能拿C语言写,不准用C++里面的类和标准模板库,一切数据结构,要自己搭建。
      这可让当时刚入此行的学生们折腾了好一阵子。到最后,什么运算效率之类的都没有余力去考虑,程序跑出来,结果对了,不崩,英雄,不然就狗熊。
      程序的代码算下来写了两千多行,对于当时的水平,算是很大的工作量了。耗这一通工夫巩固初学的编程,正应了学院的方针,就是勤练习,多实践。编程伊始,就得肯狠下心,下这一通实践的工夫,基础才能打牢。靠纸上谈兵,清闲了一时,舒服不了一世。这是这个项目当年带来的启迪。
      这项目,折腾人的地方——也正是训练人的地方——主要有两处。一处是数据结构的选取。有个说法是程序就是数据结构加上算法,自有其道理。当初还没有缓冲区啊、按块分配内存的思想觉悟,不过知道链表、双向链表,干脆就弄一个十字链表,四个方向上留指针。就这个样子把数据库表的基本数据结构的节点结构体构造起来了。这要拿后来才懂得知识讲,就算是个设计阶段。之后就开始正式编码,实现算法。第二个难点也就蹦出来了,那就是指针操作,C语言的精髓就在这上头了。对于编程的初学者来说,指针这关过得去过不去,就是两层不同的境界。所以指针操作得多练。当年的项目,瞅瞅那个怎么看都不顺眼的十字链表,就知道指针操作的量有多大。一个不留神就崩掉了,顺带着还能练习调试的能力。这个项目就这样给初学编程积累经验。

2. 超市管理系统-数据库课程设计(大一下)
      这一回是自选的题目。用C#开发的,数据库用SQL Server。这是大学里头一个团队项目。功能就是超市的进销存,重点一个在数据库的设计上,另一个就在于在代码里连接、操作数据库的实战演练。
      说实在,那还是我头一次拿Visual Studio写完整的项目。以前觉得这玩意儿开一次太慢,周围人都用开了,我还拿着VC++ 6.0学程序,自诩为不跟风的精神。这回写C#的程序,没辙了,用吧。一用就一直用下去了。当年悟出来的就是,老的工具诚然不错,然而大的走向形势,也不容逆转。非要逆着业界的形势走,甚至回到Turbo C,抱住不放,到了企业里头怎么办?看过老舍写的《断魂枪》没?得跟人家学。所以,业内的风,不盲跟是不盲跟,但不是说可以不管大势所趋。有机会最好是什么玩意儿都用用,用的集成开发环境多了,以后再用什么环境,都就不是重点了。见多识广了,以后做事情思路也广。好了,就到这儿了,一个小插曲,本不值得说那么多。
      项目做完了,头一回项目答辩。后来才知道,这回答辩是整个大学里最狠的一次答辩,像那种比较水的毕业设计答辩,也跟这回没法比。主要当时也是头一次答辩,没经验的人心里都容易发虚。一进去一个老师坐当中,两个助教在两旁,这就是“三堂会审”的架势。然后答辩的组派人上去演示程序,一个操纵电脑一个去投影那边讲。问得也严,火药味儿也重。当时写项目还都处于要求不崩就行的阶段,别的方面大都考虑不足。那回可提了醒,程序的容错性得好。比如演示到“销售”界面,老师一指“金额”栏,你给输入个负数试试,再一指“数量”一栏,你输个汉字。程序没报错就扣分,崩了使劲扣。那回过去之后,在大学阶段里,答辩什么的就不怎么怕了,因为后来的气氛大都平缓,也没那么严,没有比那回更狠的。由此可以看出,初窥门径的时候要求严格一些是有好处的。
      至于技术上的收获,主要就是ADO.NET操纵数据库。想当一个合格的基本型软件开发人员,以后好混碗饭吃,我想这一块的练习是不能缺少的。

3. 井字棋(Tic-Tac-Toe)-汇编语言课程项目(大一下)
      写了个人机对弈的井字棋游戏。要是觉得井字棋的名字没听过的话,就去想,看没看过三乘三的格子里,俩人轮流画叉和圈,谁横着、竖着或者斜着练成仨子儿就算赢了。程序的流程就是,选个先后手,然后用屏幕中断把棋盘画出来,跟电脑下就成。主要就是熟悉汇编语言的语法。虽然汇编语言以后开发很少会用,不过对了解计算机的底层机制是有帮助的。关于那个项目,更多的内容也会以不出来了,因为项目的源代码被我在一次格式化硬盘后搞丢了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值