范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

对程序员重复造轮子的几点思考

  今天聊下程序员重复造轮子方面的话题,谈下自己的看法。
  对于重复造轮子,简单来说就是一个企业或组织,本身存在可用的开源组件,项目或基础库,但是很多开发团队还自己重头手写一套自己的框架或组件的情况。
  实际上这种情况在各大互联网公司相当普遍,类似腾讯内部本身也分了很多的BG事业部,各个事业部之间往往都存在重复开发相同的组件或基础平台的情况。在19年腾讯内部也就该问题启动了内部的开源协同,具体如下:
  开源协同的基础工具,包括技术图谱、专门讨论技术的社区码客、代码管理工具等。让技术人员能够在固定的地方找得到各种技术,可以直接拿来用。
  类似当前我们常说的微服务开发框架,服务注册中心,微服务治理等都可以看到,实际当前存在多个不同的开源项目,类似阿里,华为,腾讯都推出自己的开源开发框架和环境。我们随时都在说不要重复造轮子,但是实际情况往往又是不断在重复造轮子。
  今天写这篇文章还是想谈下对该问题的一些看法。为何要重复造轮子
  为何会出现重复造轮子的情况?对于不同的组织,团队往往都有自己的理由,但是总结下来说主要还是体现在以下几个方面。
  开源项目无法满足需求
  简单来说就是开源项目无法满足特定项目在特定场景下的一些需求,在这种情况下如何选择开源项目往往存在对项目进行代码改造方面的问题。那么后续开源项目本身的版本升级往往就比较麻烦,这个就很难保证升级的平滑性。
  同时对于开源项目别人的代码进行大量的改造往往也是一个危险动作 ,特别是程序员对开源项目本身的底层逻辑不太清楚的情况下反而引入更多的问题和风险。
  开源项目太复杂到性能和敏捷
  一个开源项目如果要做到能够支撑不同的业务场景或技术场景,那么这个项目本身就会不断地抽象,底层模型也就越来越复杂。在这种情况下虽然能更好地支撑上层业务场景的多样性,但是由于底层复杂模型牺牲了相应业务场景下的性能和敏捷性 。
  举个简单的例子来说采用JDBC直接访问特定数据库,其性能肯定是好用采用O/R Mapping框架的。ORM框架需要考虑对多场景,多数据库适配支持,那么一定是引入了更多的复杂性,并牺牲了一定的性能。
  类似的还有很多例子,比如传统我们谈消息中间件,为了满足复杂业务场景都需要支持事务处理和数据持久化,在这种情况下性能一定降低,这也是后续又出现了类似Kafka等消息中间件的一个重要原因。
  程序员的技术狂热
  对于这个问题实际上我不止一次提出,即技术人员特有的一种技术狂热主义。很多技术人员对新技术痴迷,同时有极强的自我主义。如果是引用别人的开源项目,总感觉体现不出自己的技术优越性,因此个人主观意识里面就是自己也开发一套性能或能力更加强大的。
  这种思维还有一个重要的表象就是程序员自我的个人价值实现和利益考量 。简单来说如果是自己手写了某个技术框架并大面积得到了使用,这个不仅仅是技术成就感的问题,同时也是自己能力的很好证明,可以更加方便自我价值实现,后续自我职业发展等。
  但是这种个人价值驱动往往是有损组织级的利益的,比如常见的一种情况就是公司花钱结果程序员自己重复造轮子,搞自主研发和平台,技术人员自己能力提升后快速跳槽,给企业留下一个烂摊子的情况。
  内部协同困难和敏捷性
  为何一个大企业在各个不同的产品线内部也重复开发同样的东西而无法复用?
  这个又不得不回到企业架构和组织壁垒方面的话题,不同的事业部开发相应的组件肯定是优先满足自己的业务场景和需求,但是这个组件如果要开放给其它事业部使用,那么就需要进一步的抽象和重构往往才能够满足。
  对于提供者来说往往并不希望花这些成本费用去重构,而对于消费者来说也觉得提供组织本身的软件平台或组件无法满足自己的敏捷需求。
  当无法形成一种跨事业部的横向协同和管控机制的时候,那么一定会出现在企业内部各个组织单元之间也不断重复造轮子的情况。 也正是这个原因可以看到一些组织会将基础平台类的部门单独出来,同时强制要求其它产品线基于共性技术平台或组件构建上层应用。
  企业本身的完全自主可控需求
  还有一种重复造轮的的情况就是企业自身对于某一个基础软件,技术组件需要做到完全自主可控的需求。如果采用商用软件,那么软件企业本身不开放源代码,无法做到完全自主可控。如果采用开源的软件,那么软件本身存在哪些漏洞或风险实际上也是一个未知数,对于后续软件的版本升级等也无法很好的把控。
  因此对于一些安全性和自主可控要求高的企业来说,仍然存在即使有主流的开源解决方案的情况下,也对某一个基础平台或技术组件重头进行自主研发,做到完全自主可控的情况。哪些情况需要重复造轮子?
  在前面详细谈了重复造轮子存在的一些可能的原因。基于这些点分析可以看到,真正去重复造轮子的情况唯一就是自主研发可控,特别是一些基础软件和基础中间件上面。
  类似我们看到的数据库,应用中间件,消息中间件等。
  如果一个基础软件或基础库,当前只有商用的版本而且不开放源代码,那么为了做到完全的自主可控,你只能够是自主研发实现。
  或者一个软件项目虽然有开源实现,但是根据开源协议要求,如果你在开源项目基础上做了变更或定制,对应的软件或产品也需要开源,这个可能也无法满足一些组织自主可控和安全管控的要求。
  这两种情况往往都需要导致重复造轮子。
  而对于前面谈的需求无法满足需要对开源软件进行适度定制,技术人员自身的技术狂热等都不是你重复造轮子的理由。
  当在一个大企业或组织内部,你发现一个软件组件无法跨部门复用的时候,你就需要去解决这个问题,而不是各自为政都去搞一套,这将对后续软件应用的维护带来巨大影响。同时如果同一个技术组件,两种实现,本身也导致增加了人员学习负担和人员技能要求。这些本质都是无谓的成本投入和浪费。站在巨人的肩膀上
  就拿远行科技我们自己的ESB总线产品研发来说,我们差不多是在2011年就启动了自主ESB服务总线的研发,当时采用去IOE架构,也没有基于任何开源的ESB产品,而是完全从头做起完成核心ESB总线的协议转换,代理,路由,日志监控等核心功能。
  但是在14年我们废弃了这套ESB版本,其核心的原因就是自主研发当时仅仅是满足我们对外项目特定场景下的集成需求和管控要求,因此在底层架构本身的可扩展性,性能,支撑的适配器能力各个方面都存在不足。如果要基于这套ESB进行功能扩展,那么整体的研发资源和投入量将是巨大的。
  也正是这个原因我们进行了重新ESB产品规划和选型,最终选择了基于Camel规则引擎的ServiceMix开源ESB总线产品进行定制开发,即基于开源ESB产品定制开发设计工具,定制治理管控平台能力,底层引擎本身基于开源实现。
  由于本身开发设计平台,管控平台和底层引擎之间本身就是一种松耦合的架构模式,因此对于ServiceMix本身的版本升级我们也基本可以做到平滑升级。
  基于这种模式,我们既减少了在底层技术平台上的大量资源投入,同时又基于我们自己的SOA项目实施经验,扩展了覆盖服务全生命周期管理,覆盖SOA运维监控,管控治理要求的完整SOA开发设计平台和SOA管控治理平台。包括在后续的产品推广中,我们也完全说明底层基于哪个开源ESB产品进行的定制,同时强调差异化的竞争优势。
  而对于API网关,我们也基本采用类似的思路,即选择了Kong网关作为底层引擎,并扩展外围的API快速开发平台和Kong网关对接,同时定制开发API管控治理平台,通过Kong提供的标准API接口实现集成。
  即站在巨人的肩膀上,集中优势资源去解决差异化竞争力,而不是重复造轮子。
  今天写这篇文章,实际是突然发现一个问题,即各大互联网公司不断在自研自己的微服务开发框架,事件处理框架,消息中间件,微服务治理框架,服务注册中心等。比如这几天刚看到的消息微众开源的 EventMesh 进入Apache孵化项目。
  为何各大互联网公司的软件团队如此的热衷自己造轮子?对于这点也欢迎大家讨论。

