专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

大家怎么理解业务代码?为什么有人觉得写业务代码很low?

  在我眼里,也经常会把程序员分成两类:一种是我等这种写业务代码的程序员,另外一种是研究高深算法、造轮子的科学家。。。
  将他们称之为科学家是有些夸张,第一次冒出这样的想法是参加一个技术大会,当别的嘉宾都在分享开发、设计、架构、管理方面的经验时,一名在腾讯工作的算法工程师(应该已经是一个小领导了),他上台分享了一些诸如:滑动平均自回归模型、神经网络基因表达式编程、SVM回归机集成学习。。。坐在台下的我第一次冒出这样的念头:这是科学家研究的东西吧。
  当然,倒也不能说写业务代码就很low,写业务代码也不是想象中那么简单的。
  写业务相关的代码,必须了解业务流程,还需要了解业务人员心里是怎么想的,也就是业务出发点是什么样子的。
  比如我最近遇到一个需求,过程大概是这样的:销售人员在卖一款产品,这款产品非常火,有些优秀的销售人员一周可能能卖出去几百上千单;结果我们接到一个需求,要限制每个代理人的销售数量,比如每人只能卖10个(之前已经卖掉的不算);这就让我们非常奇怪,本来卖的好好的,为什么要做这个限制呢?这个需求看起来就非常的不合理。
  后来业务人员和我们解释了一下原因:因为这款产品公司不挣钱,销售人员为了推这个产品,花在别的产品上的时间就少了,所以出这个功能,就是让销售人员收收心,把精力放在其他产品上。
  这么一解释,我们就立刻明白了;所以如果你不明白业务的时候,看着需求敲代码也是非常容易出错的。
  有些人会认为业务逻辑就是一堆ifelse,但是我认为在实际工作中,这些ifelse也是非常难做到的。
  业务逻辑是人设计的,业务逻辑难不可怕,可怕的是它不严谨和变化快;业务逻辑和那些确定性的东西不一样,比如我们写好的代码ifelse两个分支,那么再怎么也不会跳出这个范围,业务逻辑就不一样了,它是非常灵活的、不确定的,业务机会来的快消失的也快,我们很难开发出来一套全面的、完善的、灵活的的系统,去应对将来可能会发生的需求。
  所以在开发过程中,如果可以将业务流程拆分成多个组件模型,组件和组件配合完成一个完成的业务流程;当业务发生变化或有新业务的时候,只需要重新编排这些组件,或对某一个组件做少量更改,就可以满足业务变化;如果能做到这个程度,也是非常不容易的。
  在这个过程中,你需要做到高内聚低耦合,避免过度抽象,从业务流程和动机出发,已满足业务需要为主;既然做不了科学家,我们就努力把业务代码写好把。
  我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
  业务程序开发相对于底层基础架构层的程序开发有所不同:
  业务开发的时间比较紧,变化快。
  这个特点导致程序员没有时间重构代码,或者不愿意重构代码,而是用最简单粗暴的复制黏贴的方式快速实现业务逻辑。其实所有的复制黏贴都意味着需要重构。
  底层系统的开发,一般是架构师和高级程序员来设计和控制项目时间。相对来说,开发周期长,变化缓慢。会更加注重架构的合理性和稳定性,而且会不断重构和改进。
  业务开发一旦完成,只要平稳运行就不会有人再回来补技术债务,不会把它写得更好。除非这个业务爆发了,不得不从新架构以支持更高的并发。如果上线之后表现不佳,很可能下线不再维护。所以公司也不太愿意花太多精力在一个还没有被市场认可的产品项目上。
  而底层架构框架的项目会在不同的产品项目中不断应用。不断地进化。就像Spring之类的开源框架一样,不断的升级和完善。
  相对来说,业务开发程序员会花大量的时间学习和理解业务知识;而底层框架程序员更多的时间在学习技术架构。如果业务知识在行业内通用,比如财务,金融行业知识。那么长期的积累对业务开发也是很有帮助的。如果业务是很小众的,甚至,这几个月做这个业务,下半年又做另一个业务,做的时候也一知半解,就像很多外包一样,那就没有什么业务沉淀了。
  首先,我认为写业务代码不low,但是大部分不假思索拷贝粘贴的业务代码比较low,换句话说就是所谓的五年工作经验就是把第一年的工作重复了五遍。
  技术人员成长一般有两条线,一条是成为技术专家,一条是成为领域专家。所谓的转管理我理解也就是领域专家,毕竟不懂得领域知识是无法做好管理的,比如说你是互联网金融某个业务部门的leader,那么你肯定要懂金融。领域知识就是在不断的写业务代码和思考中积累起来。
  还有一个问题就是如何定义业务,比如说实现一个修改订单功能,这是一个业务需求,看起来很low,但是如果业务需求改成实现一个修改订单功能,要求在有限资源的情况下并发10k,响应时间不高于10ms,那这个需求就有挑战。说这个问题想说明白一件事情,如果做业务不要停留的在业务表面,仅仅满足于实现功能,要主动思考。
  最后总结一下,没有最好的技术,只有最适合业务的技术。技术是内功,业务是招式,内功不足,后续成长乏力,没有招式,内功也不能发挥威力。这是也很多互联网创业公司做大了之后要技术转型的原因。
  我就是写业务代码的,不过我觉得这很正常啊,不知道你是怎么就觉得low啦?
  所以,做为一个企业,支撑发展的肯定是他的业务,不管是卖什么服务,都要通过业务来赚钱,可能针对业务,企业内部还会做一些细化。比如说,有人会是做一些前端,一些人做后端,还有运维,运营,产品的配合。前端再细化,一部分人会做一些页面的展示,呈现,还有一部分人会做一些适合业务的工具,来提升开发效率。
  那如果你自己的定位是只是单单写页面的,那只能说你对自己的要求有点低,你没有去考虑如何做一些提升工作效率的事情。举个例子,比如说常见的后台管理系统,因为功能都很类似的,那你有去考虑如何做一个通用的模版吗,还是就是不断地去重复。
  这个别人的产出,做了一个vue的后台管理系统的模版,现在的GitHubstar在6万多,通过这个项目,他就可以得到更多人的认可,也能得到更多的好的工作机会。
  所以,不要觉得业务代码就是low的,要善于去总结,然后再分享自己的经验,没准你也能成为一个领域内的Top。
  关注我,一起学前端
  业务代码不一定low,能完成用户需求的代码就是好代码。
  另外,对于我们搞嵌入式软件、EDA工具软件的来说,业务软件反而是更有技术含量的,更具科学意义的代码,而软件可能只是载体,你啥时候透过代码理解了它们背后的物理概念、数学公式,你就超越了程序员,能向科学家又迈进一步。
  互联网软件其实也一样,软件实现的是一个业务流程的自动化,你完全可以透过你写的程序还原甲方用户的业务流程,而这种流程是老板制订的,认识会上一个层次,将来可以向老板迈进
  不要太在意所谓low与不low,需要在意的是做了这个项目或业务后,对自己的能力有没有长进,如果有,那说明不low。如果没有,那说明你只是在机械的劳动而已。
  每个大佬都是从业务代码做起的,大佬们注重的是能否成长,学习实践的机会,以及平台的大小和未来是否和自己的目标相匹配。
  总结来说,只要能提升自己能力的任何工作,都是值得的。
  工作不分高低贵贱,所谓业务代码只是重复、变化的部分比较多,让人感觉没有技术含量,但实际上能够真正理解业务需求的开发人员没几个。
  看到这个问题,我就呵呵了。
  觉得写业务代码很Low的人,在他们的认知里,软件开发一般是解决纯技术问题。
  纯技术问题,一定程度上也是业务问题。这些代码也是要归类到业务代码范畴。
  非著名程序员:换个角度看世界,另辟蹊径,提供新思路,优质的回答。
  我发现很多程序员对于处理业务逻辑都是嗤之以鼻。感觉自己天天写业务逻辑代码,改Bug都没有时间学习,没有时间实现个人成长?
  但是,作为程序员来讲,如果不是做底层基础技术研发的话,大部分的工作不就是做这些拧螺丝的工作吗?其实拧螺丝有那么容易吗?可能拧螺丝很容易,但是拧好螺丝就不那么简单了。
  别小瞧业务逻辑代码,如果真正写好,要把逻辑写得清晰简单易用,功能健壮稳定,性能同时达到要求的话,其实是挺难的。
  最近和一个刚接触编程的程序员聊天,问他喜欢编程吗?他说非常喜欢,所以就干了这行。由于是初学者,前期兴奋,喜欢正常,干了两个月后,再问他喜欢吗?他说最近有些浮躁,好像并不是那么喜欢了,感觉编程就那样,整天写写界面,处理一下业务逻辑,改改Bug,真没什么。
  其实很多程序员都跟他一样,都在痛苦的编程,一方面对自己有更高的要求,一方面又嫌弃现在写的代码没有技术含量。又有更高的要去和希望,又嫌弃现在的工作,就是不思考出现的原因,不去付诸行动。还不停的抱怨:感觉自己天天写业务逻辑代码,改Bug都没有时间学习,没有时间实现个人成长?
  到这里,我们不禁一问:那我们该如何摆脱这种现状呢?其实很简单,我们应该摆正自己的态度和观点,正确看待写业务逻辑这些代码就行了。
  坚持不懈的写好业务逻辑代码
  就像我在上面说的:别小瞧业务逻辑代码,如果真正写好,要把逻辑写得清晰简单易用,功能健壮稳定,性能同时达到要求的话,其实是挺难的。
  所以,我们要正确看待写业务逻辑的代码,应该摆正心态,坚持不懈的去写,所谓量变引起质变,就是这个道理。写业务代码,积累代码量,一力降十会,在积累了巨量的代码量之后,几乎任何所谓的有技术含量的东西都构不成挑战性。当然,要想真正的通过自己写业务代码,写好业务代码还应该有接下来的这个思考。
  业务逻辑代码同样可以玩出很多花样
  其实业务逻辑代码一样可以玩出很多花样,而这才是能够提升你能力的本质。比如:你写了一个处理单任务的业务逻辑,虽然满足了用户的需求,但是你这时能不能对自己有一个更高的要求呢?单任务虽然是功能实现了,但是效率可能不行,处理慢,那搞个多任务处理的逻辑怎么样?任务池、线程池、内存池、并发、同步等等这些技术点都来了。如果你对自己有这样的要求,而你自己有追求的话,就会进一步思考如何去做到这些,你做到了,你能力就提升了。
  同样,很多人感觉处理业务逻辑,就是一些各种循环,条件判断,只要逻辑稍微严谨点,功能就都没问题,就都实现了,确实是这样的。这就是你对于业务逻辑没有兴趣的根点所在。
  那你为什么不想想:如何使用循环和条件判断可以提升效率呢?满足了功能的那些需求,是不是有些地方可以优化一下呢?是不是可以提升一下性能呢?
  其实,这个技术的进步和积累,就在于自己内心对自己有没有更高的要求和追求。这是大实话,也是大白话。很多人就感觉只要实现了功能需求就够了,满足了用户就行了。然后,这个项目完事了,下个项目遇到差不多的逻辑,还是这么处理,又完事了,每个项目,每个功能都是这样重复的处理,从来不思考最优的实现方式,你感觉能够进步吗?你能不烦气吗?十年如一日的工作,10年也就积累了一年的工作经验,在重复使用。
  业务逻辑的最优方式,就是思考如何大道至简
  通过一个业务逻辑实现一个功能,基本上只要是程序员,脑子不笨,都能做出来,做出来是一回事,但是做好是另外一回事。大道至简,我们要做就得想办法做到最好。这里的好有很多层意思。
  比如:你写的业务逻辑代码是否能够做到准确,稳定,高效,易读,易扩展,易维护,兼容性强呢?问自己一句,如果你能做到这些,那确实是好。如果做不到,你还是处理初级水平,当然不行,这就是你在工作中提升能力的机会。别说没时间,都是借口。
  精益求精是对代码大道至简的永恒的追求,也是我们在处理业务逻辑代码中不断提高自己能力的过程。
  明明自己水平初级,就容易骄傲自满,感觉可以了,我想学更高的技术,那么更高的技术是自己在处理业务逻辑中一步一步积累出来的,不是干了初级的活,不用积累,直接学高级的技术,就能高级了。
  我特别喜欢网上有个网友写的一段话:有的人在一个行业写10年业务逻辑代码,那他就是这个行业的大牛,
  有的人在各行各业写10年不同项目代码,那他就是互联网界的大牛,
  有的人喜欢精于钻研某一项技术,那他就是这个领域的专家,
  有的人善于整体把握系统的架构,那他就是软件行业的专家,
  只要你喜欢你的工作,你就会去主动的学习,成长。
  其实很多技术大牛和技术专家,都是从业务逻辑做起,慢慢积累思考起来的。比如:在处理业务逻辑之前,会思考如何设计这个架构,可以让代码更好的扩展和维护。在处理业务逻辑的时候,思考如何的处理才能提高性能和效率?一步一步的实验和总结,积累,才成就了今天的成绩。
  所以,不要对处理业务逻辑嗤之以鼻,不要以为能够满足需求就够了。你重复不思考的粘贴和复制肯定是不行的,必然会对编程失去兴趣,自然无法更好的成长和进步。应该在编程的过程中追求更高的要求,寻找更高的兴趣,这样才能让你持续进步,从而进阶。
  我认为,业务代码是程序员的未来。AI技术会越来越适合做高深的算法优化和底层设计,因为那是规则条件明确的层面。而业务代码,设计的是人群事务的交互流程,逻辑。业务代码的好坏关系到一个群体,一个组织的运转效率,成本,发展可行性,没有定式,没有标准,这是现实生活里因地制宜,因人而异的事情,是AI和自动化无法取代的。增删改查不过是excel表格的变种,真正能设计出牛逼的业务代码才是人类程序员未来的核心价值。

