【总结】架构师的基本能力之 - 代码重构
重构这件事情做好名利双收,做不好人社倒塌,甚至跑路比比皆是,是考验架构师的核心能力之一,但是为啥还需要做呢?重构对业务发展能带来很好的支持,达到降本增效(个人在企业做事的终极目标)目的。所谓的降本增效解释如下:降本降的是什么本->单位时间内的成本(所有存在消耗的资源、时间、金钱、人力),增效增的是什么效->单位时间内的收益。降本和增效不能分开来看,很多企业都是执着在降本一味的去强调控制成本,却忽略了增效,其实降本的目的就是为了增效,我们更应该看重增效,那增效的效呢,字面意义就是效果和收益,包括经济收益、社会收益、环境收益等。那落到企业本身小了就是团队或公司的收益提升,大了就是整个行业的提升。
1.什么时候需要重构?
关于重构的时机问题其实遵循的还是谁最痛谁来推动,当你切实感受到这么搞下去会死人,那你肯定的想办法去改变,而不是坐等。比如该一行代码影响一大片甚至还会导致其他未知风险。
2.重构和正常的业务迭代有冲突,如何解决?
重构和业务迭代冲突的时候需要主动去推动说服产品将重构的事情和业务的迭代并行,这个需要的是出色沟通能力(平级之间、上下级之间)及冲突解决能力。
3.如何让团队主动去做重构的事情?
通过日常的CR可以将重构的事情延迟,为啥说是延迟呢?因为日常开发中的CR能够发现一些问题,这个时候修改或者做了良好的设计就可以将重构发生的概率降低而已,所以日常的设计很关键。日常设计中需要每个干系人都有重构的意识去全面思考自己的设计,需要避免过度设计和炫技式设计。
4.重构如何避免炫技式、KPI式、过度设计呢?
从个人方面来说需要的是一个责任心,正确做事比做正确的事更重要!考量的是个人的核心价值观。当然这些东西做了后面必定或有人来PK你的,所以为了职业的长久发展还是切勿当其他人是傻子哈。
5.重构需要哪些储备比如技术、业务等?
重构需要针对技术和业务都的熟悉,对业务熟悉可以预见业务未来1~2年的发展,提前预留好扩展的口子,对技术的熟悉主要是需要用到一些原则来指导重构,针对这些原则能很好的落地而不是悬空的。架构师在重构中能将自己的理念同步给团队且很好的落地(Coding),那么通过这件事情就能很好的树立自己的品牌,技术人最直接的就是看你写的代码,写的太烂估计你的声望可能会受到一丢丢的影响拉!
总结:
代码重构能很好的体现自己的能力,这个过程是架构师能力展示的一个舞台,做好了各方称赞,做不好骂声一片,需要的是全面的能力比如抗压、皮实、设计、视野等等,但是敢于做总比瞎比比强!架构的还需提升自己的认知、格局、思维。别落下关键的东东哈!
评论