什么是“基于演示的开发”?
有一天和一个同事吃饭,我们聊到了大学里面做项目的事情,他说在大学的时候,他们那流行一种说法叫“基于演示的开发”,我心想这是什么高端的软件开发方法学?原来其实就是说对于作为课程中需要完成的小项目,后台功能是真的完成了,还是fake的,这个无所谓,只要当向其他人进行演示的时候,只要系统的界面好看些,系统“看起来”是功能完整的就行了,因此取名“基于演示的开发”。
虽然我是第一次听到这个说法,但在学校的时候,大部分同学都是基于这套“理论”进行小项目开发的。后台真有连接数据库吗?不一定,只要把结果直接写在代码里面就可以了;点击开始运行某算法,真的运行了吗?不一定,只要把预期的结果直接返回就行了。这种“造假”,在我大学本科期间,甚至研究生期间,比比皆是。说实话,我自己也造过假,只不过比别人少很多罢了。
为啥会有那么多“基于演示的开发”呢?说白了,你随便弄个可以演示的DEMO,和自己认认真真、辛辛苦苦的开发,最后的结果是一样的,前者的结果甚至会更好,我干嘛费劲呢?反正老师也就是随便看看,大部分也不会问什么细节(有的计算机专业的老师,我都对TA的计算机知识的掌握程度表示怀疑),就是个走过场。
三位同学的三件事
说到这里,我想起来了大学三个同学的三件事情:
同学A,学习挺刻苦,考试成绩很好。大学学习JAVA课程的时候,老师让每个人做一个基于JSP(全称:Java Server Pages,当年很流行的)的小网站,然后交一个设计文档。结果A同学不会写也不想写这个JSP,然后就随便写了几个HTML的网页,截个屏,写了个文档交差了,结果他截屏的时候,居然把浏览器地址栏也放进去了,地址栏里面赫然显示着xxx.html
!我们在这个文档发回来的时候发现了A同学的“亮点”,貌似老师也没发现。。。
(之后同学A考研考上了某著名985大学,读完硕士,去美国读计算机博士了)
同学B,学习挺刻苦,考试成绩很好。本科期间倒是没什么太多的故事,他本科毕业之后,一心想读研,考了一年又一年,考了两年还是三年,好不容易考上了某著名985大学的软件学院。我平时觉得同学B编程能力也不是很强啊,为啥会选实用性较强的软件学院呢?有次我碰到他就问了他这个问题,他说,这个学校的软件学院,研究生入学考试不用考上机编程,只用做卷子和面试就可以了。。。。
(同学B读硕士的时候,只知道去上海某著名外企实习过一段时间,毕业之后下落不明)
同学C,学习上(个人感觉)不像前两位那么刻苦,不过成绩也不错。据说,只是据说,他大学四年期间,有的考试会用一些“特殊”手段,让考试成绩有所提高。这个是否属实,我不能百分之百确定,不过有次在考试的时候,他坐我旁边,的确问过我某一题选什么的,我看了看他,然后继续答题了。
(同学C最后因为成绩不错,最后保送本校,读博士了)
其实,我和这三位,都是很好的朋友,他们都不是有啥坏点子的人,大家都过着各自不同的生活,呵呵。好久没见他们,还是有些想念的。
浮躁
我觉得,类似这种“基于演示的开发”的出现,跟学生没太大关系,并且学生是受害者。大家从小接受的教育就是倾向于“随大流”或者“什么专业赚钱多就选什么”,很少有人因为这是自己的兴趣爱好而选择自己的专业的(至少我看我们学校本专业的是这个情况),既然学得不是自己感兴趣的东西,就没什么动力去深入挖掘其中的奥秘,需要交什么作业,随便糊弄个就完了,只要能在学校这个“system”里面玩转就行了。接着大家有的毕业去工作,有的留校当老师,优良的“传统”就在职场和校园里面一代代传下去了……
出现了这种现象,到底是什么原因呢?我想“浮躁”这个词可以概括,社会很浮躁、学校很浮躁、学生们也难免浮躁。算了,还是不说什么抱怨了,太多的抱怨是没有用的。还是大家各自努力吧,沉下心来做好身边的事情,每个人都少点浮躁,多点执着!
—EOF—