代码改变世界

搞不懂,如此“程序员的傲骨”,有何意义?

2008-07-13 19:34  JimLiu  阅读(797)  评论(11编辑  收藏  举报
都说程序员有程序员的傲骨,我对此的理解,也许仅仅是说对自己所采用的技术充满信心,而对某些技术不屑一顾(注意,!=鄙视别的技术,只是不关心而已)。但我却发现身边有的程序员的“傲骨”却特别特别奇怪。
前段时间和同学一起帮老师做个新闻发布系统,很简单的东西,4个人讨论了下——说实话新闻发布系统其实已经相当熟悉了,讨论的也不过就是把自己知道的都说出来一遍。后来有要求要评论,就要登录,就保存状态。然后就很“自然”地开始Session["Username"] = username;
我巨无语,我心说这就是做了这么久ASP.NET的功底啊?人微软好端端的FormsAuthentication不用,干嘛用Session这么古老又问题多多的状态保存方式,我就说我们用FormsAuthentication吧,这样比较符合ASP.NET框架的设计。结果回答竟然是“那是给懒人用的”。
我彻底无语了,剩下的事情也许大家都能预料到,StringBuilder拼接字符串,然后<%= xxx %>就输出了,开发的进度到的确相当相当的快。不过我就觉得这样做下去能干什么,我们组ASP.NET也弄了一年多了,怎么还在这样做呢?SQL语句还是拼凑,连Parameter都不用,用了很多手法来得意洋洋的声称自己的表单不怕Injection……知道有Linq to SQL,便高呼那是“懒人专用”。
诚然我坚信我们在刚开始学习一门技术的时候,不要过早地使用框架技术,不要过多地依赖方便地、高度封装的组件。因为学会拼接SQL语句能让我们更好地了解数据访问在开发应用中的重要地位,知道Response.Write()才会在探究服务端控件的Render()方法时不会觉得陌生,知道UpdatePanel在回送时不会减少数据量才不会陷入GridView在UpdatePanel里的ViewState陷阱。但既然已经不再处于如此入门的一个过渡阶段,又为何竟还要如此抵制数据绑定,抵制DataSource控件,抵制ORM,说那是“给懒人用的”。
这样做不是闭门造车吗?
话说回来,也许在小型项目——小到不能再小的项目——比如最简单的留言板,我们的确不需要什么框架技术,只要用最简单、最直接的方法——获取表单数据->访问数据->处理数据->输出回应——这样就好了,但一年多来也不是就干这么简单的事情的时候了吧?现在老师叫我带着做个网站什么的我根本就无从下手,世界上最优秀的程序员花了多大的心思构建的框架,在他们眼里真就不值一个钱吗?弄得我现在都没法安下心来和他们配合了,不如我一个人安安心心做前端,写写CSS,弄弄JavaScript,也总比看到对方的代码历史dr[5]而不是user.Gender甚至不如dr["gender"]的时候去挨个数上面代码里select出的省心。我承认我以前也这么做,还得意洋洋地说“dr[5]比dr["gender"]快XX倍”。但既然已经意识到这样做对配合的灾难性打击,为什么又不肯放下自己那一点点“傲骨”,去为团队里的别人省那么点心呢?
看来我似乎有点愤青了。