查看原文
其他

我的编程之路--大学趣事

2016-04-13 老刘 码农翻身
说来可笑, 我97年上大学的之前没有接触过计算机, 大一老师上来就讲C语言,还不是先讲语法, 而是先讲C语言的集成编程环境(IDE) , 就是当年流行的Turbo C 。 
当时教学信息化程度很低, 没有投影,只靠老师在上面口干舌燥的干讲, 其中有个“菜单”的概念彻底把我给搞迷糊了, 我无论如何都想象不出计算机编程和饭店的“菜单”到底是怎么关联起来的。  
一直了上机时间, 真正把Turbo C打开, 才恍然大悟, 菜单不就是上面一排能够操作的东西嘛, 到底是谁起了一个这么怪名字!
大二下半期, 我百无聊赖中浏览到图书馆的网站, 发现堂堂的图书馆竟然没有搜索功能, 于是就按照首页下面的联系方式写了个邮件,不知天高地厚的说自己是计算机系学生, 能实现这个搜索功能。  
当时刚刚学会ASP,会搞一点动态网站的开发, 天真的以为用个数据库的like 语句就能做搜索了。 
后来没想到图书馆的老师回信了, 告诉我某月某日下午2点去找他,见了面老师谆谆教诲说, 搜索可不是Like, 得建立索引才行, 这个你还暂时做不了, 不过图书馆的网站要改版了,你们可以做一做,于是我就得到了这么一个小小的项目机会。  
你看找项目还得主动啊。 
大三的时候杨老师给我推荐了一个小项目,司法局考试的报名系统, 需要把所有的考试人员信息都录入进去, 再打印出来。
我一个人用FoxPro 做,FoxPro自带了数据库及开发工具, 做这种小项目是在是太方便了。

等到所有的信息都录入进去了, 人家提了个要求, 说40个人一个考场, 要把所有的考试人员打乱以后再打印准考证,防止熟悉的人坐在一起考试。
我当时想了一个点子: 考试人员的姓名应该是随机的, 按姓名排个序不就自然把人员打乱了嘛。当时还挺自鸣得意的, 多好的点子, 数据库一点儿都用动。 
真正把准考证打印出来以后就傻眼了: 一个考场全是姓张的, 另一个考场全是姓王的.......   几乎同姓的都坐在了一起。 
不知道后来监考老师或者考生发现这个规律没有, 真是太囧了......
打印准考证时发生了一件很悲惨的事。  当时一张纸上我记得是打印9个准考证, 等到所有的都打印完了, 就会把所有的纸摞起来, 用一个特制的剪刀,就像照相馆切照片一样, 把准考证一个个切好。 
这就要求每张纸上打印出来的准考证一定要对齐,要不然就会切坏。 
刚开始打印的时候,把一摞纸放在打印机的入口,自动进纸, 可是打印出来的准考证总是对不齐。 这就没法批量的切了。 
我花了很多时间仔细排查代码, 也找不到最终的原因。 
后来偶尔发现,一张一张的往打印机里边放纸, 就没有问题。 
结果估计你能猜到, 我就坐在打印机旁边, 一张一张的放了整整一夜.....
大三暑假的时候王老师带着我们几个同学做郑州铁路局的项目,一个辅助列车维修的系统,其中一个模块就是选择轴承。  
通俗点讲就是给定一个轴承,系统按照特定的条件(例如厂家,型号)等从轴承数据库中选取另外一个轴承。
这个模块有个小Bug , 就是选出的轴承别的条件都满足, 但有些时候在直径的精度不符合要求, 这在对安全要求极其严格的铁路系统上是不能容忍的,
但是操作员重新选择可能就没事了。 
我被分配来改这个难于重现的Bug,   这是典型的遗留代码程序, 一个方法长达好几千行, 为了仔细研读, 改正这个bug ,我把它打印了出来,  足足打了10几页纸。 
那个暑假我就经常坐着床上,捧着这充满Visual FoxPro的代码纸带看,不知道看了几遍,终于看明白了其中的逻辑。
但是由于当时没办法把系统的数据库Copy回来做单步调试, 看懂了代码以后依然找不到Bug 的原因。
后来毕业以后看到有人讨论浮点数的比较问题, 说是不能直接比较,应该相减后和一个极小数或者0比较, 突然间想到了当年轴承维修系统, 意识到很有可能是因为比较高精度浮点数处理不当引起的,  可惜那个系统已经被替换掉, 再也没有改的机会了。
大四的时候, 有个老师可能为了评职称,需要出本一本书 ,于是就找到了我们几个平时编程比较活跃的同学,于是我也有幸的参与到了这本书的编写。
这本书主要介绍网页制作,由于我之前搞过个人网站, 所以就负责写了动态网页的部分,包括javascript 和ASP编程, 其中有一章专门讲怎么建站, 我就近水楼台的把我的网站建立过程给讲了一遍, 还附带了我的网站的截图,现在看来成了一个宝贵的留念。
今天回过头来看看, 这本书写的挺糙的。 10多年后,我和同学们聚会, 其中有个同学的朋友也来了,他说,你知道吗, 当时你那边书对我的帮助还挺大的, 特别实用,   汗。。。我的网站
重点来了:大学期间做项目对于将来找工作是很重要的, 我之前写过一篇文章《从现在开始,丰富你的简历》,就是强调项目经验对简历的重要性(回复“简历”或者在菜单“精选->闲聊”中查看), 我的大学经验就是: 1. 主动,主动再主动,2. 就是和老师搞好关系,老师那里可能有项目或者推荐你去项目。 
公众号:码农翻身“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存