公司代码太烂,我学的东西都用不上!

经验分享:如何快速上手公司的项目代码 新人如何快速熟悉新项目和业务 阅读详情

我刚入行的时候,看到什么不爽的地方就会抱怨:

这个项目怎么还用这么老旧的技术?

这代码太烂了!

为什么没有写单元测试?

......

当然,随之而来的就是一些改进的想法:

换个新框架吧!

把这个模块重构一下!

把单元测试补上!

干脆重写吧!

......

实际上,我肯定不是第一个有这些想法的人,有这样念头的人好几年前就存在了。我的这些想法很可能已经被很多人提出过、思考过。

但是这些问题为什么还一直存在呢?

因为做起来很难,想到了,但是做不到。

我很喜欢的电视剧《士兵突击》中有一句话非常精辟。当时许三多从草原5班被调回702团本部,看见了团长办公室的一辆战车模型,非常喜欢。

看到这种情形,团长用浓重的武汉话地来了一句鸡汤:想要和得到,中间还有两个字,那就是做到。

许三多应该是听进去了,后来真的“做到”了,在进老A的时候把战车模型抱走了。

回到我们编程领域,对于这些难题,怎么才能“做到”呢?

如何才能找到办法,推动自己的想法,把它给实施成功了呢?

01

一个经典案例

1990年,杰瑞·斯特宁受命前往越南,他要在6个月内改善当地儿童营养不良的问题。

当时的研究报告普遍认为,营养不良原因是:卫生状况差、生活贫困、饮用水问题和缺乏营养品。这些都是正确的废话,关键是怎么改变呢?

杰瑞四处拜访村庄,调查各个地区的状况,测量各种儿童成长的数据, 他终于发现一组家庭的孩子,虽然家里穷,但是却比一般小孩更健康。

原因就在于喂养孩子的方法:少吃多餐,让孩子吃些小虾小蟹,以及在米饭中加入红薯叶。这正是杰瑞需要的,在不增加花费的情况下,提升孩子们的健康水平。

找到榜样以后,杰瑞找到村民,告诉大家:只要饭前洗手,少吃多餐,加入虾蟹和野菜作为辅食,孩子就能健康成长。这个简单的方法很快就被当地人接受了。

杰瑞抵达越南6个月后,当地65%的儿童营养问题得到改善,并且继续保持下去。

从杰瑞的案例可以看出,想做成一件事情,至少需要:

1. 让人砰然心动的前景

2. 成功的榜样

3. 和切实可行的办法。

02

回到编程领域

我们举一个编程领域的案例:如何在自己的部门推动建立一套自动化测试?

自动化测试的美妙前景不必多言:它可以给整个项目织起一张大网,如果新的代码破坏了已有功能,立刻就会被“捕获”,以后程序员修改代码会非常有安全感。

接下来找一个成功案例,让大家看到榜样的力量。

很不幸,你的部门在这一方面还是一穷二白。你需要身先士卒,把路子趟出来:

1. 哪些部分需要做自动化测试?

主推单元测试还是功能测试?

哪些地方单元测试投资回报率高?哪些地方最好用功能测试覆盖?

2. 需要用什么样的工具?

市面上有没有合适的?需要自己开发吗?

3. 在现在系统上搞自动化测试,有哪些障碍?

是不是需要重构代码才能写单元测试?遇到难以测试的组件怎么做Mock?

......

做为第一个吃螃蟹的人,把这些问题都解决了,是挺辛苦的。

在努力的路上,有志同道合的伙伴更好,有些开明的经理还会搞一个兴趣小组,大家一块儿研究,就看你有没有这样的好运了。

有了榜样成果以后,就是展示和说服了,你要展示出你是怎么做自动化测试的,遇到了哪些障碍,取得了哪些显著效果,例如通过自动化测试捕捉到了错误,修改代码更有信心, 代码覆盖率提升了xxx, 重构以后的代码更容易读,更容易维护等等。

用示例,图表,数字来说明,这样更容易打动人,最好要给出一个可以实施的步骤、评价方法和最佳实践,这样别人不用怎么思考,跟着做就行了。

