10. 选择工具要慎重
来源:互联网 发布:淘宝描述不符监管 编辑:程序博客网 时间:2024/06/09 22:42
选择工具要慎重
现代应用程序程序很少是完全地从无到有做出来的,它们汇集了很多已经存在的东西——组件、库和框架,理由如下:
随着应用程序大小、复杂度和精密度的增加,能够用来开发的时间变得越来越短。程序员把时间和精力专注于编写更多的业务代码、更少的基础架构会更好。
· 广泛使用的组件和框架相比内部开发的,可能bug会更少一些。
· 网上可以免费得到很多高质量的软件,这意味着可以降低开发成本,同时更可能找到有必需的兴趣和技能的开发人员。
· 软件开发和维护是人力密集型工作,所以购买可能比自己构建更便宜。
然尔,为应用程序选择正确的工具集是一门需要深思熟虑的学问。实际上在做选择时,有一些东西应该牢记于心:
· 不同的工具可能依赖于它们对自己的工作环境的不同假设,比如周边基础架构、控制模型、数据模型、通信协议等,这可能会导致应用程序和工具之间存在架构上的不匹配。这种不匹配导致非常规的技巧和曲折迂回,给代码增加不必要的复杂度。
· 不同的工具有不同的生命周期,升级其中一个可能是一项极困难和耗时的工作,因为新功能、设计变更、甚至是bug修正都可能导致与其它工具不兼容。工具数量越多,这个问题越严重。
· 有些工具需要进行相当多的配置,通常是通过一个或者多个XML文件,可能很快就失去控制。最后应用程序可能看起来像是XML加上偶尔几行某种编程语言写出来的。复杂的配置会让应用程序很难维护和扩展。
· 当严重依赖特定供应商的产品的代码在可维护性、性能、演进能力和价格等方面被约束了,厂商锁定就发生了。
· 如果你计划使用免费软件,可能会发现它最后并不免费,可能需要购买商业支持,那可不一定便宜。
· 许可条款很重要,即使是免费软件。例如,有些公司不能使用GNU许可下的软件,因为它的病毒传染天性,即使用它开发的软件必须在发布时公布源代码。
我个人用于减轻这些问题的策略是从一开始只用绝对必需的工具。通常最初的关注点在于减少要从事底层架构编程(和问题)的需求,例如,为分布式应用程序使用一个中间件代替原始套接字。然后根据需要增加。我也倾向于通过使用接口和分层,将外部工具与业务领域对象隔离,这样我可能在只有一点点痛苦情况下更改工具。这样做的另一个好处是,我一般都能在最后得到一个比预期更小的、使用更少外部工具的应用程序。
原文:Choose Your Tools with Care byGiovanni Asproni
- 10. 选择工具要慎重
- 留学芬兰 慎重选择
- 慎重选择磁盘阵列大小
- 慎重选择容器类型
- 慎重选择容器类型
- 请慎重选择国外软件
- 选择需慎重啊!
- 慎重选择容器类型
- 慎重选择容器类型
- 慎重选择容器类型
- 慎重选择,慎重思考---with yangchao
- 债券市场违约频繁发生 投资者要慎重选择标的
- STL 慎重选择容器类型
- 使用Service要慎重
- 慎重
- 我们要掌控什么——慎重选择生命的另一半
- 因人而异慎重选择“高四”你读不读?
- 慎重选择删除元素的方法
- 日历控件(IE10下测试通过)
- [每日一题] OCP1z0-047 :2013-08-02 权限―――分配系统权限............................................22
- 编写高效的Android代码[转]
- 互斥与同步
- 2013腾讯编程马拉松初赛第一场(3月21日) 湫湫系列故事——减肥记II ----线段树
- 10. 选择工具要慎重
- sed 实例备忘
- XML文件中Eclipse报错Unexpected namespace prefix "null" found for tag
- STM32出现HardFault_Handler故障
- 深入Block(一)
- hdu 4639 Hehe (dp)
- Magick++ 6.8.5在MFC中的使用
- 深入Block(二)
- 加密2