提起.net版的BBS系统,我想很少会有人知道“飞翔论坛”这么一个东东,但学习.net的朋友应该都知道这个网站:中国DotNet论坛。该站用的.net版BBS系统就是2002年底完成的飞翔论坛第一版,这个版本是我们工作室的飘雪一人完成的,我当时还在搞ASP开发,未涉足.net。印象中那时候国内公布的.net论坛并不多,比较出名的就是天行论坛和喳喳鸟的印象论坛,天行论坛是开源的,有VB和C#两个版本,源码我没细看,不好评价。客观的说当时的印象论坛是速度最快的,功能也相当完善,至于为什么没有像动网那么火,一个主要原因就是国内.net服务器太少且价格昂贵。
2003年我开始学习.net,并希望能将飞翔论坛重写一遍。我做的第一件事就是按照统一命名规则对数据库和主要类文件进行重写,并在重写的过程中体会.net的特点和优势,记得当时困扰最大的就是怎样使页面与代码分离,事件委托等。对于ASP转过来的程序员,这是思想上的一大转变。经过半个月时间我逐渐熟悉了.net环境,这个时候非典爆发了,我们被封闭在学校搞毕业设计,毕业设计是个ASP项目,我没的选择,飞翔论坛的二次开发也因此暂停。(本该学生发挥才能的毕业设计,被学校拿来当作摇钱树,真是中国教育的悲哀。)
想不到的是这一停就是半年,毕业后我应聘于青岛一家网络公司,做的工作是ASP开发,而不是他们当初承诺的.net开发。因为公司的主要业务不在我这块,所以平时比较清闲。业余时间我都用来看书,期间读了几本很好的书,如《C++ Primer》、《数据结构C++版》等,我当时的想法很简单,就是要成为一个真正的程序员(因为潜意识里一直认为ASP程序员不是真正的程序员)。我当时还为自已制订了一个职业规划,学好C++和数据结构然后转去搞C/S开发,等自已有了一定的开发实力后再转回搞企业级B/S开发,呵呵,其实我当时还搞不清楚企业级B/S开发与我做的ASP网站有什么不同,只是直觉里认定这是两码子事。
2003底公司上马了一个重要的项目,我一个人负责网站和数据库这块,经过一个多月的加班,项目完工,我也累得心力交瘁。为了弥补自己项目开发经验上的不足,我决定利用业余时间继续飞翔论坛的二次开发。在进行了简单的规划之后,我便开始了这次开发。
古人的那句“书到用时方恨少”确实是至理明言,可怜我那一点点软件工程理论都在毕业时还给了老师。而仅有的一些项目开发经验也都来自ASP项目,这对于初次尝试三层构架的我来说实在太难了,很多功能无法按照预期想法实现,于是项目中我还是夹带了很多ASP的思想。据我所知,当时国内的大部分.net论坛,其实也都是换汤不换药,在不改变架构和思路的情况下,仅仅更换了开发语言而已。
就在这样的状态下,我完成了论坛前台的开发,用时一个多月(其中有将近一个月我在家,是全天工作)。完成后,我试着进行了一次统测,感觉还不错。当时的想法很单纯,认为只要跑起没错误就好,根本就没有考虑可维护性和可升级性。
很快我就为自已的糟糕设计而吃尽了苦头。我开发时选的数据库是SQL Server,后来因为找不到支持SQL的空间,我就想把数据库改ACCESS,等我去改的时候才发现,这根本就是一项“不可能完成任务”,对于数据库的操作我没有进行封装,在数据读取时直接引用了DataReader对象,而SQL和ACCESS的DataReader对象是不同的!呜呼,眼看着一个多月的辛苦变为垃圾,那种心情可想而知。
这次失败的惨痛教训让我认识到了自已在项目开发中存在的问题,我开始关注软件工程和OO思想,先后读了《软件工程思想》、《Thinking in JAVA》、《敏捷软件开发--原则、模式与实践》等,这些书让我获益良多,而国外的开源项目源码更是给了我直接的认识,也确定了我学习JAVA的决心。
2004年上半年是动荡的半年,当我经历了工作上的变迁,技术上的转移后,我开使重新认识自已,认识程序员这个职业。面对挫折,我比原来更加热爱我所从事的这个职业,也更加自信,因为当我克服了这一切,我离梦想又更近了一步。
这就是我毕业后的这一年,虽说有很多事值得写,但我还是想写写这个我作了一年的失败项目。文字有点生硬,更像记流水帐,还望大家海涵,明年再总结时,希望能写的好一点。