你是他主管不?是的话,告诉他行的标准是你定的,不是他定的……
代码和人,有一个能跑就行!
(好家伙,半个月没有更新回答了,知乎回答的编辑器都升级了,竟然有点不适应!)
干我们这行的都懂,如果你技术还没有牛逼到像 Linus 那样竖中指都显得非常可爱的话,哪怕那坨屎山把你恶心得吐了好几天,也不要轻易尝试去改动它!
兄弟,我劝你,真的,能跑就行。
除非你敢让组员用你的 Git 账户提交代码,我估计他没准就敢修改了,出了事,你把锅背上,啥事都好说。
-----不完美的分割线
讲一点我自己的故事吧。
十多年的编程生涯里,的确有过无数次的冲动,想要把原有的代码重构,想要调优,最后大多数都无疾而终,尤其是随着年龄的增长,反而越来越胆小怕事,有些真的是不敢乱动,只能忍痛让原有的代码更烂一些。
毕竟背锅是大事,嘿嘿。
有时候,不能把代码当做是艺术品,要能够适度忍受不完美,程序能跑起来,bug 数量可控,有啥问题可以解决也是很重要的。
如果重构了,出了问题,自己背锅是注定的,可能还会连累了测试小姐姐。
记得在外企的第二年,由于组里面有个新人的代码写得实在是太烂,我就忍不住前前后后优化了一遍,毕竟作为 Team Leader,要对新人负责,要为团队负责,结果大家猜怎么样?
我被领导臭骂了一顿!
原因很简单,我特么引入了一个 Bug,Code Review 的时候还没有检查出来,测试也没有测试到,结果到了正式环境,刚巧碰到领导在日方出差,领导要给领导的领导展示成果,结果程序出了 bug,然后领导被狠狠地臭骂了一顿。
领导被批了,那自然一通越洋电话打过来,把我直接骂哭!
当时还年轻,那叫一个委屈啊。但能怎么办,自己的锅不背让谁背?
后来回二线城市后,团队规模变小,自己重构的欲望又涌上心头,毕竟这次没人能管得了我,看到谁写的代码烂,就直接一顿操作猛如虎,重构到自己心满意足为止。
即便是引入了新的 Bug 也没关系,毕竟老板也不懂,好忽悠,嘿嘿。
老板虽然不懂代码,但懂得写代码哪能没有 Bug——经过我的不懈努力,成功给老板灌输了这个思想,要想不出 Bug,就增加测试团队的人手,领导可不愿意多发一份工资。
成功洗脑老板后,我真的有一段时间是飘到了极点,狠起来连自己的代码都重构,一遍又一遍,手头最经常看的两本书,一本《代码的整洁之道》,一本《重构·改善既有代码的设计》。
从简单的变量命名、方法命名,到缩减方法的行数,能拆分就拆分,尽量保证每个方法的行数不超过一个小拇指那么长。为了适配设计模式,我当时还买了一本《设计模式之禅》,真的是殚精竭虑。
后来我花了一个月的时间,把自己读过的这些经典书单做了梳理,并且开源到 GitHub 上了,喜欢的小伙伴可以拿去参考:https://github.com/itwanger/JavaBooks
认真的整理后发现,原来自己读过这么多本了,真的是应了那句话,没有随随便便的成功,只有一点一滴的积累。
现在想想那段日子真疯狂,有时候为了修自己重构后带来的新 Bug,真的是熬了不少夜。
但有一说一,那段日子的进步也是肉眼可见的。
不过,话又说回来,对稳定性要求比较高的项目,如果能力没到那份上,还是尽量少重构,搞不好版本更新的日志里就会写下一条:XXX 程序员被祭天了!
最好是等到领导忍不住下了死命令,限尔等多少天之内,务必把这座屎山给搬走!到了那时候,再大展拳脚也不迟。
如果真的是安耐不住,一肚子的重构、调优想法无法得到施展,我给大家推荐一个好办法,就是自己搞一个练手项目,可以是自己开发的,也可以是 GitHub 上成熟的项目,比如说我一直推荐的 vhr、mall、miaosha、codingmore 等等,把源码 fork 下然后拉下来,在本地跑一跑,尝试去读一读源码,觉得哪里需要重构了,就动手实践一遍,即便是出错了,也谁都影响不到,对吧?
如果觉得自己比较厉害的话,可以去拿那些顶级的第三方类库做实验,重构完一定要记得测试,并且在提交 PR 的时候附带上自己的测试报告,如果项目的作者认为你重构的有水平,没准你一跃就成为了项目的维护者,简历上也是加分项。
-----求点赞的分割线
别再纠结于那些你认为“恶臭了”的代码了,如果有时间,有精力,不妨把眼光着眼于未来,去写属于你自己优雅的代码。
大家都知道,这是编程的第一法则:如果您的代码以某种莫名方式跑起来了,就不要再碰它了。
他工资可能只有3k-6k,所以,能跑就行,这个已经到了他的极限了。
me 可能要3到5倍的价格,能做到的是,根据公司使用库的风格写代码。不论是测试驱动,还是领域驱动模式,还是设计模式,还是,哪本书的风格,你都可以指定。
综合对比了一下,你最后发现,还是能跑就行比较合算。
既然这么在意的话。。。
那就找理由举报男朋友学术不端,把论文撤掉!
如此一来,论文、硕士、男朋友就都没有了呢!完美解决问题!
既然这么在意的话。。。
那就找理由举报男朋友学术不端,把论文撤掉!
如此一来,论文、硕士、男朋友就都没有了呢!完美解决问题!