首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐
2025年7月12日 星期六 1:12am

对不起,我的代码评审毁了一个程序员!

  • 24-03-05 03:41
  • 2466
  • 6270
blog.csdn.net

人工智能学习路线+实战训练

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

640?wx_fmt=gif

技术使人膨胀?!

在过往的 coding 的生活中,你是否有过被技术前辈 diss 得找不着北的经历?

640?wx_fmt=jpeg

 

作者 | Philipp Ranzhin

译者 | 弯月

责编 | 屠敏

出品 | CSDN(ID:CSDNNews)

以下为译文:

以前,我们组里有个非常弱的人,弱到就快要被辞退了(开发也有要被辞退的?!)。而我在代码评审中的每条注释都成了他棺材上的一颗钉子。每次我点“提交评审”的时候似乎都能听到锤子落下的声音。他为人很好,我甚至感觉他有点可怜,但我也不能因此而放过他的代码。我有权批评他的代码,不是吗?我比他优秀,所以我做的没错。没有人会把很差的代码说成很好,不是吗?最终他被辞退了,而在这之前他已经好几个月没有拿到奖金了。

640?wx_fmt=png

我告诉自己说:“我不会像他那样。应该有更好的开发者来代替他的位置。我的所作所为都是正确的。”但当我接到另一个拉取请求的审核时,事情却发生了戏剧性的变化。

刚开始时一切一如既往。我打开 pr,查看了它想要解决的问题,设想了一下我可能会采用的解决方案,然后开始阅读代码。与以前一样,这些代码纯粹是垃圾。与我设想的解决方案差远了。于是,我写了一些抱怨的评语后,又开始阅读细节。我写下了一条又一条的问题和“疑似”问题,其中还夹杂着我攻击性的评论。

技术上,我比这个人更强。所以 1000 行的 pr 中夹杂了我给出的 200 多条评论,似乎这个人毫无生还的希望。

当我把鼠标移到“提交评审”上时我突然想:我为什么要这样?我对这些代码如此愤怒也是有原因的。作为团队的一员,我需要对这个项目的代码负起全部责任,毕竟以后我要照看这些代码。这些代码是所有业务问题的根源。这些代码不具备可扩展性,无法正常地通过测试,充满了各种 bug。支持这些成本会越来越高,而且不能开源,也无法吸引新的开发者。

这不就是批评人时我们常用的解释吗?好的开发者应该时刻考虑业务利益,要保证公司像齿轮那样运转下去。

但我似乎并不是这么想。这并不是我的判断标准。

我愤怒是因为每天晚上我都在学习 F#,甚至我女儿都开始误管别人叫爹了。而这个人并没有努力工作,而是回家陪孩子了。所以我想惩罚他。

我做代码评审是为了自我认同。我对项目或代码本身没什么兴趣。我只是一个能够伤害别人的疯子,一个无法为自己行为承担后果的精神病患者,一个拿着棍棒的雄性动物而已。

当我意识到这一点时,我感到非常羞愧。如果你问我是怎样的人,我肯定会说我并不是那种以自我为中心的疯子。至少在我生活的其他方面如此。但为什么我会在工作上如此邪恶呢?

640?wx_fmt=png

在我学习软件开发时,对我最有价值的信息源之一就是论坛。那时我问了问题,也遭遇了很多凌辱:他们说我的问题是垃圾,解决方案更垃圾,还说我选错了语言,甚至不配成为“好”的程序员。

我想要变得更好,似乎只是为了把他们甩在身后。就像在体育运动中一样,我训练并不是为了某个神圣的目标,只是为了变得“更大、更强、更快”。就像菜鸟拳击手想要努力击倒电视里的大个子一样。

这样很痛苦,但我一直在努力。

当我变得越来越好之后,我把我的代码交给真正的牛人去评审。他们有比我多三倍的开发经验。每次我都被羞辱得体无完肤,有时我甚至都想退出这个行业了。我太笨了,根本不胜任这个行业。我一个星期的努力几分钟就被摧毁了,我甚至都没有任何争辩的余地——每条评论都那么明显那么正确。很奇怪的是,每次发生这种事情,第二天我都能说服自己说用不了1-2年我就能比他们做得更好,让他们看看谁才是真正的王者。

