评论:行业软件开发,要靠“抄”?(二)

 

山大王做技术决策

把样本程序拿出来进行讨论就是在更大的空间内制造一个平台,加强更大层面的沟通和交流,甚至是争辩,以提高山大王们的水平,这是一种组织结构形式的放权,避免了CTO由于脱离一线的实践,而引起的技术决策问题。

以行业应用软件开发为主体的软件企业,面临着严重的技术组织困难。由于服务对象分散,它的管理有点像医生给病人看病,当病种快速变化,患者背景日趋复杂时,看病的流程和使用技术方法虽然类似但并不相同,其可能存在的最大问题是交流太少、各自为政。在软件企业内部,我们通常有一定的组织体系,典型组织结构是部门和项目组,样本程序的技术形成于这种组织之内。虽然很多企业也有CTO和研发中心之类的角色和机构,但是由于服务性质和专业分类的差异,很难统一控制这种分散的特征,无论从组织权力义务划分上看,还是从业务决策角度来看,总裁、部门经理、项目经理都是权力的主轴。在技术决策方面,我们面临着权力义务关系相互平衡的困难,这就造成CTO的执行力度是有限的。当部门经理和项目经理业务压力变大时,他们往往会降低对技术决策的重视程度,技术问题的决定权就分散落在了企业内部部门和项目组中的技术山大王中了,这些山大王在组内是技术上的权威,基础的技术文档一般也是他们的杰作,其格式也是百花齐放。这样做的好处是可以统一局部的方案,坏处是没人与其讨论推敲,甚至组织内部有些工程师觉得多一事不如少一事,懒得与他们讨论,这就使他们自己和各级单位的技术发展遇到了挑战。到底是以CTO们做的决策为主,还是以山大王们的决策为主,变成了这类软件企业的一个困境。

从表面上看,CTO和各级技术领导从决策者变成了一个平台的维修工,但是协调和引导本身就是他们的主要工作,这其实并不简单!在保证约定一致的基础上,用竞争的方式形成技术决策是此类软件企业技术管理的重要创新,从而带动整体行业应用软件技术水平和管理水平的提高。

更好地利用框架

目前的B/S结构编程有其固有缺点。以J2EE基础开发为例,样本程序要使用各种各样的框架,如AjaxStrutsSpringHibernate等。每一个框架介绍起来都有厚厚的一本书,都需要使用者熟悉它们的每一个使用细节,而且新的框架还在不断涌现和升级,搞得山大王们也颇具困惑。他们不禁要问: 不用这些框架行不行?有了它们到底有什么好处和不足? 即使用了它们解决了目前工具的一些不足,但又会带来什么样的副作用?

在缺少沟通的环境下,样本的制定者显得十分孤立。框架这部分内容有时看起来也是最具技术的一部分,很多新的术语和概念往往会使许多初学者似懂非懂,甚至感到十分神秘,部分山大王也因为似乎能说一些新的术语而自鸣得意。可实际上,这部分内容介绍的时候恰恰需要的就是通俗易懂,很多所谓的深奥,只能是自己没想明白,或者表达不好,因为最好的印证是同样的功能在过去C/S结构和4GL编程时都没有这么复杂。

抄样本程序是我们做样本程序的真正目的。统一的编码与做古诗不同,我们要最大限度地减少编程人(作者)的差异,只反映业务内容本身的差异。抄样本程序也是对传统软件开发方法的一种改良。

框架的应用很多来源于分层概念的使用,典型的说法是MVC和三层结构。一段时间以来,分层的趋势越来越流行,分层的确带来了很多规划上的好处。如结构清楚、发现局部问题或测试容易、事务加入规划点明确等,特别是还有层间的协调。但分层也有它的不足,最主要的是数据传递量增大。因为层与层之间要不断交换数据,特别是当这种数据是一个数据块时,矛盾就变得更加突出。实际上,这种数据块有两个变化方向。纵向是列,涉及领域内容,我们将在下文讨论如何应对它的变化; 横向是行,涉及数据块的记录行集合。简单地说就是记录行集合类似游标的管理,或是类似动态数组的功能的管理,这就引出了所谓虚拟数据块操作问题,它的更复杂形式是涉及整体的领域概念所引出的主/从结构、或更复杂的数据块之间的关联,这就要求我们在基础技术层面先解决数据块的虚拟操作问题(当这类问题反映在表示层面的时候,也引出了我们称为Portal框架的一部分重要问题)。很多时候使用框架就是为了解决这类问题,因此我们要能在样本程序中看到它的实现机制。而在现实中,我们很多样本程序对框架的使用,只用了其中的最简单的部分。就像拿菜刀当锤子用,一样能钉钉子,但没有充分发挥出菜刀的优势。由于数据块问题涉及领域对象和技术支撑的交汇,它应该引起我们足够的重视,特别是数据块的传递,全局性存取是样本程序中必须讨论的问题。另一个使用框架的重要原因不是由于分层,而是在于编程的通用性。在我们的应用程序中要大量使用这种特性,即配置文件方法。这好比开着车换轮胎,也就是说,程序的修改只改配置文件,而不用修改源程序,也不用重新编译、连接和部署。当然这也会引起一系列问题,如配置文件编辑方法及它的有效性和完备性检查,数据类型检查和反射机制的支持以及运行效率等。总之,样本程序即使不使用框架,也要看它对这方面内容的处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值