把工程精华卖给浮躁的程序员
2009-08-18 21:54:25 来自: 无锋之刃(根深蒂固ing)
上周末逮到机会和同学一块吃饭,顺便讨论俩人正在盘算的练手项目,在需求分析和概要设计上拉拉扯扯一晚上。争论的焦点是如何把业务逻辑分离出来封装成独立模块。最初同学打算使用工厂模式,以纯接口形式从不同DLL模块中引入业务逻辑。但该模式本身的耦合性决定其引入特定DLL的逻辑并不简便,维护和后续开发成本也比较高,这一点在他以往实施的项目中已被一再验证过。同学一直考虑寻找更好的替代方案实现解耦,却迫于工作压力和时间精力有限,接触不到也没有足够的试错成本去试验和采纳其它方案,为此很是苦恼。
了解到足够多的业务逻辑信息后,我重新设计了一个采用“设计描述语言表达业务逻辑,再构建引擎解释、执行业务逻辑”的方案,获得同学的认同。临走的时候他大发感慨,说其实在反复地制造轮子中已经产生了类似这个方案的某些概念,不过没机会验证可行性,有些朦胧,今天聊过后才知道是切实可行的。我也有些感慨,在为实现用户需求进行设计时,囿于有限的知识和经验,总是得不到、也不能轻易地尝试更好的方案。我们一致觉得,在当前IT业环境下,没有好的渠道和方式来和其他同行交流设计思想、工程思想。虽然有网络,但网络上的信息尽管丰富但质量不高,道听途说的转贴居多,原创甚少,交流不便;可以看书,但书中原理居多,工程实现非常少,就更谈不上交流了(读书更多的是单向的交流,从作者到读者)。想必软件研发行业的其他朋友也会有同样想法。
今天和博文视点的周筠老师聊天时,讨论到如何把售书渠道扩大做实,又想起了这个事情,突然间灵光一闪。我觉得在这个浮躁的软件研发大环境里,作为程序员,需要的知识更多地是工程精华,亦即得到过反复使用和反复证明切实可行的高层次抽象模型(可以跨行业应用的,或者在一个行业中可以跨部门使用的),而不仅仅是低层次的语言用法、中层次的系统框架使用方法等信息。原因很简单,现在的程序员们迫于生计,实在是无法不浮躁,没有机会去学习、理解、使用、传播甚至创造新思想、新模型,只能任由自己埋没在低效的代码堆里,坐看年华老去。
如果有这么一类书籍,收集可供他人了解、学习、理解、领悟和复用的高层次抽象模型,通过高手的笔墨简洁、明了、翔实地讲解、传授,肯定能达到事半功倍的效果。甚至如果读者反馈不错,还可以为此组织网上讨论和线下讨论活动,就某些重点或热点展开,因为某些模型单纯在纸上表达是不易被理解和吸收的。假若能在白板上和高手们面对面地探讨争论,更容易刺激起观众的想象力和理解力,加速消化吸收的过程。这样的书籍如能出版,活动如能顺利组织起来,应该可以大大地节省程序员接触新思想、新模型的时间,提高软件设计实现的效率与质量。反过来,还可以围绕着这类实现模型和相关讨论,不停地追加讨论精华(可以来源于去芜存菁后的网络帖子,典型如《开源软件文集》,也可以来源于现场讨论的录音录像),结集为系列工具书出版。
限于自己读过的书很有限,我并不清楚市场里是否有这样的书籍存在,质量如何。但很希望博文视点和其它的出版社考虑出版这样的书籍。
> 我来回应
这个小组的成员也喜欢去 · · · · · ·

- 图灵之友 (420)

- InfoQ中文站 (169)

- 借来的天堂。与Ta有关的故... (73)

- 译者俱乐部 (50)

- Erlang (456)

- 河村隆一 (74)
最新话题:
【转】技术出版的危机 (无锋之刃)
大家喜欢什么样的计算机图书封面?来show一下吧 (博文视点)
《编程之美》源代码下载地址 (holly)
送6个wave邀请码 (holly)
我们需要什么样的技术书籍? (无锋之刃)
Oreilly的《Designing Social Interfaces》博文会引进... (琳琳的小狗)
博文视点09年11月份找译者图书列表 (博文视点)