普通程序员和厉害程序员的差距!

这篇具有很好参考价值的文章主要介绍了普通程序员和厉害程序员的差距!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是程序员陶朱公

前言

今天跟大家聊一下关于代码重构的话题。

话说,很多程序员对自己写的代码平时很随心所欲(各种魔法变量,一个方法几十上百行代码,还有各种让人崩溃的变量或方法命名)。

当有一天让他维护他人的代码,他就会抓狂,很容易激发他体内重构的瘾。(大多数程序员审阅完别人代码后,先会忍不住吐槽一番,然后会忍不住想重构一把, )

在我看来,重构本身是一件值得肯定的事,但有个前提,一定不能影响原先业务功能!

不能因为重构了之后,原来好好的功能反而出问题了,甚至还影响了其他功能,那你这不是重构,是制造问题者。

这里我分享三个关于重构的小技巧,希望日后小伙伴能谨慎的对待“重构”这件事,避免因为重构导致线上事故发生。

重构三技巧

一、结构化你的代码

大家看下下面截图assembleOffer这个方法,一个方法内部有很多段代码,比如1.核心商品信息代码片段,2.产品属性信息片段等等。

这样的方法,因为内部需要执行很多件事情,统一完成后,这个大方法才算真正完成。

那么现在问题来了,几十、上百行代码都集中在一个大方法内部,这样的方法显得太过混乱,最终导致”爆炸“的情况发生,以后维护成本也会成倍增加。

 

那如果你能用结构化思维梳理一下你的代码,然后重新组织如下:

将一个大方法内部的代码拆分成多个有明确意义的小方法,然后将它们组装在一起,这样的方法就会清晰很多,以后维护起来也会很方便,甚至有一定的复用性。

二、单测

重构完后,一定一定要记得单测。可千万别过分自信,觉得说自己没修改多少多少代码,然后就强制发布上线。

这种因为轻视或过分自信,在不自测的情况下,强制上线的生产事故,这两年还少吗。

所以经过充分的单测,才能保障你写的代码质量稳健。

最后,如果有条件,我建议你用账号登陆你的应用,去使用一下你重构后的功能,看它是否表现正常,就当全链路验证了。

关于发布,这里提醒一下:如果你此次改动内容比较多,比如新增了数据库表的字段、新增了配置中心新的选项等,建议大家提前准备一份发布计划,大致内容如下:

发布前,每执行完一项,就标注一下Done。这样一路下去,直到最后一项任务的完成。

这样能帮助你因为发布的内容过多,避免丢三落四的情况,最终导致发布失败,需要二次发布。

最后成功发布后,一定记得仔细按照刚我跟大家说的,验证一下你发布的功能。当然也要留意一下其他功能特别是主流功能的日志,观察是否正常打印,千万别因你的发布影响到了其他功能。

三、对修改关闭,对新增开放

大家如果在重构的时候,面对被修改的代码,其多个地方引用,这个时候一定要小心了,很有可能你改了某一处,但影响了其他功能代码。

这里我有一个建议:不要去修改这种被多个地方引用的代码,你可以新增一个方法:比如重载一个新方法,供你这次的功能调用。然后你在这段新方法内部去重构,这样你的更改,一定不会影响其他功能。

 

普通程序员和厉害程序员的差距!

 


写到最后

感谢您一路陪伴着我,探索编程的奇妙世界。如果您对程序员职场进阶窍门、编程技巧和计算机原理等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的程序员之旅更加丰富多彩,我们一同成长,一同前行!🚀💻📚
求一键三连点赞、转发、在看

推荐关注

普通程序员和厉害程序员的差距!文章来源地址https://www.toymoban.com/news/detail-842620.html

最近在整理本地资料库的时候,发现工作多年,已陆续积累、收藏了近百本经典的计算机书籍,有计算机基础的,有编程语言的,有数据结构和算法的,有面试相关的,以下是具体资料(看看你的书架是否缺其中一本),有需要的小伙伴自行获取,点击👉:那些年,我书架上的几本经典计算机书籍!查看详情。

