• 请不要在回答技术问题时复制粘贴 AI 生成的内容
java253738191
V2EX  ›  程序员

看到别人的代码,不想去改咋办?

  •  
  •   java253738191 · Apr 3, 2018 · 10004 views
    This topic created in 3142 days ago, the information mentioned may be changed or developed.
    • git 提交代码的注释都是“更新”,“修改”,“上线”等等

    • 变量命名都是a、b、aa等等, 出现英文单词还拼错,把cname拼成canme、debug拼成dubug等等

    • 线上代码竟然加上assert,让程序强制 core 掉

    • 编译一大堆警告不处理

    • 自己修改了的话同事又说他本身写的很好被我修改乱了,不修的话又看不下去

    求问我这种是强迫症吗?怎么解决??

    68 replies  •  2018-04-08 22:02:37 +08:00
    crisewng
    crisewng
    Apr 3, 2018
    1
    辞职跑路
    1313213
    1313213
    Apr 3, 2018
    2
    代码写成这样都能找到工作???
    yogogo
    yogogo
    Apr 3, 2018❤️1
    3
    呆着准备背锅?
    java253738191
    java253738191
    OP
    Apr 3, 2018
    4
    @1313213 同事级别比我高
    blaxmirror
    blaxmirror
    Apr 3, 2018
    5
    呃...弱弱问一下什么类型的公司,你们不做 review 的吗?我们 Team 一个函数命名都得为了其他人方便理解争论个半天
    至于怎么解决,每天都跟这样的人在一起你不怕被同化吗?不跑路留到猪年吗...
    java253738191
    java253738191
    OP
    Apr 3, 2018❤️1
    6
    @blaxmirror 互联网 top5 的公司,哪有什么 review 吧,都快被同化了
    Mirachael
    Mirachael
    Apr 3, 2018❤️5
    7
    闷头发育,不要浪
    AltairT
    AltairT
    Apr 3, 2018 via iPhone
    8
    @java253738191 top5 也这样鹅,我以为就小公司会有各种拼写错误,会提交时不写日志(虽然有修改文档),业务层会不做异常返回处理……

    我的想法是抽空就把代码大全之类看看,防止被他们同化😂
    murmur
    murmur
    Apr 3, 2018
    9
    都现在了能靠 a aa bb 给程序跑起来的也是人才
    pexcn
    pexcn
    Apr 3, 2018
    10
    我也看到过这样的代码,后来辞职了
    AnsonQAQ
    AnsonQAQ
    Apr 3, 2018
    11
    猥琐发育,不要浪
    loveCoding
    loveCoding
    Apr 3, 2018
    12
    跟 leader 商量下,先补单元测试,尽量写全一点 case
    WinMain
    WinMain
    Apr 3, 2018
    13
    我开始思考目前的 top5 是哪几个,BAT + 京东 + 头条? 还是美团 + 头条
    blaxmirror
    blaxmirror
    Apr 3, 2018
    14
    @java253738191 那就很 tricky 了,要么像楼上说的闷声发大财,做好自己的事情,要么换个项目?应该有不少流动的机会吧,这种人原则上也就是个例了,反正能离多远离多远。如果本来就过的不开心就可以开始找工作了
    java253738191
    java253738191
    OP
    Apr 3, 2018
    15
    @loveCoding 单元测试已经被同化了,开始还老老实实写 mock,看到同事的单元测试就是写类的 main 函数,而且就一个正常的 case,我就放弃单元测试了
    catteroLo
    catteroLo
    Apr 3, 2018
    16
    写公司代码我都是把 IDE 的拼写检查关掉的,要不然是一片黄
    ce233
    ce233
    Apr 3, 2018❤️1
    17
    楼主简直幸福死了。我改烂代码,心烦的不行,顺手记录了一下行为,纯吐槽向:

    1.变量名 垃圾命名如 student1 ;装神弄鬼,故弄玄虚,如 crUsageId,也不解释带不带 cr 有什么区别
    2.脱裤子放屁,画蛇添足,几个多层容器倒来倒去,最后还是那些东西
    3.拼写错误 /错别字
    4.常量混乱,每个文件一套
    5.常量混乱带来的不一致问题,每个文件的值和命名方式可能不一样,但实际上是一个东西
    6.长函数 /循环,一个循环几百行,里三层外三层,靠
    7.逻辑纠结,想到哪写到哪,不考虑合理性
    8.过多的参数,最多见过 40 个形参
    9.隐含的重构风险: 代码难以理解,出错后难修改
    10.魔数
    11.重复,大同小异的代码块从来不抽象,各种复制粘贴
    shijingshijing
    shijingshijing
    Apr 3, 2018 via iPhone
    18
    不跑留这里过六一儿童节么?
    blaxmirror
    blaxmirror
    Apr 3, 2018
    19
    @wxkvEX 看到第 10 条笑了 hhhh,好奇他们的魔数是个什么东西
    yongjing
    yongjing
    Apr 3, 2018
    20
    还有单元测试?
    严重影响开发进度呀!
    shijingshijing
    shijingshijing
    Apr 3, 2018 via iPhone
    21
    @blaxmirror 是 magic number
    FFLY
    FFLY
    Apr 3, 2018
    22
    @WinMain BAT+小米,肯定没悬念,还有个我感觉是京东,美团点评和今日头条市值没京东大应该。
    jrtzxh020
    jrtzxh020
    Apr 3, 2018
    23
    呃,每个新来的看以前同事交接的代码,都会感觉是一坨 shi。。。
    xuchen
    xuchen
    Apr 3, 2018
    24
    要么忍,要么滚~新人都是搞糟心的代码的~
    pynix
    pynix
    Apr 3, 2018
    25
    辞职跑路。。
    John60676
    John60676
    Apr 3, 2018
    26
    观察了一下,楼主是百度的?
    newmlp
    newmlp
    Apr 3, 2018
    27
    一般局部变量我懒得写名字也是用 a,b,c,aa,bb,dd 这种起名字的( ̄▽ ̄)~*
    Midnight
    Midnight
    Apr 3, 2018
    28
    https://imgur.com/GnclbaK

    看看我这边的吧。。。。
    Midnight
    Midnight
    Apr 3, 2018❤️7
    29
    Lawlieti
    Lawlieti
    Apr 3, 2018
    30
    @Midnight 这前端还不被打死?
    FenGuWu
    FenGuWu
    Apr 3, 2018 via Android
    31
    买一本 重构改善既有代码的设计。看完就会发现久旱逢甘霖!!!美滋滋!!
    NingAnMe
    NingAnMe
    Apr 3, 2018
    32
    到公司,已经把一套程序根据 PEP8 重构了一遍了
    ZZZZZZZZTC
    ZZZZZZZZTC
    Apr 3, 2018
    33
    人家就是要代码写烂点,为了让自己难以被替代
    laodao1990
    laodao1990
    Apr 3, 2018
    34
    1 万 4 千多行的类你见过吗?
    3000 多行的方法你见过吗?
    一行有几百个字符从来不格式化你见过吗?
    Biwood
    Biwood
    Apr 3, 2018
    35
    我的原则是,如果那个人还在公司,他自己的代码自己修改,我只是给出修改意见
    woodface2233
    woodface2233
    Apr 3, 2018 via iPhone
    36
    标准答案:走人
    lusi1990
    lusi1990
    Apr 3, 2018 via Android
    37
    搞 c 语音的吧
    PHPer233
    PHPer233
    Apr 3, 2018 via iPhone
    38
    煞笔写的代码。一般我碰到不写注释的代码,直接删掉,看你麻痹,不看了。鬼知道你写的什么?
    kljsandjb
    kljsandjb
    Apr 3, 2018 via iPhone
    39
    我天天是你这种心情
    WispZhan
    WispZhan
    Apr 3, 2018
    40
    @PHPer233 你错了,好代码不写注释也能看懂。差代码写再多注释也是垃圾。
    wangbenjun5
    wangbenjun5
    Apr 3, 2018
    41
    还真是,我们公司不大不小,业界小有名气,进来一看代码也是一坨屎,没办法,能跑就行,没人看代码
    easylee
    easylee
    Apr 3, 2018
    42
    @WispZhan 代码审阅能力是这么强的吗?
    vebuqi
    vebuqi
    Apr 3, 2018❤️1
    43
    日常是在 9k 行的一个 js 文件里摸爬滚打。。
    whoisghost
    whoisghost
    Apr 3, 2018
    44
    @blaxmirror 你们这 Team 我喜欢呀!你们公司在成都吗?我要去霸面!
    blaxmirror
    blaxmirror
    Apr 3, 2018
    45
    @shijingshijing 难道我理解有问题?我只是想问这种写垃圾代码的人怎么可能会写出真正的魔数...你这突然冒个英文翻译给我是什么意思呀...一脸懵逼
    我脑海中的魔数是卡马克的浮点开方算法用的那种,所以好奇普通人写的魔数会是什么样子而已
    blaxmirror
    blaxmirror
    Apr 3, 2018
    46
    @whoisghost 上海爱立信,成都应该也有,你可以去了解下哈哈,待遇一般但是福利不错,无奈被华为打得节节败退
    blaxmirror
    blaxmirror
    Apr 4, 2018
    47
    @shijingshijing 我感觉我有些过分解读了,抱歉,应该就是好心提示我,无视我前一条吧~握爪
    Akkariin
    Akkariin
    Apr 4, 2018
    48
    非常能理解楼主的心情,我现在也是这样,看以前大神们写的代码从来没有一种 GET 到的感觉,而是这 TM 的都是些什么东西?
    比如,有看过一个存储过程,调出一个问题列表,有个参数是问题类型,0 是未回答,1 是已回答,然后 2006 是所有,我当时一阵蒙蔽,然后突然又好像想到了什么,理解了他的想法,去看了眼生成日期,果然是 2006 年,我是不是也被同化了?
    grewer
    grewer
    Apr 4, 2018
    49
    一般说 topX 那就是 X 名
    mcfog
    mcfog
    Apr 4, 2018❤️1
    50
    除了 2 是实锤,别的都不好说

    1. git 的零碎提交随便写个 WIP 或者 update 之类没问题,rebase 后好好写 /merge commit 好好写就行了。甚至按团队流程,完全无视 vcs 的 message,改以 merge request / change log 等形式追踪也未尝不可
    3. 早崩溃很多时候是好事情,让程序在可疑的状态下运行比 coredump 危害大得多
    4. 完全看情况
    5. 可能是楼主心态爆炸后的沟通存在问题

    我发现很多程序员对 legacy code 缺乏敬畏,你新写的代码再好也不如 legacy code 是经过生产环境千锤百炼的,处理这些代码,是否修改,是否重构,是否重写都是非常重要又困难的决定
    peinhu
    peinhu
    Apr 4, 2018
    51
    王垠都不敢随便动别人的代码,楼主这是准备作死吗。。。退一万步讲,即使你改好了,你和你同事的梁子就结下了
    geying
    geying
    Apr 4, 2018
    52
    // magic
    // do not touch !
    Akagi201
    Akagi201
    Apr 4, 2018
    53
    我还真遇见过这种人, 不得不说我太 native 了.

    人家就是要代码写烂点,为了让自己难以被替代 +1
    ShareDuck
    ShareDuck
    Apr 4, 2018
    54
    你同事自带代码混淆功能。
    caiyue1993
    caiyue1993
    Apr 4, 2018
    55
    看了楼上的发言,不太想在 v 站回复了都...现在码农还是太多了,软件工程师还是少得可怜...
    bullettrain1433
    bullettrain1433
    Apr 4, 2018
    56
    @ShareDuck 23333,墙都不扶
    ghostman
    ghostman
    Apr 4, 2018
    57
    不要改别人的代码,让他自己改。
    micean
    micean
    Apr 4, 2018
    58
    公司的拼写错误已经多到治好了我的强迫症
    nl101531
    nl101531
    Apr 4, 2018
    59
    为了同事友谊,不要改.
    ycqueen
    ycqueen
    Apr 4, 2018
    60
    来我们公司吧,嘻嘻,你不会有这种烦恼,我们公司在北京望京哦,求关注,求回复
    Tyris
    Tyris
    Apr 4, 2018 via Android
    61
    @Midnight 可以,省了找混淆器的麻烦:doge:
    whatTheGhost
    whatTheGhost
    Apr 4, 2018
    62
    线上代码强制 core 这个不一定是黑点。比如我用了 libuv,libuv Release 编译也有 assert 强制 core,这个还改不了。有时候已经是错误了,还不如早崩。

    本人之前的同事,工作三年甚至还没养成代码缩进习惯(毕业于某 CS 专业比较好的 985 ),喜欢到处复制粘贴代码(比如需求改了,把 xxx 函数内代码复制一下,改名 xxx2 ),完全没有时间 /空间复杂度概念,喜欢到处飞全局变量,用全局变量来做线程同步……
    gjquoiai
    gjquoiai
    Apr 4, 2018
    63
    https://imgur.com/a/iJcc0
    凑合活着呗 ┑( ̄Д  ̄)┍
    gjquoiai
    gjquoiai
    Apr 4, 2018
    65
    @gjquoiai
    二连失败 _(:з)∠)_
    sampeng
    sampeng
    Apr 4, 2018
    66
    1。如果这是一个一个人开发的项目,这么写未尝不可。工具是服务人的,不是人去完美服从工具。

    2.拼写错误不能忍,这个倒是可以吐槽一下。。但 a。a。b 这样的。看情况。如果是在非常小的函数里面。比如就 5-6 行。。我经常写 tmp 啊。tmp1.tmp2 之类的。以前我也很反感。后来发现真没那么多词去形容中间态或者临时用的。大函数除外。。大的主业务逻辑绝逼不能这么搞。。会死人的。。。其实你去看看其他源码。比如 git。。说实话,我简直看得想一头撞死在墙上。。第一版功能少,勉强还能看。看最新版。。。真的心里在呐喊,tm 什么玩意。。。到处都神奇数字,神奇变量,全局变量到处飞到处初始化。。。

    3.看情况,assert 如字面含义,绝逼 100%不可能会是异常的。如果是异常了。直接崩溃未尝不可。你得赶紧处理。但如果要求 100%不能崩的。。所以看业务。最近写 rust。。原先特别担心写 unwrap。。后来发现其实没那么糟糕。。就随心所欲了。。。

    4.依然看情况,老代码。可能是一个开发用几天时间赶工赶出来的。根本没时间去处理。。。

    5.不要主动去修改任何别人的代码!!除非你提前跟他说,你需要重构,怎么重构巴拉巴拉。否则就是自讨苦吃。。。
    wjm2038
    wjm2038
    Apr 5, 2018 via Android
    67
    @blaxmirror 不明所以的赋值吧,我是这么理解的
    whoisghost
    whoisghost
    Apr 8, 2018
    68
    @blaxmirror 呃,那成都就可能不会像你们 team 那么好了,毕竟是团队,不是整个公司。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3337 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 158ms · UTC 01:00 · PVG 09:00 · LAX 17:00 · JFK 20:00
    ♥ Do have faith in what you're doing.