游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

为什么国内程序员都很少进行代码重构?

  说到代码的重构对于国外的程序员提到的比较多,特别是大型的开源工程,基本上一个模块或者函数的实现会反复的修改,一个文件能被修改成千上万次,曾经订阅了linux内核组的邮件,每天的收到的修改文件成千上万,有时候一个文件都能被修改上百次,对于文件修改最疯狂的是google的chrome源码,重构的次数,让你觉得每天都在重写但是功能上感觉越来越流畅。为什么我们周围的程序员绝大部分时间做的不是这样的事情。
  为啥从直觉上觉得老外的写的代买质量比我们的要高,我们国内的程序员绝大部分的时间是在赶进度,准确的来讲忙着增加功能和修改bug,其实也从侧面反映出为什么国内出不了android以及Linux等影响深远的科技创新,从全球开源代码的占比就可以看出,差距还是很巨大的。
  为什么觉得老外写的代码比我们的强?
  1。国内软件发展主要阶段还在解决有没有,还远谈不上强大
  中国的软件经过近几十年长足的发展,已经取得了巨大的成就,特别在互联网行业已经有几个巨头跻身世界前列了,最近炒的很热的脸书的用户数据泄密事件,作为当事人扎克伯格,也在论述中提到中国有几个很厉害的互联网公司,这说明中国在互联网领域还是取得了相当大的成就,但是在一些核心的领域,或者门槛很高的领域差别还是非常巨大。
  任何事情在发展的初级阶段首要考虑的是不是有没有,所以如同创业初期的公司会选择短时间内搞出来个产品,哪怕是不成熟的产品,然后快速的投入市场,根据市场用户的反应同步追踪问题,等到产品差不多稳定,并且产品在市场上有了一席之地之后,后续的事情就要考虑优化功能,对里面的代码或者产品的性能进行全方面的提升,目前国内大部分的互联网一般比较年轻,还在解决有没有的问题,相信随着时间的推移以及国内软件的发展,也会有大量的高质量的开源框架代码出来,但这一切都需要很长的时间。
  所以国内的程序员大部分时间都是在赶进度和根据需求完成功能代码。
  2。软件产业的底子还很薄弱,历史积淀还不够
  举个很典型的例子,现在很多国内的程序员到了30多岁就开始考虑后续的转型了,因为后面的轻轻人会带来很大的冲击,所以大部分的30多岁的程序员都在考虑自己后路,都要考虑转型的问题。老的有经验的程序员反而转型去做管理或者合伙创业了,哪有几个还在安心搞技术,年龄大了还在搞技术的还被人鄙视,觉得自己没有出息。
  但是在国外写代码是一种很常见的职业,和别的工种没有多大的差异,40,50岁了写代码也是比比皆是,做软件是一种技术工种,经验的占比是很高的,所以老程序员写出来的代码更加有深度,稳定性更高,一切的根源还是产业的发展不够成熟,需要时间和历史的积淀,从这方面讲国内的软件整体产业还是比较薄弱,从业人员的整体素质和工作氛围还有待慢慢的成熟,周围都是有经验的程序员在带领着如何去重构代码,如何提升代码的质量,而国内大部分的程序要还是被产品经理鞭策着增加需求和修改代码。
  3。公司的文化差异
  目前很多的中国技术公司更多的追求的是短期利益的最大化,在基础软件的投入远远不够,毕竟基础的投入很难短期见成效,在一个具体的场景,有一个产品主体的功能已经实现了,也能在用户那边投入使用了,一般的公司很难拿出时间来,让你做代码的重构,毕竟这种事情很难直接产生经济效益。这与公司本身的文化差异有很大的关系,重视的技术或者懂得技术的公司对于这方面相对比较重视,反之就差很多。
  小时候课本上就说着我们落后100年,所以高楼大厦不是一天建成的,所以在追赶的道路很漫长,所以承认存在差距,然后努力加倍的去追赶。
  觉得不错就点个赞
  Timeismoney。以目前国内互联网的情况,需求应接不暇,程序员基本上都是被需求与业务赶着走,时间非常紧张,在这种情况下,程序员很多时候唯一的选择就是赶紧实现需求的功能。所以,一个项目下来,代码基本上都变得非常非常的垃圾。
  也有很多程序员想过在项目结尾的时候进行代码的重构,基本上每个程序员也都知道重构代码的好处,但是并不代表着真正能做起来。还是那个原因,国内互联网的速度太快,需求应接不暇,做为程序员,基本上没有时间来做这件事情。
  而另外一个原因是跟团队负责人有关。若团队负责人能够意识到重构的好处,那么他可以为此单独划分一段开发时间出来,让大家分别负责一个模块进行重构,这都是可以安排做起来的。这也需要团队负责人如何在需求人员的需求与代码质量的进度上做一个平衡,进行统筹安排。
  最后我想说一个可能很少意识到的原因,那就是人员流动问题。国内互联网目前人员流动非常的大,尤其是北上深这样的互联网发达的城市,基本上是平均两年就会走一大波人,在这样的情况下,也会考验从业人员的职业道德,即我到底要把代码写的多好,要把代码的可维护性做到多好,其实这都是从业人员自身需要考验的问题,因为完成一个功能很容易,但是要考虑的全面就是另外一回事了。而人员流动带来的另一个问题就是有一些代码是很难看懂的,即有些代码在人员离开后成为了历史,无人敢动。这也会阻碍着软件的重构工作的进行。
  从我所讲的这几种情况来看,重构其实是大家都能知道的好处,但是真正实施起来却又有现实的约束,需要负责人来做这样的统筹安排与推动。
  成本太大
  大多数软件产品的开发都是经过了很多开发人员的付出,如果进行代码重构需要了解产品、了解框架、了解代码逻辑,这个过程会花费大量的时间和人力成本,对于企业来说,效益是第一位的,与其花费精力进行效益不大的产品重构,不如去承接更多的项目来的实在。领导决策
  由于大部分企业的老板都是非技术人员出身,他们更关注效益和客户,为了符合企业的发展,在进行产品开发时会更多的采用新技术来吸引客户,花费精力重构代码不如开发一套新产品或者开发更酷炫的效果更具有实在意义。代码规范不足
  由于国内互联网较之国外起步较晚,很多企业发展时间较短,加之人员流动比较大等多方面的因素,很难形成标准、严谨、行之有效的代码规范,所以很多技术人员在开发时都是根据个人风格习惯在开发,等其他人接手代码时,缺少相关标准和文档,很难理解代码逻辑,花时间去了解代码、重构代码不如直接推翻重做来的方便。客户定制化需求
  部分企业创业初期对企业信息化是不够重视的,只有企业发展到一定程度才会考虑信息化建设,而由于业务的限制,大多数标准化的互联网产品都很难满足企业的实际需求,需要进行大量定制化的开发,对于互联网企业来说,即使产品开发足够完善,在实际项目中也需要进行扩展,倒不如直接在项目中进行调整。程序员的发展限定
  在国内很少有终身的程序员,大部分都会逐渐转向销售、售前、项目经理、产品经理等岗位,而这些岗位则需要了解业务、了解客户,对技术的需求反而不会太高,所以与其花时间去专研技术不如将更多的精力用在业务和项目层面。
  代码能够重构对底层框架要求深度掌握、且代码框架本身要足够灵活,而国内绝大部分技术人员都是停留在对框架的使用层面、少数可以完善、结合使用,极个别的在做同语言山寨或者换一种语言重写,能够对产品体系进行把握、与时俱进扩展实在是凤毛麟角。随着国家的经济提升、IT行业逐渐成熟,在我国这么多IT公司基数下,即便是凤毛麟角的概率,重视基础框架、积累萃取、不断迭代完善的一些技术公司也会慢慢崭露头角、涌现出来的。
  谢邀
  【国内程序员很少进行代码重构】,这个现象虽然没有什么调查统计,不过我写了十多年代码,也发现身边的程序员大多数是这样的,【宁可写新的代码,也不愿意重构老代码】。下面我也谈谈自己的看法:
  系统没有问题,就是最大的功劳
  我见过的大部分的传统行业的软件公司或IT部门是这样的(互联网公司不太了解),只要系统稳定,那么就是最大的功劳,而保持系统稳定最好的方法是什么?就是尽可能的不要动系统!
  可能很多人不能理解,但很多公司确实是这样,甚至公司对项目的考核标准中,项目有什么突破的权重很低,是否有生产事故的权重很高。所以很多机智的项目组成员,千方百计的不接需求,或者把需求推给别的项目组。在这种单位里面,别说重构了,新代码都写的不多。
  测试覆盖度太低,重构代码没办法保证质量
  代码重构,很重要的一个问题:重构后的代码谁来保证?如果影响到原有的功能怎么办?
  这时候很有效的一个方法,是使用各种自动化的测试来保证重构代码的质量。
  但是,大部分公司,不管是单元测试还是其他的自动化测试,都是不健全的,甚至是没有的。所以只要不是被逼不得已,程序员宁可重新写一个方法,也不愿意重构之前的代码。
  其他
  代码风格有差异,看别人的代码真心累。
  有的代码写的真心不敢恭维,各种奇怪的思路真的理解不了。
  文档没有,注释也没有,有时候看代码只能靠猜。
  希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、职业发展等方面的见解,希望能得到你的关注;另外,关注我后私信【资料】两个字,可获取架构、大数据、面试等相关资料。
  进行代码重构不是一件容易的事情,务必需要对需求熟悉;对代码历史变更熟悉;对代码框架,模块熟悉;对产品更新迭代做好风险把控,时间成本把控
  进行代码重构需要能力非常高,责任心非常强的人进行,甚至需要一个优秀的团队完成。
  为什么要代码重构?理由一大堆,小编认为主要有两条,一是原代码已不适合扩展新需求,二是原代码已擁肿不堪,乱七八糟。
  为什么很少重构?除了上述分析外,还有其他因素,如人员流动快,原团队原作者早已不知何去何从了。又如需求和业务繁多,完成工作开发都累得半死不活,日理万机似的,哪有时间和心情重构?
  谢谢大家。
  1。国内程序员技术能力不足以进行代码重构
  大量的软件从业人员连编程规范都不熟悉,怎么可能做代码重构?更多的人只会写写helloworld,只会拷贝粘贴小段代码,连ifelse这种语句都写不清楚甚至漏掉逻辑,连面向对象的编程思想都没有,谈何重构?
  2。国内程序员的沟通能力说服能力一般。
  进行软件重构,必须说服经理,让经理相信重构会带来软件质量的提高和故障率的逐步降低,这样经理才会安排人力进行重构。
  3。国内软件开发更注重bug的及时解决
  国内软件开发大量的人力被分配到解决短期的某个bug,没人抽时间思考如何长久的彻底的解决软件缺陷,其实解决bug不重要,找到软件的缺陷或者性能低下的地方才重要,这些才是重构的点。国内加班加点疲于奔命式的开发,没人考虑bug率是否长期内能够收敛,总是先解决眼前的问题再说,处于一个永远解决bug的死循环里。
  这种工作模式是愚蠢的,不是smart的。
  软件开发,一定要动脑子,不要蛮干,这不是耕地,力气大就耕的多。
  重构代码的目的说白了,就是让软件开发人员更自由。
  谢谢楼主的问题,这是一个我特别想回答的问题?
  为什么?因为,第一,我是一个对代码有洁癖的人,受不了一坨,一坨那样的代码。第二,我是一个践行CleanCode的人,给大家我主要负责的一个项目的一组数据(JAVA),总代码量20万行,UTcoverage(单元测试代码覆盖率)82,代码重复率0。5,代码规则(sonar)违反(Codeissue)0,甚至连最低的违反都没有。
  也正是因为我的项目在实践CleanCode上的数据,我经常去给不同的团队做分享,也对团队对这个重构不太上心有一些理解。
  大致以下几个原因。
  第一,也是最多的,交付压力,大部分人都会抱怨,你看我们有这么多新功能,还有那么多bug,根本忙不过来,哪有时间重构?
  第二,重构意识不足,老板,管理人员总是希望这个我们要有,那个我们也要实现?为什么?因为别人有,别人有我们没有可能会造成用户流逝。即使有一些有见识的程序员和老板反应这个重构问题,但是重构从来不是高优先级的。毕竟,现在的软件的生命周期可能很短。
  第三,人员流动性大,这个是我听过最奇葩的一个理由,我问一个来听培训的哥们,说你代码写成这样,以后怎么维护?这个哥们说,我也知道难维护,但我明年就跳槽了。
  第四,设计上就不需要重构,曾经给一个保险公司做分享,我本人也是做金融相关产品后台的,我就问你们这样写代码,可能三四年以后就非常难维护了,还是要尽快重构。他们的回答是,我们不重构,我们只重写。什么意思那?就是一个系统,三四年以后在写一遍。
  第五,程序员本身的问题,可能第一写单元测试,修改命名,修改代码结构,是一件很没有成就感的事情,也是一个没有多少附加值的事情。毕竟现在你去找工作,这个代码质量方面的问题会问得很少。
  第六,我见过的我不能反驳的一个回答,我的英文太差,不能很好的命名,而我也不想学英文。
  第七,反正我已经实现了功能。
  最后,用一句话来提醒程序员们,重构是多么重要。
  出来混迟早要还的,挖了坑迟早要填的。
  在国内,【重构】这件事是程序员最喜欢做的事,而不是公司喜欢做的事。
  但程序员喜欢并不能影响公司的决策,所以,国内的现象就是软件系统很少有重构。
  其根本的原因在于,国内的公司所推出的系统大多没有重构的价值。
  1、国内的互联网公司存在这样一种快节奏,那就是发现一个有价值的创意,就马上进入开发,开发完成立即上线,并立马推广使用。这是一种快速试错的模式,一旦发现系统在社会中没有引起反响,那就马上把系统再下线。这种情况下的系统哪来的重构价值呢?
  2、即使一个系统上线成功了,也积累了大量的用户,貌似为了系统的稳定性和性能,可以有重构的机会。但事实上不是,国内公司仍旧不会选择重构,因为重构带不来新的价值。所以,公司多数都会在系统上添加新的功能来吸引新的客户,而不会考虑重构现有系统。
  总得来说,引起重构的原因在于能够有持续的价值。没有价值的事,企业当然不会做,仅是程序员的一厢情愿而已。
  你只是见到了你所在的公司现象,不代表所有,也不能代表大部分的。
  代码重构还是存在的现象
  代码设计烂,经常出问题、扩展麻烦、维护心累、数据混乱、结果不清醒、模块划分混乱
  就可能要考虑到重构了
  呵呵,
  老大说:
  你赶紧去修复一下这个bug,
  还有几个功能没有实现,加班搞一下,
  pm说:
  这个功能改一下,
  还有这个,界面重新调整一下,
  这个业务流,现在不一样了,
  客户需求需要多几个功能,
  老板说:
  这东西下周能出来吗?

