18日傍晚玩回来,便到康乐小区边的一家饭店和同学一起吃水煮活鱼。好大一脸盆啊,哈哈哈。三个人吹着空调喝着啤酒,不亦乐呼。
照例跟他们扯起技术八卦,比如TDD,重构,MVC……貌似我已经变得越来越经常扯淡而少干实事了。
其间主要说了一些如测试先行、小步迭代、DUnit、TestSuite、TestCase等等,然后把JAVA下的那些MVC模式的Web开发框架吹了一通——其实我几乎都没有试过。-_-|||
然后把MVC的理论大加赞扬了一下,再批了一通RAD,最后大致说了一下偶最近刚想到的关于用MVC模式来改进GUI应用设计的一些想法,基本思路就是改善GUI应用的可测试性——只是一个思路,真要实践还是很麻烦的。
同学M这两年在做CallCenter,用DELPHI/COM+搞开发。其间也常在MSN上问偶一些问题,说实话,这方面的应用我只做过一些简单的。所以当他问到一些诸如改进中间层性能的技术细节问题时,我还是答不上,只好让他去参考李维的书。或是踢给MSN上的另一个朋友——“蛋蛋”。”蛋蛋”做这方面的应用已经有很多年了,相当的专业,在他的帮助下,我同学那个CallCenter还算完成得相当不错。
这天我们聊到这个方面的事时,同学M感慨说:在实际应用中碰到的问题远比想像的要多得多,这些靠扯淡是不行的,必须有实践,就连李维的书在一些关键问题上也是没有搞清楚。
我说:还好咱们有“蛋蛋”。
他说:是啊,我们公司原来做这个CallCenter的那几个程序员也是,很多问题搞不定,然后就只会说COM+技术不好。
我说:那是因为他们没有“蛋蛋”。
貌似偶好像很不厚道。-_-|||
扯得太远了,回到正题上来。
我发现我虽然对各种前卫的技术、概念、理论知道得很多(所谓的“知道分子”便是如此),但却未能对任一种技术作相当深入的研究,就像“蛋蛋”研究COM+这样。而实际上在国内软件业中,这些不知道TDD,不知道重构,不知道MVC,不知道AOP……但却专注于某一个特定方面技术的软件开发者却往往是实际开发工作的主力——特别是在非JAVA语言的软件开发中。
我以前说过,了解一项技术的关键不是知道它能干什么,而是知道它不能干什么。这才有可能真正地把这项技术用好,只有用好了才有可能做出好软件来。
看来我有必要适当减少扯淡,多做点实际的事。计划把前几个月尚未完成的动态代理继续下去,另外,关于用MVC模式改进GUI应用设计的方面要也继续研究一下,可测试的GUI应用还是很吸引人的。