到了这里,关于普通程序员和厉害程序员的差距!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 作为一名普通的java程序员,我想和大家分享一下4年来的工作内容

    我是16届毕业生,我的第一份工作是做外包,第一年的时间里测试偏多,比如用Excel文档生成测试代码进行单元测试,也会写一些简单的增删改查,以及用shell处理数据,还有一些纯测试的工作,比如点页面啊截图。到了第二年,开发的工作也变得多了一些,但大部分还是增删

    2024年02月05日
    浏览(53)
  • 【Web3.0势不可挡】普通程序员如何抓住web 3.0浪潮实现逆袭?

    随着互联网技术的不断发展,Web也在不断演进。而Web 3.0则被认为是“智能”的Web时代,它将带来更加智能和个性化的Web体验。那么作为一名普通程序员,如何抓住Web 3.0浪潮呢? Web 3.0的主旨是 “机器可读的Web” ,即让计算机能够理解和处理网页上的信息,从而实现更加智能

    2024年02月02日
    浏览(55)
  • 程序员简历程序员简历.pdf

    你们在制作简历时,是不是基本只关注两件事: 简历模板,还有基本信息的填写 。 当你再次坐下来更新你的简历时,可能会发现自己不自觉地选择了那个“ 看起来最好看的模板 ”,填写基本信息,却没有深入思考如何使简历更具吸引力。这其实是一个普遍现象: 许多求职

    2024年04月14日
    浏览(52)
  • AI程序员对程序员的影响

    最近,全球首位AI程序员Devin的出现引发了广泛关注,也引发了人们对人工智能在编程领域的潜力和影响的讨论。尽管AI技术在编程领域得到广泛应用,但人们仍然在探讨它是否能完全取代人类程序员。本文将探讨AI程序员的优势、局限性以及对程序员职业的影响,并展望未来

    2024年03月23日
    浏览(61)
  • 大批程序员失业,大龄程序员出路在哪里?

    在程序员这个群体中,时常有人陷入技术迷信和思维僵化的困境,但实际上,当前市场对于技术的需求是非常广泛的。因此,我提出了一些建议,希望能够帮助程序员跳出技术框架,更好地利用技能创造实际价值。以下是一些建议供参考: 开发小而实用的工具类软件: 以“

    2024年01月22日
    浏览(59)
  • 低代码——面向程序员,帮助程序员敏捷开发

    低代码是一套可视化开发工具,它帮开发者把前后端基础功能写扎实,开发者只需要 通过填表配置或拖拽生成前端组件 的方式,即可完成后台管理系统的快速搭建。由于低代码仍需要 写少量 JS 代码 ,所以低代码开发平台主要面向程序员,帮助程序员敏捷开发。 本文使用

    2024年02月01日
    浏览(54)
  • 专科程序员与本科程序员之间有什么区别?

    专科程序员和本科程序员之间最主要的区别在于他们的学历水平以及所接受的教育和培训的深度和广度不同。 本科程序员通常拥有更为全面的计算机技术理论知识,同时也接受了更加系统和广泛的相关课程和实践,比如算法、计算机网络、操作系统、软件工程等等。他们研究

    2024年02月06日
    浏览(61)
  • 【程序员将面临失业吗?】——全球首位AI程序员诞生,将会对程序员的影响有多大?

    全球首位AI程序员的诞生将推动编程领域向着更加智能化、自动化的方向发展,程序员将面临新的机遇和挑战,需要不断适应和学习,才能保持竞争力。   方向一:AI程序员的优势分析 高效的自动化工具使用能力: AI程序员熟练掌握各种AI技术和工具,能够利用自动化工具快

    2024年04月09日
    浏览(104)
  • 《AI程序员崛起:传统程序员何去何从?》

    近日,世界上第一位AI程序员Devin诞生,号称能自主学习新技术,自己改Bug,甚至它已经成功通过一家AI公司面试。消息一出,震撼整个科技圈。不少从业者在社交媒体留言说,担心Devin这类AI程序员技术可能会让自己失去工作。 Devin在SWE-Bench 编码基准测试中独立解决了开源项

    2024年03月27日
    浏览(55)
  • 程序员能干多久?程序员能干到多大年龄?

    程序员可以工作多少年?大多数程序员认为程序员是吃青春饭的工作。编程只能干到30岁,最长可达35岁。我经常听到这样的话,都让人倍感压力。今天,我们来谈谈这个老话题...... 程序员能干多久? 根据国外的经验来说,干到退休没问题! 国内由于起步晚,公司制度规范不健

    2023年04月23日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包