作者:大飞哥“垃圾的业务逻辑!!!” 估计很多程序员在刚接触一个新项目的业务代码的时候,都会在心里骂娘,说不准已经把前几任维护者的家人都给问候了一遍 。
在我自己的职业生涯里面,也遇到过不少写得跟 “屎” 一样的业务代码,但业务代码,业务逻辑是一个程序员不可避免要接触的东西 。
按 “二八原则”, 估计有80%的程序员是业务开发,而事实上,我觉得这个比例可能要到90%, 毕竟系统工程师,基础架构工程师,业务组件开发工程师等纯技术的岗位是很少的,当然这些 “纯” 技术岗位,也非完全不接触业务,只是上比例更少而已 。
可以说,90%的程序员,职业生涯里80%的时间都是在跟业务打交道的,所以我们很有必要探讨一下这个话题 。
技术服务于业务纯技术驱动的公司,我觉得是不存在的,只不过有些公司的技术氛围会更好,技术人员的决策权会更大 。
在目前的市场上, 产品+技术, 市场+技术 是比较正常的企业结构模式,至于技术人员在不同公司里面权重的大小,就要看具体情况了 。
像腾讯是产品驱动的公司,阿里是电商,更多由市场驱动,一个是消费者市场,一个是商家市场;拼多多跟阿里类似,头条其实也是产品驱动的公司;美团由消费者市场驱动,小米卖的是产品,百度的搜索由消费者驱动,AI由企业市场驱动 。
当然,这里不是说技术就只能从属于其它岗位了,目前很多企业对技术人员的重视度是越来越高的,而技术人员在实际工作中的决策权也在加大 。我觉得这个跟技术的发展有关 。
比如说,目前在市面上火爆的推荐型产品,如头条,抖音,技术在里面的决策比重就要比一般性产品的高 。这个很好理解,因为产品形态本身就很依赖于技术,虽然产品的交互体验,UI 设计依然很重要,但最关键的还是你推荐出来的东西,用户有没有兴趣,而推荐这部分,就是技术驱动的 。
还有一类是 AI型的产品,比如商汤科技,沐瞳科技这类,他们销售的是自身的AI能力,虽然还是市场主导,但技术在里面会有更多的决策权 。
未来,我相信随着技术的发展,AI化的产品会越来越多,技术人员在里面的决策权也会越来越大 。
另外,随着存量时代的到来,从增量市场进入到了存量市场 。增量时代比拼的是快,存量市场比拼的是品质,这里的品质包括产品品质,也包括企业品质(高效的运作模式),这必然对技术提出更高的要求,技术人员在决策上的比重也自然会增加 。
踩坑,阅读恶心的业务逻辑代码,是不是一件有价值的事情?以上依然是不可避免的一件事情,在你实际面对那些恶心的业务逻辑代码的时候,你必定要吐槽一番,然后开始陷入深深的自我怀疑:"我这是在干什么?简直是在浪费时间!"
12年做存储的时候,我们遇到了一个问题,存储系统搞完了,却没有业务愿意接进来 。
他们说,你的系统不稳定,而且性能也没有特别好(早期版本),为什么要接?
以上的反问,我也无可辩驳,但项目还是要向前推进,后来我们决定这些事情都由我们自己来搞 。
于是我找了具体业务的负责人,跟他们说,我们来修改业务代码接入新的存储系统,中间过程如果出了问题,责任都算我们的 。
第一批的业务,就靠这种方式推动起来了 。
后面,我加入到业务团队后,第一接手的,是个核心但却恶心的业务系统,当时那个系统极不稳定,经常出问题,但上面下了死命令,你们就是要搞好,要不,你们团队就没有存在的价值!
于是噼噼啪啪,整了两个多月的时间,重构了很多的业务逻辑,才慢慢好起来 。
我的实际经验是:踩坑,看恶心的代码本身,不会产生很大的价值,但是踩坑的过程中获得的经验,看恶心代码,修改恶心代码的过程中获得的负反馈,却极有价值 。
它们虽然没有给你展示什么是好的,但是给你展示了什么是不好的,这过程中,你会慢慢明白,你应该怎么做,才不会重蹈前人的覆辙 。
终日跟业务打交道,应该如何来提升自己1、学会思考和总结
比如当 if else 写得太长的时候,是不是分析下判断条件的内在逻辑,有没有可能去构建一个状态机 。
比如一段代码逻辑,当你写第二次的时候,是不是考虑抽成一个单独的函数,因为有第二次,就意味着会有第三次,第四次 。
有不少同学觉得业务逻辑繁杂且没有技术含量,所以一直对业务逻辑有抵触的心理,但实际上,业务逻辑也不完全是无章可循,不可复用的 。
推荐阅读
- 找出Android卡顿的元凶——渲染性能优化
- android6.0系统Healthd深入分析
- 胶南市下河山村茶农忙着给茶园穿冬衣
- 汽车是如何给电瓶充电的?一般12v的电瓶靠汽车多久能充满?
- 冬季茶品 适当选饮 给肠胃穿上保暖衣
- 本命年红绳可以送给别人吗,本命年红绳可以送家人吗
- 梦见玉镯断了好几节 梦见玉镯断了几节去世的长辈又送了个给我
- 淘宝新店选款最好方法 做淘宝如何选品!给新手几个建议!
- 开发者必须了解的22个常用小程序开发api接口
- 六款排毒养颜茶 给你美丽健康加分
