博学谷提供支持
对于调优,我看要从需求和架构(代码、模块、系统)这俩大方面入手。
例如,代码中看起来逻辑别扭,结构怪异的地方必然有其优化的空间。
需要经常进行特殊调整的需求,可能是对某些方面没有理解到位的地方;可能是没有理解需求的意图;还有可能是需求有待商榷。
在我看来,能够在线上部署的工程化项目适用2/8原则,即80%的需求都可以用简单做法去实现。让程序员脱离“懒”性的工作都是可以得到调整和优化的。
结合对实际业务的理解,我认为很多人对代码有点过度优化,积极性太高。
在我看来,能用简单的代码就不要用复杂的代码去编写、
至于调优,要讲求适时优化,在发现并定位到性能瓶颈点才开始启动调优。
当然也不是说开始写代码时随便写,除了代码要尽量简单,也要遵循一些原则。例如,在面向对象编程中,我们强调日常开发要遵循s(rp)o(cp)l(sp)i(sp)d(ip)五原则。
同样,在编写HiveSQL代码时,也需要遵循一些简单的原则。这里分享一下我总结的代码优化原则:
·理透需求原则,这是优化的根本;
·把握数据全链路原则,这是优化的脉络;
·坚持代码的简洁原则,这让优化更加简单;
·没有瓶颈时谈论优化,是自寻烦恼。