吉安市的区划变动,江西省的重要城市之一,为何有13个区县?在之前的文章中,作者和大家聊了一系列关于江西省各个城市区划变迁和经济发展的故事,例如南昌市赣州市宜春市等等。今天,我们聊聊江西省吉安市的区划变迁。吉安市属于江西省下辖的地级市之一,辽宁省十大必去景点,没去过都不好意思说是辽宁的头条创作挑战赛前面说了东三省的黑吉,接下来就该说到辽宁省了,看看这次盘点的十大景点你们又去过几个呢?辽宁省,简称辽,取辽河流域永远安宁之意而得其名,省会是沈阳。辽宁省位于东北地区南全球人口破80亿,有人提出人类灭绝计划导读11月15日,联合国宣布全球人口达到80亿。这个数字究竟是多是少,这到底是好事还是坏事,一时间众说纷纭。而其中有一种观点,十分耸人听闻。莱斯奈特提出,人类应当放弃繁殖,逐步实现澎湃思想周报FTX崩溃与有效利他主义全球人口超80亿是喜是忧FTX崩溃与有效利他主义的漏洞伴随着加密货币交易所FTX的崩溃,巨额的资金付之一炬,使众多的投资者承受难以想象的损失,公司的破产也让创始人兼首席执行官山姆班克曼弗里德(SamBan潍坊市的区划变动,山东省的重要城市,12个区县是怎么来的?在之前的文章中,给大家介绍了很多城市的区划变迁沿革,因为我国的历史悠久,而且经历的政权比较多,在每个政权统治时期,对于每个地方的区划调整都是不一样的,而且每个地方的地名也是不一样的唐僧取经经过了哪些国家,周边妖怪的实力如何?唐僧取经每到一处国家城池都需要在通关文牒上盖上当地的宝印,在返回大唐后,唐太宗李世民还特意翻看一番,其中有宝象国印,乌鸡国印,车迟国印,西梁女国印,祭赛国印,朱紫国印,狮驼国印,比攻坚新能源的路上,长城汽车有了重武器车企该不该自己做电池?这是之前行业内一直都在争论的问题。但现在看来,似乎已经有了明确的答案。今年以来,动力电池价格高居不下,广汽集团董事长曾庆洪就曾无奈表示现在就是车企在给电池厂打没实力别装!穆雷挑衅火箭下场老鹰迎3连败,东部最强双枪就这有实力并且装X也不会让人反感,这样的球员相信会非常吸粉,重点就在于需要把握好这个尺度,如果没有能力又喜欢装,相信每个球迷都不会喜欢这样的球星。在今夏被马刺队交易之后,穆雷的本性或许神十五成功发射,北京明白又圈了波粉,颜值与实力都在线我国航天事业再次取得新进展,神舟十五号成功发射,两个乘组的6名航天员在太空会师,进行在轨交接,交接之后,中国空间站将进入长期有人驻留模式。神十五能够顺利进入太空,离不开无数航天人的揭秘战功彪炳的四大野战军都是由什么部队发展而来的?1937年7月,全面抗日战争爆发,在陕北坚守的中国工农红军改编为八路军,参加到了抗日洪流之中。当时,在八路军的建制之外,还存在南方八省游击队,这支部队后来被改编为新四军。其实,纵观王国维自杀绝望下的选择前因辛亥革命1912年2月辛亥革命后,清王朝统治结束,饱受传统文化熏陶的王国维成为遗民。1927年6月4日,申报发文公布清华大学国学院导师王国维投湖自尽之事两天前的下午,王国维在北
买西瓜和老板约好不熟不买,当开出没有熟透的西瓜时老板说熟了,这时我是买还是不买?西瓜都是被外皮包裹着的,看上去就像一个个相似的个体,它们里面究竟是熟还是不熟,对于广大普通的顾客来说是很难分辨得出来的所以,在选购西瓜时想知道它是否成熟的最简单直接的办法就是把它们味精和鸡精有啥区别?味精和鸡精的区别1。从外形上味精是晶莹剔透的条状,鸡精是粗糙的颗粒状。2。从颜色上味精是白色的,鸡精是淡黄色的。3。味精是给菜增鲜的,吃了之后会感觉菜肴非常的鲜美可口,大家就更喜欢如今的人们都得了手机依赖综合症,你认同吗?玩手机有什么危害?感谢您的阅读。手机只是一个物体,并不是有智慧的东西,所以当手机对我们有卫害时,那是因为我们自己长时间的玩耍手机造成的,所以手机能不能对于我们有害处全靠我们自己的使用的习惯,使用手机小米手机为什么那么便宜,而华为手机为何比其它手机贵的多?我们都知道,小米和华为走的是两条不一样的路线,一个主打的是极高的性价比,靠着高配置低价格来获取口碑,而华为则是走从做工品牌都高大上,努力看齐三星苹果的路子。而很多网友认为,小米是在装修时预留的是百兆网线,现在宽带升级到200M了,可网速还是100M,怎么办?作为资深网络技术人员,回答这一问题。装修时预留的是百兆网线,现在宽带升级到200M了,可网速还是100M,这说明家庭网络有传输瓶颈。从技术角度来说,宽带升级到200M后所有的网络设现在买小米(红米)手机,千元价位买哪款手机好?现在买小米(红米)手机,千元价位买哪款手机好?性价比超爆的小米红米手机,第一款红米K305G极速版,目前在网上售价1599元人民币,在京东商城领劵到手价为1399元人民币。处理器方现在上海市最好的大学是哪一所?每每谈到上海,我的内心就不免惊起一阵波澜,内心想上海真是一个神奇的城市,我想魔都应该是人们对上海这座城市最好的诠释吧。因为他不仅是一座经济发展极度极度全面的城市,实现了很多很多的梦股票上面你亏损最多的一回是多少?以后你还会继续炒股吗?我自己还行吧,账面上最多一次也就亏损了40不到,是第一轮牛市进入股市后的结果。因为牛市结束,自己过于贪婪,再加上刚刚炒股,又不会止损和止赢,最终导致盈利回撤,扭赢为亏。而在牛市结束大盘如何抄底?告诉你一个好消息永远不要担心你抄不到底1大盘真正的底从来都不会是V型反转所以,别担心你抄不到底,你唯一要担心的是你抄在半山腰上2大盘如果要见底必须是各个均线已经经历过了严重发散,然现在的手机更新换代太快了,请问我的苹果XR还能撑多久?文小伊评科技解答这个问题之前,我们先要知道哪些方面的因素是影响一款手机使用寿命的根本性原因,一款手机的正常使用寿命(非外力影响)和这款手机的性能,系统,电池都有莫大的关系,其中性能灌篮高手手游为什么感觉大家都喜欢海边球场?大家好!我也是一名灌篮高手手游玩家我也喜欢海边球场,先分析每个球场的特色湘北球场有许多熟悉的面孔彩子,樱木军团,柔道男,还有会跟着会变得比分牌不加竞技币海南球场跟湘北球场比,偷工减
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网