97-things-every-programmer-should-know-10: 小心选择工具

现代应用系统常使用现有工具,如组件和框架,以应对规模、复杂度增加和开发时间缩短的挑战。选择工具时需考虑其依赖、生命周期、配置复杂性和潜在的许可证问题。建议初期仅选用必需组件,通过接口隔离业务逻辑和工具,以确保可替换性。关注工具的上下文匹配、升级复杂性、配置管理和对商业产品的依赖。
摘要由CSDN通过智能技术生成

    现代应用系统极少从0开始构建,基本都会使用现有工具,如组件,库和框架,有以下原因:

  • 应用的规模,复杂度和成熟度都在上升,而要求的开发时间却在持续减少。 使得需要开发者的时间和精力都要专注到业务逻辑上,而不是基础设施上。
  • 广泛使用的组件和框架非常可靠,比自己现造一个轮子要经济。
  • 网上有很多免费的高质量软件可用,采用它意味着更低的开发成本和更容易找到熟悉该技术的开发人员。
  • 软件开发和维护是人工密集型工作,所以购买或许比自己开发划算

    所以为自己的应用选择合适的工具需要深思熟虑,在技术选型的时候以下事项需要纳入考虑:

  • 不同工具依赖不同的上下文。 如依赖的基础设施,控制模型,数据模型,通用协议等。这可能导致应用和工具的体系结构不匹配。或为了能匹配,会需要写更复杂的代码。
  • 不同的工具有不同的生命周期,当升级其中一个工具时可能变得及其复杂,并且新增新功能,设计变更,甚至bug修复也会导致跟其他工具不兼容。采用的工具越多时,这种问题越容易出现。
  • 一些工具需要相当多的配置,经常意味着一个或多个xml文件,很快就容易失控。配置的复杂性会导致应用难以维护和扩展。
  • 当应用重度依赖商业产品会导致这些方面被严重制约:可维护性,性能,可扩展性和价格等。
  • 当你打算使用免费软件,你可能会发现并非真正的免费,可能需要购买商业支持,可能需要花大量的精力去学习,完善,融合。
  • 需要关注授权许可说明,即使是免费软件。 如在GNU协议之下的自由软件天生具有传染性,使用了它的软件意味着自己的软件也要开源。
小结

   个人策略是应用刚启动时仅采用完全必须的组件,最初的关注点在底层的基础设施组件,如在分布式系统中使用中间件替代使用原生的socket。同时建议将业务对象和外部工具通过接口或分层的方式实现隔离,这样可实现工具的可替换性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值