已老实!公司的代码再也不敢乱改了!

作者:cong_

很小的事但很有意思,分享给初入职场的兄弟们!遇到“丑代码”改不是不改~

顺便吆喝一声,如果你计算机、软件工程、电子等相关专业本科及以上学历,欢迎来共事。前端/后端/测试均可投,技术大厂。😆

  • 感谢大家支持🤩
  • 亲身经历

    我第一次接手老代码的时候,映入我眼帘的就是侧边栏满页的黄色提示以及代码下面的众多黄色波浪线,以及提交代码时的提示,如下图:

    我内心 OS:

    1)大干一场,把黄色波浪线全干掉!

    2)同事这写的也太不优雅了吧,改成我这样!

    3)这代码怎么也没格式化,我来 Ctrl + Alt + L 格式化一波!

    已老实,求放过

    干掉黄色波浪线,将代码改 ”优雅“ 结局如下:

    1)不声不吭动了同事代码,换来同事怒骂,毕竟人家逻辑写好,然后你按你想法来搞,也没有跟人家商量。

    2)后续领导找你加需求,你发现原来之前的代码有妙用,你悔不当初,被扣绩效。

    3)格式化后,在项目修改记录上面是你的修改,这代码出问题,负责人先来找你。

    说说我的看法

    代码能跑不要动

    前几日我要在老项目中,新增一点小功能,在新增完功能后,我扫了一眼代码,发现有几处逻辑根本不会执行,比如:抛异常后,执行删除操作类似,我也不会去义愤填膺的去干掉这块代码,毕竟我想到一点!项目都跑七八年没出问题了,能跑就别动它。

    代码强迫症不要强加于别人

    前几日在看见了这样一个讨论:

    这样的事情其实在小公司经常发生,你觉得它写的不优雅,封装少,可能是别人也有别人的难处,至少不能将自己想法强加于别人,比如领导突然来一个需求,跟你说今天你得完成,然后第二天这个需求,你要这样改、再给我加点新需求上去,你能想到的封装其实只是你冷静下来,而且没有近乎疯狂的迭代需求得到的想法,当你每天都要在原代码上面疯狂按照领导要求修改,可能你会有自己的看法。

    新增代码,尽量不影响以前逻辑

    新增代码的时候,尽量按照以前的规则逻辑来进行,比如我改的一个老项目,使用的公司自己写的一套 SQL 处理逻辑,我总不能说不行!我用不惯这个!我要用 MyBatis!!!!那真的直接被 T 出门口了。

    尊重他人代码风格

    每个人的代码风格都有所不同,这个很正常,不同厨师的老师教法不一样,做出的味道还不一样呢,没有最好的代码,只有更适合的代码,刚好我就有这样的例子:

    我注入 Spring 依赖喜欢用构造注入、用 Lombook 的注解 @RequiredArgsConstructor 注入,我同事喜欢 @Autowired ,我能说他不准用这个吗,这个是人家的习惯,虽然 Spring 也不推荐使用这个,但改不改这个都不会影响公司收益,反而能少一件事情,促进同事友好关系,哈哈哈哈,我是这样认为的。

    处理好同事之间的关系

    哈哈哈哈这个真的就是人情事故了,你换位想象一下,如果你写的幸幸苦苦的代码,新来的同事或者实习生,来批评你的代码不规范,要 Diss 你,偷偷改你代码,就算他说的超级对,你心里都十分不好受,会想一万个理由去反驳。

    我一般如果需求需要改动同事的代码,我会先虚心的向同事请求,xx哥,我这个需求要改动你这边的代码来配合一下,你来帮我一起看看,你这部分的代码这样改合理吗,或者你自己改下你自己的部分,然后我合并一下~ 谢谢 xx哥。

    #我的实习求职记录##学历对求职的影响#
    全部评论
    一般代码风格公司是有统一的标准的,比如我们这边会有格式检查,不然代码过不了审
    10 回复 分享
    发布于 07-02 12:03 北京
    写这么多,你要考研啊!
    7 回复 分享
    发布于 07-02 17:26 湖南
    深信服
    校招火热招聘中
    官网直投
    遇到过一个 for 循环调数据库的哥教人写代码,越无知越觉得自己懂
    2 回复 分享
    发布于 07-11 12:38 广东
    语言已经表达不出改别人代码后崩溃的心情
    1 回复 分享
    发布于 07-18 17:22 陕西
    西电大佬
    1 回复 分享
    发布于 08-05 20:00 黑龙江
    不知道各位如何,我一进公司就开始强调代码规范要统一,很严格的那种,甚至到有点苛刻,一般命名啥的就不说了。导包import的顺序都会作要求,代码之间的空行也不能随便空,该加final的地方都加上,还有类结构的封装等等一系列要求规范吧。leader应该是有点代码洁癖。刚开始确实很不习惯,但现在慢慢养成了,写代码都会很注意。反而现在看别人的工程代码,都多少会觉得有些混乱😂😂😂
    点赞 回复 分享
    发布于 08-29 18:25 广东

    相关推荐

    #include <iostream>#include <string>#include<vector>#include <set> using namespace std;int main() {    int n;    cin >> n;    vector<vector<int>> coordinates(n, vector<int>(2));    set<string> coordinatesSet;    for (int i = 0; i < n; i++) {        int x, y;        cin >> x >> y;        coordinates[i][0] = x;        coordinates[i][1] = y;        coordinatesSet.insert(to_string(x) + " " + to_string(y));    }    int squareCount = 0;    for (int i = 0; i < n; i++) {        int x1 = coordinates[i][0];        int y1 = coordinates[i][1];        for (int j = i + 1; j < n; j++) {            int x2 = coordinates[j][0];            int y2 = coordinates[j][1];            int x3 = x1 - (y1 - y2), y3 = y1 + (x1 - x2);            int x4 = x2 - (y1 - y2), y4 = y2 + (x1 - x2);            if (coordinatesSet.count(to_string(x3) + " " + to_string(y3)) > 0 &&                coordinatesSet.count(to_string(x4) + " " + to_string(y4)) > 0) {                squareCount++;            }            int x5 = x1 + (y1 - y2), y5 = y1 - (x1 - x2);            int x6 = x2 + (y1 - y2), y6 = y2 - (x1 - x2);            if (coordinatesSet.count(to_string(x5) + " " + to_string(y5)) > 0 &&                coordinatesSet.count(to_string(x6) + " " + to_string(y6)) > 0) {                squareCount++;            }        }    }    cout << squareCount / 4 << endl;    return 0;}
    查看3道真题和解析
    点赞 评论 收藏
    分享
    38 20 评论
    分享
    牛客网
    牛客企业服务