和杰瑞在越南的情况不同,在编程领域改变一件东西更难,会遇到更多阻力,例如有人会说:太忙了,天天加班,没有时间。

所以想实施成功,得双管齐下:

1. 和部门/经理的KPI保证一致

部门也有优化流程,提升代码质量的KPI,和部门的目标保持一致/作为辅助,最容易成功。

2. 利益驱动

人是利己的,什么都比不上自我提升重要!学会UT,重构,Mock, 做了自动化测试,对于初级程序员来说,写到简历中也是不小的亮点啊,这样动力不就来了嘛!

03

总结

想推动着做成一件事情不容易啊,尤其你不是领导、没有权威的时候。你得想尽一切办法去建立远景,树立榜样,找到可以推广的方法。

但是难题才会有区分度,能够做成的就不是一般人了,绝对会脱颖而出了。

建议各位小伙伴找一个自己擅长的领域,尝试一下,收获是巨大的。

 

相关推荐

新手必看:5分钟搞定Unitree Go1机器狗Gazebo仿真运动控制(附按键图解)

本文为新手提供了Unitree Go1机器狗在Gazebo仿真环境中实现运动控制的快速指南。通过5分钟极简配置和按键图解,帮助开发者快速掌握宇树科技明星产品的基础操作,包括环境搭建、仿真启动和运动控制技巧,适合零基础用户快速上手。

weixin_42550597的博客 300

你以为大厂的代码就不烂了?烂成一坨屎...

点击“开发者技术前线”,选择“星标????”在看|星标|留言, 真爱来自:开发者技术前线作者:可可最近有一位朋友进入梦寐以求的某大公司,入职没多久就和我抱怨了下,他们公司代码写的也不怎么好,连...

开发者技术前线-DevolperFront 4967

别再死记硬背公式了!用Multisim仿真软件,5分钟搞懂三极管放大电路的工作原理

本文介绍如何利用Multisim仿真软件快速掌握三极管放大电路的工作原理,避免死记硬背公式。通过动态实验和参数调整,直观理解三极管的工作状态和放大效果,提升学习效率和实践能力。

weixin_30566063的博客 568

代码写的太烂了,所以我干不下去了

前一阵子要换工作,所以一直在面试、试岗、再面试再试岗,突然间有很多感悟,今天分享其中的一个话题。 我在面对面试官的时候,他们通常会问这么一个问题:你上一份工作的离职原因? 这个问题肯定有不少同学都会被问到吧,好多人都这么回答的:现在的项目代码太烂了,前人留下了很多坑,我实在忍受不了了。 在我看来,因为这个原因离职显得未免太不职业了,而且可能把工作想的太过于理想化了。如果因为代码很烂就离职,那...

qj2018的博客 8744

HTML5期末大作业:关于家乡介绍的HTML网页设计——郑州美景HTML+CSS(5页) 学生DW家乡介绍网页设计作业成品 web课程设计网页规划与设计

HTML5期末大作业:我的家乡——郑州美景HTML+CSS(5页) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求, 喜

qq_365392777 1万+

LVDS系列11:Xilinx Ultrascale系可编程输入延迟(一)

按照IDELAYCTRL的参考时钟频率可以准确计算获取到,如200M参考时钟抽头分辨率为78ps,Ultrascale系列相对于7系列架构大改,体现便是U/U+系列的抽头增加到512个,同时每个抽头的分辨率就无法像7系列那样能得到一个准确的值,是一个波动的范围值,抽头分辨率随着工艺温度电压的变化而变化。EN_VTC:电压温度补偿开启的使用信号,COUNT模式下不能使用,必须保持为0,TIME模式下需要使用,在延迟工作时要启用温度电压补偿,在修改抽头值时需要关闭温度电压补偿,修改完后启用;

weixin_38828382的博客 1940

为什么有的大公司代码也很烂?

最近一个朋友进入梦寐以求的大公司,和我抱怨了下,他们大公司代码写的也不怎么好,连他一个菜鸡都能看出逻辑漏洞,都没人改。让他有点怀疑人生了。那么为什么有的大公司代码也会如此...

