隐性成本:代码质量与产品迭代的关系

看待代码的两个角度

产品从需求到上线,需要经历开发、测试等阶段,对产品的想象和规划最终会落实成代码,之后的迭代也是在之前代码的基础上迭代。看待代码除了从用户使用产品的角度外,还有另一个角度,开发者的角度。

如图,用户感知到的是产品的功能、使用的体验、产品的性能等,而开发感知到的是代码的可读性、可维护性、可扩展性这些。

产品迭代与代码质量

互联网时代的竞争从最初的争夺流量到现在的精细化运营,人口红利过后,对产品本身的优化变得至关重要。这和我们产品的发展一样,从最初的从0到1,实现产品基本功能,去抢占市场,到之后的不断优化产品、持续迭代。从用户角度感知到的是产品功能越来越完善、体验越来越好,流畅度也越来越高,而从开发角度就是代码的不断迭代。

随着产品的发展,代码本身需要不断的迭代,新增功能或者对之前功能的优化,这些都是基于之前代码的,所以迭代成本与代码质量关系很大。因此,我们会对代码制定一些规范、设计更松散耦合、易于扩展的架构。如果对代码质量没要求的话,就如同负重前行,难维护的代码越积越多,最终会导致需要整个的推倒重写。

预见到将来的问题,为了避免后期的不必要的重构、重写,在产品的初期、前期,在问题没那么尖锐、包袱没那么重的时候就要开始防患于未然了。虽然我们现在处在产品的基础版本实现的阶段,业务是最最重要的,但是分一些精力去保证代码质量也是有意义的。

对代码质量要求高低与产品是不是需要长期迭代有关系。很多sass类产品的公司都会有code reivew环节,技术方案的评审也会比较严格,因为产品需要不断迭代,代码也就需要长期维护,代码质量对效率有着很大影响。而一些外包公司,因为代码是一次性的开发,不需要后期维护,质量怎么也就不回去关心了,我们开发的一些活动页也是一样。

总结

产品的实现需要落实成代码,产品功能完善的过程也就是代码不断迭代的过程。

看待代码可以从用户角度和开发者角度。用户角度关心的是产品的功能、体验、运行的性能等,而从开发者角度则更加关注代码本身,包括代码的可读性、可维护性、可扩展性等,具体一点就是代码的冗余率、代码组织结构、命名规范、模块耦合度等。

随着产品的不断迭代,代码质量会变得越重要,如果开始架构有问题或者代码的实现上有问题,会给之后的迭代埋下隐患,最终可能导致需要重构或重写。为了避免之后的问题,在开发的初期,除了快速的实现产品功能外,也要对代码本身投入一些精力。当然,不同的产品对代码质量的要求也不一样,不需要迭代的代码,问题没那么突出。

我们的产品是需要不断迭代的,虽然我们还在产品的初期,业务是最主要的组动力,但对代码本身的优化也是要投入一些精力的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值