接过项目的程序员都知道,一般的客户都是极不耐烦的那一类,对工期的要求都是比较紧,恨不得3天就能拿到一个大型的ERP软件或一个行业门户网站。经常是你这边忙着打代码,那边还要忙着应付客户催命一样的电话。所以在接项目之前,团队就必须提前准备好一些统一的快速开发框架或工具,也就是建立一个统一的基础开发平台。这样不但能满足客户的工期要求,也可以最大程度上节约开发成本和时间。时间就是金钱,缩减成本和节约时间都是赚钱。
在这种开发环境下,我们务必要使用更快速的开发框架。尽管实际接项目时可能客户的需求不尽相同,代码实现也千差万别,但毋庸置疑的是,其中存在的共性也非常多,比如,数据表的增、删、改、查询,报表,权限,流程等都能够凭直觉感觉到大量的相似性。如果我们一旦能用有效的方法,把这些共性提取出来,构建一套快速开发框架,就能够灵活应对各种不同的需求变化,这样就会使项目的开发效率大大提高。要是每个项目都要从基础代码开始开发的话,那你就得做好每天通宵打代码的准备,时间一长不累得吐血才怪。而即使吐血了客户还要骂你,说你耽误了工期而不给任何费用。
这种开发框架的要求是,首先如果不是特别有技术要求的项目,任何一个初级的程序员只要套用这个框架都可以“按时”完成任务。其次,要有自由的代码,条条大路通罗马,不要求就是简单,自由就是快速。再次,所谓快,目前仅仅局限于开发速度快,至于运行效率快否并不是首要考虑因素。
使用应用框架有五大优点:模块化,可重用性,可扩展性,简单性,可维护性。模块化就是把应用分割成多个组件或模块。这样,团队成员就可以采用各个模块互不影响的方式使用应用框架。希望使用应用框架某个组件的开发者,不会受到框架其他组件潜在变化的影响。
代码的可重用性是应用开发中最重要和最令人期待的目标。应用框架能为基于其上构建的应用提供这种可重用性;而且,不仅应用框架的类和代码被重用了,其设计也被重用了。有了应用框架,我们就能将大量重复代码和通用的解决方案从应用层移到框架层。这样一来,程序员编写和维护的重复代码的数量减杀了,开发效率也大幅度的提高了。
可扩展性是往现有的框架中增加自定义功能的能力,它使开发者不仅能够“即拆即用”地使用框架组件,还能够改变组件,以适应特定业务场景的需要。可扩展性是框架的重要特征。每一个业务应用都有独一无二的业务需求,架构和实现。虽然框架本身容纳所有这些具体情况是不可能的,但是,框架采取了支持客户化的思路;这样,不同的业务应用依然能够使用框架的通用功能。
简单性的含义不仅仅是“简单”。简单性指的是一种方法:框架通过封装处理流程的控制逻辑,使它对开发者透明,来简化开发工作。可维护性是业务需求改变之后,其应用便于修改的能力,它是代码重用带来的一个受欢迎的效用。框架组件通常会被多个应用或单个应用中的不同部分共享。因此,让框架的不同层包含不同级别的业务知识,能够减少因改变业务需求和业务规则所带来的连锁反应。这也使得维护成本减低,因为只需维护因业务规则改变所影响到的代码。
至于要准备好哪些必要的框架,就要根据你的业务范围来定。所以说接外包项目要有重点,要根据你们团队的长处来确定接一些什么样的项目,不能不管三七二十一有项目就接下来,那样只能把自己搞得焦头烂额。比如你准备接ASP.NET项目,那么就可以准备好ASP.NET的三层架构,就是数据访问层,业务逻辑层和表示层。其中数据访问层是用来访问数据的,业务逻辑层是用来处理一些系统的业务逻辑的,表示层就是把内容呈现出来给用户,与用户进行交互的。
划分三层的好处就是每一层都是独立的,修改其中一层一般不会影响其他层的代码,这样就大大的方便了日后的维护和升级。有了这么一个框架,接到项目后,只需要根据客户的要求修改三层中的相关部分就行了,极大地提高了编程的效率。所有团队成员都使用这个统一的开发框架,这样就可以高度代码重用,避免重复工作,统一编程思想。至于怎么才能拿到这些框架,那就发挥你们团队中所有成员的能动性吧,把他们以前学习中、工作中所能得到的所有有用的源代码,都拿出来整理一下,应该可以总结出一些好用的框架作为团队接项目的基础。总之平常要特别注意框架的积累,形成自己的一套框架,做起项目来就会事半功倍。