最后,我变成了我曾经痛恨的样子:拿着自己的本事当拳头到处惹事的人。我做代码评审并不是为了业务,而只是想贬低新手。我的技术终于开始给我回报了。

如果别人给我的代码中有错误,我就会觉得自己很聪明,从而感受到莫名的喜悦。然后条件反射地给自己找一个合理的解释,就像那些道德败坏的政治家一样。我会告诉自己我的所作所为都很正确,我是为了公司而守护代码库。但这种借口并不意味着就是实情。

如果你告诉我你从未有过这种感觉,那你一定是在撒谎。如果你告诉我你有更崇高的目标,例如训练新手以及其他云云,那么我敢确定你也有这种感觉。如果你告诉我你已经学会控制这种感觉(然而这种感觉还是会出现),那么我一定是很稀有的那个。

但这就是我的想法。一方面,我在别人的取笑中学会了准确地编程。人们唤醒了我的愤怒,而这种愤怒帮助我提升自己。上苍通过这种方式成全了我,所以我也可以唤醒其他年轻和没有经验的程序员的愤怒,这样他们才能成为更好的程序员,然后再对其他人做同样的事情,以此类推。

我们对成功的渴望以牺牲他人为代价,但这只是物竞天择的一种简单的手段。而且我会欣然接受这种方式,因为这不是重大的问题。

640?wx_fmt=png

当你开始复制其他人的成功做法,却发现他们也很平庸时,你可以说“我也可以这样做。”从此你开始成为真正的编程天才,一切都开始走上正轨。你可以用一切了然于胸的口气讲话,他们就会相信你。

我自以为是,不是因为我有能力,而是因为我是一个自大狂。我认识的所有自我为中心的人都比其他谦虚的人更加成功。他们的代码写得更好,他们参加了更好的项目,他们赚的钱也更多。经理和总监认为他们更有价值,同事更尊重他们。

事实证明,你不必成为一名优秀的程序员,而只需要说服别人你是一个好的程序员。这种行为会造成一种恶性循环,不利于培养专业人员,而是有害的问题。

如果你想爬得更高,那么你会无时无刻不担心这种伪装会被识穿。所以这导致了另一个逻辑谬论:你设法说服自己和他人外在的权力展示是权力的真正含义。

作为开发人员,你总是避免不了争论。作为一个团队,只有经过反复的争论才能得出解决方案,尽管我们称之为“讨论”。然而,在争论中“获胜”更为重要,因为这样你会感到自己很强大并更有自信。

这让我想起一段往事。我曾经相信同性恋者是坏人。我没有想太多,我记得很久以前我父亲是这样告诉我的。有一次我和一群自由主义者在酒吧里,大家突然谈论起了这个话题。我立即宣布了我在这个问题上的立场,而他们则觉得“你胡说八道些什么?”于是,我们开始争论。我没有认真考虑过这个问题,也没有任何正当的论点,但是我仍然没有停止争论。我只是想赢得争论并挽回面子。至今我也不知道为什么。

从某种程度上来说,我喜欢这种争论。赢得争论、永远坚持正确、完美地完成所有事情,对我来说这些非常重要。谁的想法更好并不重要,重要的是最后实现的必须是我的想法。

感觉有点大事不妙。我从未想过这些!

640?wx_fmt=png

本文开头提到的那次评审?最后我没提交。相反,我给了那个家伙一些评论并礼貌地要求他改正一些问题。其实没什么大不了,如果他的代码写不好,必要时我可以自己改。但是如果那个家伙的心理因为几十个严厉的评论而受伤,我就无法弥补了。

我现在的性情不是我自己的病,而是整个行业的一种疾病,至少在俄罗斯是如此。我们的心态基于对权力和优越性的崇拜。这就是我们需要解决的问题:我们必须停止这种做法。实际上,这做起来也很容易。