欢迎关注公众号:【码农突围】,回复9999,可以获取一份LeetCode刷题笔记 1万+

搭建适用于lammps中opls-aa力场的文件流程

现在我已经解决了以上问题,并且通过我的方法可以实现从空白文档到搭建完成以上全部内容,后期只要细心检查即可。需要的data文件最关键是获得相应阴阳离子的mmol文件,因此问题转化为构建一份mmol文件。主要用到的软件及程序:gaussian09,makemol程序(tranal),opls-aa的参数文件。二面角个数:成角原子序号及对应的参数(这里PF6的结构没有二面角,所以为0)参考文献个数:文献名(空够行数即可,这些是给自己的备忘))和自身体系对应的参考文献,修改或填入对应的参数即可。

baguette的博客 2886

接手代码太烂,要不要辞职?

事情是这样的,前几天在朋友圈,我看到一朋友发表了一条说说:“入职新公司,从重构代码到放弃”,我就问他怎么了?他说,刚进一家新公司,接手代码太烂,领导让我先熟悉业务逻辑,然后去修复之前项目中遗留的bug,实在不行就重构。 关键是,离职的那位仁兄走之前,还跟我在QQ上说,老哥辛苦了,我写的很乱真不好意思,但我是故意的。 这几天,我都在想,要不要离职? ...

weixin_30765505的博客 1060

使用PaddleOCR识别查验平台验证码

PaddleOCR识别国税查验平台验证码

m0_63932300的博客 1267

5款高性价比LDO芯片实测对比:从TPS7A4501到LM2940,哪款更适合你的项目?

本文通过实测对比了TPS7A4501、TPS72301、LM2937、LM2940等五款高性价比LDO芯片的核心性能。文章详细分析了跌落电压、输出噪声、静态电流及热性能等关键指标,并结合电池供电物联网节点、高精度数据采集等典型应用场景,提供了清晰的选型指南,帮助工程师根据项目需求选择最合适的LDO芯片。

weixin_29305337的博客 115

公司代码太烂,我在这里太屈才了!

我刚入行的时候,看到什么不爽的地方就会抱怨:这个项目怎么还用这么老旧的技术?这代码太烂了!为什么没有写单元测试?......当然,随之而来的就是一些改进的想法:换个新框架吧!把这个模块重构一下!把单元测试补上!干脆重写吧!......实际上,我肯定不是第一个有这些想法的人,有这样念头的人好几年前就存在了。我的这些想法很可能已经被很多人提出过、思考过。但是这些问题为什么还一直存在呢?因为做起来很难,...

码农翻身 1194

杰理SDK入门教程(一):编译环境的安装和程序下载

本文档提供了杰理SDK在Windows系统下的开发环境配置与代码编译指南。主要内容包括:1) 开发环境安装步骤,需下载Code::Blocks和杰理工具链;2) 编译过程中常见问题的解决方案,如安全警告提示和链接文件缺失问题;3) 代码编译流程说明,包括打开工程、连接开发板、执行编译等步骤。文档特别强调了强制升级模式的操作方法,并指出需避免点击运行/调试按钮。最后提示了杀毒软件可能误报工具链的注意事项。

qq_42014563的博客 2739

代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!

往期热门文章:1、60个相见恨晚的神器工具!2、这10个让你笑的合不拢嘴的GitHub项目,居然拿了7万星!3、6 种常见分布式唯一ID生成策略及它们的优缺点对比4、一个支付案例,学会策略...

Java之间 191

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!(1)

我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_84048225的博客 516

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

重构代码太烂,要不要辞职?

老前辈的警世良言一定要牢记:重构一时爽,头发不再长。还有,工作了10年的码农,到了新公司,绝不会说这种话。不过话说回来,能觉得模块代码烂,还能撸起袖子去改的程序员,真是很难得的一种精神。我身边 90%都是只是嘴上说,绝对不动手干的。下一次下一次下一次,无数的下一次造就了烂代码。到底要不要重构?很多人口中的重构就是重写,而不是去改善现有的代码。现在的有些工程师太浮躁, 动不动就要重构, 就跟很多的团...

