传说中,不会写代码的人做software architect是很可怕的。我亲身体会到了。[@more@]
Mr. Wang,我的领导,他几乎没有写源代码的经验,对于软件工程也知之甚少。我是比较菜,但他比我更菜了好几个等级。
他原来叫我设计一个架构,因为说到要用一个叫VOCAL的巨型C++ library,我提出用面向对象的结构,从VOCAL里派生出class,然后在新class中添加我们需要的特性。刚开始他默认。我开始画UML。才画了一下部分,他开始质疑,问我在VOCAL中关于多线程的处理。我只知道一些,不能说得很完满。但我补充到,VOCAL提供了丰富的接口,即使对内部的细节不完全了解,把它当作黑箱来用它的API是没有问题的;如果要分析细节,给我更多一些时间,我就能办到。但他不同意。他挚爱多线程,从我认识他开始,他就没有停止在我面前说多线程。所以对于我不能完整地解释VOCAL的多线程处理细节,他也就对我的提案表示否定了。
于是,酷爱多线程的他,从一本名不见经传的Unix编程书抄来了一段多线程服务器程序的例子,并宣布以此为主程序。他要求我给主程序提供API支持,并提荐用VOCAL库。他不是不信任我和VOCAL吗?也不尽然。他只是想亲眼看到他深爱的多线程,那一句句原汁原味的Pthread库调用;对于VOCAL对多线程处理进行了几次外衣的封装,他当然不能满意。更可怕的是,他说要自行设计结构体(C struct),对于我提出的派生方案进行“搁置否决”。
既然这样,我也只有服从。他既然要承担architect的责任,我就好好地做我的programmer好了。
设计C struct的任务却分派给我。当我写好需要的结构体,在他的int main()和C程序里调用VOCAL的C++库函数时,觉得很是委曲和别扭。本来还想换用C风格的osip2库和eXosip2库,而不用VOCAL的,不过他既然下谕要用VOCAL,我懒得多说。我给他他要的API,最后不行他担责任。
--------------------next---------------------
阅读(672) | 评论(0) | 转发(0) |