请收好保存,写业务代码中的成长机会

默认文件1584590512532.png

写业务代码有成长机会吗?关于这个问题,答案很是确定:必须有成长机会。对于大部分公司而言,可以写底层代码或者中间件代码的人老是有限的,写业务代码会面临更高的复杂度。前端

这里分三个层次来看其中的成长机会。程序员

  • 第 1 个层次,让代码写得不同。可从代码规范、可读性、可扩展性等角度着手,这也是程序员的基本功。
  • 第 2 个层次,考虑业务问题和技术问题的匹配。可从写业务代码中理解需求,- 并作好分析与设计。被动接收需求和实现接口,确实成长空间不大。
  • 第 3 个层次,总结相关方法体系,成为业务及技术双料专家。

下面经过例子分别针对这 3 个层次进行讲解。数据库

让代码写的不同

这里看一个例子,常见的代码以下: segmentfault

这段代码其实能够写成这样: 架构

考虑业务问题和技术问题的匹配

这里举一个烟囱型架构重构的例子。某团队在早期发展阶段对新来的每一个业务都会搭建一套系统,业内人士将这种见招拆招、垂直化发展的架构称为「烟囱型架构」。烟囱型架构并不是一无可取,在早期业务成败未知的状况下,不过分设计架构,能直接、有效地支持业务。工具

不过,随着业务的发展,「烟囱」愈来愈多,对这些「烟囱」的后续维护成为很大的问题,「成长」的烦恼如期而至。 学习

其中存在的问题以下测试

  • 人手不够,业务响应慢了下来。 以一个 5 人研发团队为例,起初这个团队从 0 到 1 进行建设,5 我的花了 1 个月作出一个简单版的红包系统;几年后该团队增长到 10 我的,但手头要维护 10 个系统,每一个人就要维护一个系统。这时又来了两个新业务,该团队派出 3 我的去作这两个新业务,大约要花 4 个月才能完成。这严重不符合前端业务的响应预期。
  • 重复建设。 在同类烟囱系统中有 80% 的功能是相似的,从数据库模型到主要业务逻辑都是复制粘贴加补丁,一不留神就又踩到一个坑。
  • 维护成本高。 面对平常升级包、咨询支持服务,该团队疲惫不堪。

那么,能不能将其中 80% 甚至 90% 的共性问题抽象出来呢?核心领域模型是否能够稳定呢?spa

在既要支持不断出现的各类业务,又要建设新平台的纠结中权衡以后,该团队首先启动了平台化项目,建设路径是存量业务继续使用烟囱架构,但新业务随着新平台一块儿接入,而后逐步迁移存量业务,实现烟囱系统的下线。如图所示,优惠券平台对前端业务提供统一的能力输出。 设计

总结下来,平台化架构有以下好处。

  1. 快速支撑、响应业务。
  2. 抽象共性、边界清晰。快速支撑、响应业务是以终为始的出发点。

架构不服务业务,那么再高大上都是空话。技术不是炫技,要服务于商业。对于抽象共性的问题,业务平台化要解决业务的共性问题,好比天猫、淘宝都有各种营销活动,那就抽象出一个营销平台来管理营销活动、营销工具的整个生命周期,并提供给前端业务使用。

总结相关方法体系,成为业务及技术双料专家

举个例子,曾有一位作事很是努力、成长也比较快的小兄弟诉苦说,他以前在作网关程序,作得很细,除了完成了业务还保障了系统没有 Bug,还使文档沉淀、效率提高,外部机构联调合做方好比银行对其反馈也很好,但你们对其印象是善于合做,技术貌似通常。这位小兄弟在最近一年又作了业务平台,以为本身在分析设计、中间件技术的应用上已经进步很大,甚至对本身的成长也很满意,但其余人仍是认为其技术貌似通常。这位小兄弟百思不得其解。

笔者的反馈以下。

  1. 从量变到质变是有一个过程的,自我感受老是良好的,外部感知可能会晚。若是坚持去作,「迟到的」必定会到。
  2. 大部分人都是固定型思惟模式和成长型思惟模式的混合模式,若是你身边的人固守对你的原有见解,不是你的错,你须要作的就是不断拓展本身的能力。

再举个例子,小郭在几年前参与了一个接入类业务,当时已经有很多机构接入了这个业务,业务规模不大不小,产品经理换了几茬,研发团队也变动了三次。当你们日复一日地作业务接入、测试、发布时,有人发现这个业务缺乏一个业务视图。也就是说,这个业务有对系统资源的检测、对接口调用的监控,可是没有对业务运行状况的监控,看不到地区粒度、子业务粒度的变化状况等,甚至 BD 在签定新业务时都不了解为啥某地区已经没有调用量了。小郭利用业余时间开发了一个业务视图工具,整个团队立刻就感觉到他的过人之处了。有人讲,大公司不是应该什么都就绪吗?实际状况是,大公司也是经历了业务的高速发展的,能够这样说,大部分公司并不缺乏作得更好、作得不同的机会!

因此,「写业务代码有成长机会吗」这个句式还能够改成「维护老系统如何晋升」「作商户接入如何走向高端」和「项目这么忙如何学习」,咱们须要进一步将本身的知识和经验系统化,造成相关的方法体系。

在心态上,笔者提两点建议:一是欣赏本身的成长,二是作个有心人。

感谢您的阅读和关注。

《程序员的三门课》读书笔记,做者:于君泽

主要是大前端技术以及程序员成长精进相关内容,文章首发于同名公众号,若是你想第一时间接收最新文章,那么能够扫码关注。若是对你有一点点帮助,能够点喜欢点赞点收藏,还能够小额打赏做者,以鼓励做者写出更多更好的文章。

相关文章
相关标签/搜索