weixin_34179968的博客 291

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

初到公司

2019/3/30 记 一个偶然的机会,来到一个公司,算是学习,到现在大概一个月了。 自己自学完java SE 和java EE,再学下去感觉不好成长了,刚好有个机会,来公司实习,可以感受一下公司的氛围和工作。 一个月的时间,来了公司的6 个人,到现在已经只剩两个了,他们离开的理由我也考虑过,确实跟他们一样,我也想再来学校好好学...

ChengChat 303

为什么大多公司不要培训班出来的JAVA程序员?

        经常听到这样的观点:很多公司不招聘培训班出来的学生。甚至于让人感觉,如果你参加过培训,那简直就是你程序员职业生涯中的一大污点。         撸码J总结了这些公司不要培训班学生的理由: 一:简历造假         网上有大量的帖子揭露了培训机构指导学员简历造假的情况。这在目前更多的是一个行业自律的问题。说白了就是说,这是一个道德问题。当机构鼓励你造假,当你们一个班里大部分...

1万+

献给xinyuan公司以及我的团队 代码整洁之道

                       花时间保持代码整洁不但有关效率,还有关生死存亡。 20 世纪80 年代末,有家公司写了个很流行的杀手应用,许多专业人士都买来用。然后,发布周期开始拉长。缺陷总是不能修复。装载时间越来越久,崩溃的几率也越来越大。至今我还记得自己在某天沮丧地关掉那个程序,从此再不用它。在那之后不久,该公司就关门大吉了。 20 年后,我见到那家公司的一位早期雇员,...

huashuizhuhui的专栏 149

哈哈哈!39 个奇葩代码注释,我服了!

点击上方“菜鸟学Python”,选择“星标”公众号重磅干货,第一时间送达来源:网络1. 只有上帝知道//我写这一行的时候,只有上帝和我知道我在写什么//现在,只有上帝知道了2.相隔时...

cainiao_python的博客 714

为什么大公司的产品越做越烂

 为什么大公司的产品越做越烂?我的答案是:官僚体制。大公司怎么做产品呢?通常,大公司都会有一个产品市场部,这些人研究现有的产品,竞争对手的产品,然后列出成百上千个特性列表,要工程师在最近的版本尽快做出来。这是产品需要来源一。然后,售后服务和支持部门,也会列出所有他们吃过的苦头,这通常是成千上万个Bug。再次,销售部门,因为缺少了某个特性而丟了单,回家火冒三丈地要工程师赶快做出来

方剑斌 1万+

如何写一个可以找到工作的简历不至于太烂

简历是自己的一个很重要的标签,是获得面试的敲门砖,简历是要时常更新的,否则会错过一些机会 简历也是给自己的正反馈。

liulang68的博客 253

(损人损己)做代码质量检查差事最易得罪人,大多是为公司干好事给自己树敌的差事

<br />我总想把代码写好,结果:<br /> <br />  1:自己创业时,看不惯同事写得代码质量不好,性能不高,复用程度低,挨个检查挨个批评,结果把所有的人都得罪光了,人都被挖走了。<br />  2:在宁波打工,检查同事的代码,说人家这里不好哪里不好,结果把资深的同事都给得罪了,有些水火不容。<br />  3:在网上检查别人的代码质量,看金色海洋(jyk)写的代码质量太烂,多留了几次言,结果把他给得罪了,跟我拼个你死我活,总是会煽风点火几下。<br />  4:现在在杭州,也经常做代码质量检查工

通用权限管理系统 915

世界上没有技术驱动型公司?

策划 | 小智 作者 | 智煜徽 编辑 | Linda 来源| AI前线导读: 科技公司到底是为 技术驱动 还是 业务驱动 的争论古来有之。对于技术人...

Oner.wv的专栏 218
上一篇: 漫画 | 在中国,程序媛到底有多难?
下一篇: 漫画 | 再见!外包!
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值