即便我们在年轻时被嘲笑,那并不意味着日后你必须以牙还牙。恶性循环很容易被打破。如果你能够承认另一个开发人员比你更有才华,那么可能你会输掉争论,但你的生活也会更加幸福。

这有点像日本合气道的做法。我说服自己内心的狂妄,告诉自己接受自己的弱点很伟大,然后开始为自己的所作所为感到骄傲。如果能让我自我感觉良好,那么在这个过程中打破禁忌也没关系。

人工智能如何学?

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

原文:https://habr.com/en/post/440736/

本文为 CSDN 翻译,如需转载,请注明来源出处。

640?wx_fmt=jpeg

 热 文 推 荐 

日本要向中国收二维码使用费?每人一分钱?

☞ 华为回怼特朗普;中兴首款 5G 上市;iPhone 可免息分期购买 | 极客头条

☞ 在家想远程公司电脑?Python + 微信一键连接!

☞ 那些简历造假拿 Offer 的程序员,后来都怎么样了?

☞ 被V神点赞, 我是如何用五子棋打败以太坊排名最高的应用的? |人物志

☞ 50个最有价值的数据可视化图表(推荐收藏)

一键免费自动AI抠图,效果连PS大哥也点赞!

史上最难的一道Java面试题

 

 

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

640?wx_fmt=png喜欢就点击“好看”吧!

CSDN
微信公众号
成就一亿技术人

注:本文是我用老机型测试的,新机型可能不适用

背景

华为官方已经在2018年关闭了申请BL解锁码的通道,所以华为手机已经无法通过官方获取解锁码。最近翻出了一部家里的老手机华为畅玩5X,想着能不能刷个系统玩玩,但是卡在解锁BL上。这篇文章就是记录了一些解锁的尝试。

结果

首先揭晓最终成功的方式,来源于一个第三方提供的免费解锁服务。当然也有付费的解锁渠道,希望省事省时间的可以选择。

尝试方式一:暴力破解

因为解锁码是一个16位的数字,并且校验过程不需要联网,所以有人提出了遍历的方式来破解,github上也有相应的项目可以使用。
huawei-honor-bootloader-bruteforce
这个代码我跑了一下,运行时间1天内,但是最终没有破解出来,因为这个是按照设备的IMEI来结算一个步进的,所以并没有遍历所有的解锁码,github上还有一种遍历全部解锁码的方案,跑了一下,因为效率太低,所以放弃了。

尝试方式二:root后读取nvme

这是在其他论坛上看到的思路,说是在nvme中写有解锁码,具体方法可以看下面两篇文章
绕开华为通道,获取解锁码解锁BootLoader
直接获取华为解锁码,无需nvme(华为4a版)
这种思路的前提是手机可以root,低版本EMUI系统的手机可以尝试root,高版本的需要先降版本才行。
降版本的方法有官方hisuite,或者hisuite proxy,但是也是某些机型才可以用。

尝试方式三:开源解锁工具

Huawei-Unlock-Tool
这是国外作者开发的解锁工具,具体适用机型可以看项目介绍,支持高通和麒麟处理器,但是要求高通机型能进9008模式。
我的机型低版本的时候其实是可以进9008的,而且是有现成的工具,但是不小心被我升级到高版本了,高版本就没有办法顺利进9008模式了,我已知的是只能拆机短接了。

总结

以上三种都是我尝试过的,但是也都失败了,其中遇到的一个经验教训就是刷机要避免升级系统版本,越是低版本的系统,可操作的空间越大,而且很多工具也是只支持低版本系统,高版本系统就会有各种问题。
参考:
https://flowus.cn/share/ec5a779b-426f-41b8-8543-776597b2d971
https://www.kdocs.cn/l/cidkchLJHuYl

注:本文转载自blog.csdn.net的CSDN资讯的文章"https://blog.csdn.net/csdnnews/article/details/87899185"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top