和李佳琦一起上热搜杭州砸100万引进,这个刷屏朋友圈的快递员,凭啥这么牛?如果此刻孤单不妨抬头看看月亮来源王耳朵先生(IDhuangezishiba)前几天,朋友圈被一个快递小哥刷了屏。95后,高中文化,却和李佳琦一起登上热搜。他作为高层次人才,直接落户wenno下架又上架?迪迦奥特曼我招谁惹谁了?前几天,几小何的童年男神迪迦奥特曼惨遭下架。据说是因为部分情节涉嫌低俗暴力误导未成年人,迪迦奥特曼被家长点名举报,不少网友调侃这下光彻底消失了早在今年4月,包括迪迦奥特曼(下文简称爸爸辅导作业气掉下巴,父母失控行为大赏,堪称人间真实不写作业,母慈子孝一写作业,鸡飞狗跳上辈子做了什么孽,这辈子要陪孩子写作业。这些看似戏谑的调侃之言,已经成为当代家长的真实写照,甚至有网友为家长量身定做一个词恐辅症,指父母辅导孩子国家电网秋招即将启动,比春招更占优势,这些专业独得恩宠大学生已经陆续开学,意味着秋招即将拉开序幕,每年各大企业都会在春招和秋招上广纳贤才。对于应届毕业生来说,这是进入国企央企大厂机构的绝佳机会。如果错过这次机会,再通过社招途径,难度就刘恺威不再隐瞒,小糯米与继母一同逛街,小糯米说的话很真实自杨幂刘恺威离婚至今,也有将近一年的时间了。这在一年的时间里,杨幂在事业上步步高升,实属是女强人刘恺威也是和女儿小糯米互动得很有爱,尽显好爸爸风范。虽然两人各自安好,但是两人的恋情国家开始打假活动!严查假冒贫困户,一旦查到取消资格,希望没你在农村生活的人对最近这个事情都不陌生,国家一直给予农村在政策上的扶持,生活上的补助。主要是针对于生活贫困的农户,规定但凡符合要求的农户个人,都可以领取补助得到帮助。这些政策使得很多女网红撞脸baby而走红,路人镜头下的生图这腿真实存在?AngelaBaby最近两年生完了宝宝之后,好像并没一点打算要停歇的意思,我们看到她基本上所有的时间除了带孩子以外就是在工作,我们看到她除了演戏,还要参加很多的时尚活动,今年的综艺千古玦尘被说成不祥之物的凤染,真实身份比天后还尊贵周冬雨许凯主演的仙侠剧千古玦尘开分4。8,目前已涨到5。1分,虽然很多网友在吐槽,可是这部剧的播放量却一天比一天高,最高已经达到了单日破亿的成绩,真是令人刮目相看。相信很多观众对这南台控股中国家庭里最虚伪的三句话,它算一句电影关于我妈的一切中,徐帆饰演的母亲问张婧仪饰演的女儿国庆回不回家,女儿说地铁上吵,我先挂了。说实话,工作之后总觉得我和我妈之间的关系发生了微妙的变化。在学校的时候每天都要在微信上教师行业变成女儿国,为何出现男教师荒?有人说真话了教师行业一直都是同学们梦寐以求的金饭碗,高考志愿选择师范专业的人数也在逐年增加。在近年来入行教师业的人来看,男性占比越来越低,而女性却越来越高。尤其是在幼儿园和小学中,似乎已经成为非洲最随便的民族三头牛就能换一个老婆,大多男性活不过15在神秘的非洲大陆上,至今都还保留着许多原始部落原始风俗,由于信息闭塞,一直以来他们都保持着自己的生活方式。当我来到非洲西南部的纳米比亚,在当地向导的带领下,我来到了一个即将消失的原
盘点见义勇为获赞的八大明星,看看都有谁?见义勇为是一种高尚的品质,日常生活中会有不少人在关键时刻挺身而出见义勇为。只是很少有人知道,不少明星也有见义勇为的行为,他们的行为同样值得我们点赞。下面我们就来盘点见义勇为获赞的八他被称为毒舌主持人,曾是撒贝宁的搭档,如今48岁沦为网综主持人央视的男主持人可以说个个都很出色,朱广权幽默,撒贝宁帅气,康辉多才多艺。撒贝宁曾俘获过女星章子怡的芳心。央视是一个很好的平台,但是近些年从央视离职的主持人也不少,比如张泉灵等等。张盘点被网友吐槽情史混乱的八大男星,看看都有谁?近日,有自媒体发布李晨情史混乱的内容,受到了李晨方的辟谣,并表明要通过法律手段来维权。无独有偶,在6月25日,曹云金工作室也发表了律师声明,谴责多名账号发布不实侮辱诋毁曹云金的言论汪海林直言内地没有能扛票房的年轻演员,流量明星该何去何从?近日,著名编剧汪海林解剖了当下的娱乐圈与演员,并说道内地没有能够扛得起票房的年轻演员。并直言道现在的男演员严重断档了,演技能撑得住大银幕的永远只有易烊千玺和周冬雨,女孩还有张子枫,潘长江之后,明星纷纷直播卖酒,其中的水到底有多深?618那天老戏骨张晨光因为直播卖酒而被很多网友吐槽,64岁的张晨光一度被网友骂哭,一些网友的评价的确是不太友好,张晨光被嘲晚年不保。张晨光在直播卖的酒如何呢?有网友晒出了酒的视频,33岁舒畅近照曝光,身穿白色旗袍尽显熟女气质,感情生活却成谜近日,舒畅在社交平台上晒出自己穿白色旗袍的视频,手里还拿着一块手绢在闲庭信步,不得不说舒畅的状态真的非常好,而且旗袍造型也十分具有古风。而眼尖的网友则发现她是处于一所豪宅里面,还有36岁叶一茜近况商演拿60万出场费引发热议,被传疑似怀上三胎综艺节目爸爸去哪儿带火了王诗龄田雨橙等星二代。别看有的星二代年龄小,他们甚至还有可能为自己的父母带去更多的关注度。近些年戚薇霍思燕等明星都曾被指靠孩子翻红,女星叶一茜也是如此。叶一盘点2021年7月热播的八部电视剧,你最期待哪一部?炎热的七月马上就要到来了,学生党们也即将进入暑假生活。炎热的天气中如果能窝在家中吃着西瓜,吹着空调追剧的话,应该是不错的选择。那么在即将到来的7月份会有哪些电视剧热播呢?赶紧来盘点大衣哥朱之文再惹争议!全家上阵搞直播捞金,网友都看不下去了大衣哥朱之文是从星光大道中走出的草根明星,原本是个农民的他有一副好嗓子,身穿一身军大衣,参加选秀节目走红,成为了知名度很高的明星。大衣哥走红的这些年可以说争议不断,除了自己惹争议以39岁张韶涵近况参加七一晚会和成龙同台献唱,晒证书心情激动近日隆重举办的七一晚会星光熠熠,刘涛李易峰杨紫李现等明星都参加了这场大型文艺晚会。港台明星方面成龙和张韶涵同台献唱,他们和其他演员一起合唱了歌曲怒吼吧黄河。七一晚会真的很燃,成龙和雪上加霜!郑爽正式遭投资方起诉,她到底要赔多少钱?自从被九大官媒下场评为劣迹艺人后,郑爽已经销声匿迹好几个月了,安静到网友们都以为她真的成为一个素人。但事实证明,即使现在郑爽想要低调做人,安安静静过自己的小日子,却还是得处理好她之