松华说|如何快速熟悉和上手业务
最近在准备转正答辩,所以有了这篇短文,主要观点包括:了解业务的全流程和生命周期、从告警和异常重点挖细节、模仿别人完成一个需求。
一、了解业务的全流程和生命周期
业务流程分支复杂,想一口吃成大胖子很难,但是想要有一个全局把握并不难。我的做法是:
(1)、去了解每个应用的定位是什么,什么样的逻辑会放在这里,它们之间的调用关系是什么样的。
(2)、去了解应用之间的消息队列是如何交互的,谁是生产者,谁是消费者,消息体大概包括哪些内容。
(3)、去了解定时任务都处理了哪些逻辑。
(4)、去了解数据库有哪些表,哪些表是核心表,表、字段的注释是什么,表的外键有哪些。
(5)、去了解业务的共同语言,共同语言就是常用的枚举和术语。
(6)、去了解业务的非功能需求有哪些,比如多语言支持、风控限制。
我罗列的这六点从面过度到点,其中不涉及复杂的逻辑,不需要真的看懂代码,也不需要有背景储备,花三天左右的时间就能理个所以然出来。当完成这项任务后,我就对业务有了一个初步的认识了。在我心目中,这六点是至关重要的,并且需要来回消化的,因为注释和可扩展性字段都是魔鬼。
二、从告警和异常重点挖细节
新人总会有一段适应周期,来公司报道之后,安装编程工具、克隆代码、看代码、看文档,看似一气呵成,可是看代码的目的是什么,代码入口又多,就像迷宫一样,这简直是盲人摸象,抓不到重点。
于是我放慢了步伐,调整了方向,对照着同事写的技术方案看代码,可是有些技术方案写得太过于精简,对于新人来说比较难啃。最后,我决定把更多目光放在客诉和日常告警上,当我把一个一个问题的描述、发生原因、解决办法写在个人空间时,就好像我真的在处理那些问题,特别是当我比值班同事更早地找到原因时,心里特别高兴,或许那就是成就感吧。除了这个原因外,从问题反过来看代码的上下文时,有时会给我一些惊喜,比如发现原来订单超时的底层逻辑是这样的,又比如发现代码的可扩展性写得不错,参数值优先、配置值次之、默认值作为托底。
三、模仿别人完成一个需求
为什么餐饮行业、奶茶行业一直都这么火爆呢,我觉得是因为产品可以标准化生产、模板化复制,成本可控、时间可控,另外客户到其他分店也能品尝到一样的口味。写代码也是类似的道理,正常可以模仿、参考同事的代码,这样就不会因为是新人而写出奇奇怪怪的代码。甚至还可以模仿同事编写的技术方案、提测邮件、上线邮件等等。因为规范、流程是沉淀出来可以做为指导的东西。我不能打破团队约定的东西,比如数据库记录的状态要用英文来表示,那就不能用阿拉伯数字来表示。
这篇文章果然是短文,到这里就结束了。距离下次更新还有 X 天。
版权声明: 本文为 InfoQ 作者【松花皮蛋me】的原创文章。
原文链接:【http://xie.infoq.cn/article/b37f4e3e07dfef7a156be4017】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论