还在为智能门锁挑花眼?只要这几个方面挑对了,小偷不敢惦记你家刚过完国庆,一旦到这种节假日,小偷就会乘着大家出门游玩放松警惕而上门偷盗。因此,家庭防护还是很重要的。而家庭安防的第一环,就是门锁。正好前不久,我家刚装上了一个新型的智能……那些年从您手中经过的大灯总成Nissan东风日产乘用车公司成立于2003年6月16日,主要从事NISSAN品牌乘用车的研发、采购、制造、销售、服务等业务,是国内具备全价值链的汽车企业之一,在东风汽车有限公司旗下的乘用……小米有品红榜冠军!无利润产品,比拼多多实惠,网友真的不坑吗最近有篇关于小米有品红黑榜的文章火了,米粉中都流传着:除了小米手机,小米百货都可以闭眼买,这句话不假,在小编这个重度米粉心里也有着自己的榜单冠军,今天就来说说我心目中的红榜冠军……加密之战愈演愈烈,币安遭遇全球封杀,高管或面临监禁加密货币公司币安(Binance)正面临泰国证券交易委员会(SEC)发起的刑事调查。7月2日周五,泰国监管机构发布了严厉警告,指责币安在该国非法开展加密业务。简言之,币安公司在……轻盈好音质运动更精彩QCYqy31运动蓝牙耳机在追求健康的当代社会,越来越多的人关心自身的健康,除了到专业的健身机构进行锻炼,还有很多人喜欢在户外享受运动的乐趣。运动耳机作为户外运动必备的产品,能够让好听的音乐陪伴运动健身……组装厂理论真是个沙雕理论所谓组装厂理论,真是个沙雕理论!拿这个帽子扣谁,谁都没法还嘴!表面看吧,它又没错。往深了说,这些假装爱国的贼们又听不懂。你要跟他讲供应链,讲连阿斯麦都得用蔡司的镜头,同样……再推魔方鸿图等AIoT创新硬件旷视软硬一体化产品道路越走越实AI到底将以怎样的形态成为产业的内在动力?从9日即将科创板首发上会的旷视科技来看,以软硬一体化产品,交付智能价值,或许是一个可行解。致力于软硬一体化产品路线的旷视科技,日……数字科技公司进军二手交易市场欢太数科为当换打造绿色金融服务近年来闲置经济持续升温,我国二手交易市场进入高速增长阶段,其中二手3C产品规模最大。灼识咨询(CIC)数据显示,2015年至2020年中国二手3C行业的市场规模由510亿元增至……贵吗苹果?由于iPhone手机通常比较贵,所以网友们在使用的时候也非常的爱惜,生怕出问题损坏手机。所以很多iPhone手机用户在充电的时候坚持使用原装充电器,拒绝使用第三方充电器。……骁龙888系列高端芯片会性能过剩吗?丝般顺滑的使用体验就是答智能手机已经成为我们每个人都离不开的生活必需品了。一款性能好的智能手机,才能带来更好的使用体验,带来更强的愉悦感。手机芯片作为智能手机的核心部件,是决定手机性能和体验的关键因素……为什么实体店的苹果手机比淘宝京东官网上卖的价格差这么多?为什么苹果实体店中的iPhone手机价格和淘宝京东上的差距那么大呢?这就要说到苹果手机的经营策略了。苹果手机的销售有两大渠道,一个是官方直营,也就是苹果直营或者授权的实体……科技冬奥背后的AI势力从机器人到鹰眼裁判本报记者曲忠芳李正豪北京报道2022年冬奥会持续吸引着全世界的瞩目,北京成为全球第一个既举办过夏季奥运会又举办冬季奥运会的双奥之城。《中国经营报》记者注意到,200……
Python办公自动化之操作Excel(一)处理Excel的库主要有xlrd、xlwt、xlwings和openpyxl。xlrd、xlwt、xlwings可以用于处理Excel2010文档之前的文档,而openpyxl……Android12Beta4正式上线多款机型可尝鲜今日消息,据XDA报道,Android12Beta4正式上线。XDA指出,Android12Beta4已经确定了API,开发人员可以在最新版本的系统上测试他们的应用程序,……英特尔斥资30亿美元扩建D1X工厂来源:经济参考报据路透社报道,当地时间4月11日,芯片巨头美国英特尔公司正式启动扩建其位于美国俄勒冈州的D1X工厂,投资额高达30亿美元,旨在加速技术开发,重新获得芯片行……华为鸿蒙用户突破五千万,华为鸿蒙再改年度目标,你看好鸿蒙操作一定可以的!中国这一次必须胜利,因为美国输了失去利益,而中国输了就是信息科技的死生死了。国家也不允许!华为没有在开曼群岛避税,没有洋人股东分红,同时又是中国信息科技的巨无霸和顶……999美元起!三星公布两款新品折叠屏手机售价刚刚,三星在海外正式发布了最新的两款折叠屏手机,分别为三星GalaxyZFlip3和三星GalaxyZFold3。这是三星折叠屏手机的第三代产品,经历了两代的历练,产品日……谍照晚报小米MIX4规格全曝光,Redmi10渲染图曝光今天信息量很足,小米的旗舰、三星的折叠屏、荣耀的新机,都来了。小米MIX4规格全曝光日前有网友曝光了小米旗舰机MIX的详细配置图。根据图片显示,小米MIX4正面将采……小学人工智能普及课程建设与实施机器学习正在重塑人类的胜任力(competence),人工智能已经成为现代社会一种非常重要的变革力量。国外针对K12所做的人工智能教育指南中曾指出,在不久的将来,几乎每个人都需……爆料苹果正在开发全新iPad产品,尺寸或将达到15寸据海外媒体爆料称:近日,在最新一期PowerOn节目中,MarkGurman重申了自己在6月份的观点,即苹果工程师及设计团队正在开发屏幕更大的iPad产品,可能是15寸。……如果人类以光速运动就可以长生不老吗?在回答光速与时间的问题之前,先看两个事例,可以使我们从中获得启发。第一个事例是小时候看过小人国的故事,虽然主人公的个头变小了,但由于大家都是小人,所以他们彼此之间的关系与……OPPO折叠屏手机发布央视揭ampampquot全宇宙游戏a爱奇艺宣布会员涨价爱奇艺微博发布消息,将于12月16日0:00起更新黄金VIP会员订阅价格。年卡价格不变,此次上调主要为月卡及季卡,涨幅在920之间。游戏a骗局字节……3000人!科技部再出招,芯片人才回国,中国芯未来可期随着科技的发展,芯片被广泛应用在手机、电视、汽车、军事、航天、通讯等领域,是发展5G、人工智能、物联网、无人驾驶等行业的基础,被誉为工业粮食。国芯现状众所周知,我国虽是世……618预售战报商家后台订单爆表,新品牌首次杀入十大爆款天下网商记者章航英王诗琪5月24日晚8点,天猫618预售开启,无数消费者涌入淘宝,成为定金人。预售开启一小时,十大爆款出炉。美妆再次成为最大赢家,占据Top10榜单……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网