如何降低代码的复杂度?

    简单解释一下。

《人月神话》作者Fred Brooks提到,软件开发的复杂度可以划分为本质复杂度(Essential complexity )和偶然复杂度(Accidental complexity)。

本质复杂度是解决问题的最小复杂度,它是一个客观的东西,跟你用的工具、经验或解决渠道都没有任何关系,比如开发一个3d游戏的复杂度就是要大于开发一个提醒事项的复杂度,这是项目本身的功能、需求客观决定的。

而偶然复杂度,顾名思义,跟偶然相关,跟每个人使用的工具、方法和经验紧密相关。还是上面那个3d游戏和备忘录的例子,一个经验丰富的开发者跟一个刚学不久的小白,开发同一个3d游戏,谁会更容易完成,碰到的复杂度更小?显然是前者,因为前者趟过很多坑,知道什么方法可以最快、最大程度上解决他所碰到的问题,也知道运用什么工具来解决问题。但是对小白来说,这个复杂度就高多了,他会碰到各种难缠的问题,尝试各种各样的手段去解决,直到真正的问题水落石出,这期间花费的时间和精力肯定是远远超过一个成熟开发者的。

你遇到的复杂度,可能两者都有,建议先提升自己的水平,把偶然复杂度减去。如果一时半会没有时间,可以试试用一些低代码平台(如 iVX这种),低代码解决的问题,就是尽可能降低偶然复杂度,让这种因人而异的技术差异变得更小、更稳定。

不过,再怎么降低复杂度,本质还是一个逻辑问题和对程序的熟练度决定了他开发一个项目的难度,真正的小白遇到任何问题都可能束手无策,而熟练的开发者则是驾轻就熟,低代码正是为了帮助开发者找到最短解决问题的途径,将底层的技术细节屏蔽,减少不必要的技术复杂度。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值