V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sqfphoenix
V2EX  ?  职场话题

公司统计代码行数的逆天逻辑

  •  1
     
  •   sqfphoenix · 136 天前 · 8197 次点击
    这是一个创建于 136 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    之前发了个帖子吐槽公司统计代码行数 前情提要

    经过我两个月的奋斗,各种水行数,甚至突破自己底线贴工具类到代码里面,发现怎么都比不过别人的代码行数,今天才发现,原来公司统计是会把 merge 提交的行数也全部计算进去,而我每次拉代码都用的 rebase ,怪不得我比不过别人啊,合着我写的代码全都算到别人的数据里面去了

    从今天开始,继续突破自己底线,每次提交必选 merge ,反正 git 提交历史已经是一个粪坑了

    84 条回复  ?  2024-01-04 00:34:18 +08:00
    stinkytofu
        1
    stinkytofu  
       136 天前   ?? 7
    这就是外行管内行, 结果一团糟。
    sadfQED2
        2
    sadfQED2  
       136 天前 via Android
    哈哈哈,忍不住笑了。
    Yuanlaoer
        3
    Yuanlaoer  
       136 天前
    一摸一样的情况在我们公司也有。

    git 打开历史就是无数道彩虹
    xianyv
        4
    xianyv  
       136 天前
    我靠,我以为没有统计代码行数的公司,没想到在 op 这里见到了
    iOCZS
        5
    iOCZS  
       136 天前
    应该管理需求和 commit 质量,而不是代码函数。一将无能,累死千军。
    qppq54s
        6
    qppq54s  
       136 天前   ?? 1
    哈哈我们公司是比加班时长
    sqfphoenix
        7
    sqfphoenix  
    OP
       136 天前
    @iOCZS 现在每个月做的最多的事情就是,扯皮,甩锅,算自己的数据,数据不好直接通报批评
    shyangs
        8
    shyangs  
       136 天前   ?? 14
    為什麼你應該停止使用 Git rebase 命令. (Link)
    qinjiang
        9
    qinjiang  
       136 天前
    逆天,下次你把依赖库也提交了吧
    sqfphoenix
        10
    sqfphoenix  
    OP
       136 天前
    @qinjiang 已经在计划重新实现 jdk 了
    tediorelee
        11
    tediorelee  
       136 天前
    这种班上着不累吗
    Yuanlaoer
        12
    Yuanlaoer  
       136 天前
    在这里给大家讲个笑话吧
    我们 CTO 的新政策:统计每千行的 bug 数
    sqfphoenix
        13
    sqfphoenix  
    OP
       136 天前
    @Yuanlaoer 我怀疑你和我一个公司,坐标杭州吗
    brom111
        14
    brom111  
       136 天前
    你这领导不会是新来的领导吧。我们之前有个领导就让我写了个代码统计的工具。但是会把 merge 的行数去掉。

    后来他走了(真好
    sqfphoenix
        15
    sqfphoenix  
    OP
       136 天前
    @brom111 确实是今年的新领导,新官上任三把火
    joyhub2140
        16
    joyhub2140  
       136 天前   ?? 2
    flutter 程序员内心独白:

    居然有这等好事?
    Yuanlaoer
        17
    Yuanlaoer  
       136 天前   ?? 2
    @sqfphoenix 不是,我们公司也没有杭州办公室。
    眼下这种大环境下,这种事儿不会少的。在特殊时期,亩产万斤的不光你们村,也不光我们村,是几乎每个村。
    Yuanlaoer
        18
    Yuanlaoer  
       136 天前
    @joyhub2140 哈哈哈哈,这就把 gitingore 清空
    via
        19
    via  
       136 天前   ?? 2
    why-you-should-stop-using-git-rebase[↗?]
    twofox
        20
    twofox  
       136 天前
    哈哈哈哈哈哈哈哈哈,谢谢你,笑出声了
    brader
        21
    brader  
       136 天前
    还没体验过统计代码行数的公司。
    先在你这里学点统计逻辑 0 0 !
    mayday1997
        22
    mayday1997  
       136 天前
    公司发个预告函,想个办法去印象空间偷他心吧
    sqfphoenix
        23
    sqfphoenix  
    OP
       136 天前
    @mayday1997 我希望我是明智吾郎
    wxm
        24
    wxm  
       136 天前
    @Yuanlaoer 我们也是
    me221
        25
    me221  
       136 天前   ?? 1
    你把 node_modules 提交了吧
    ShrinkLynn
        26
    ShrinkLynn  
       136 天前   ?? 1
    node_modules 提交下随随便便几十万行(前司有人就这么干
    hauibojek
        27
    hauibojek  
       136 天前
    话说部门领导不懂技术么。
    bk201
        28
    bk201  
       136 天前
    我觉得管理层一个就好了,千万不能多。
    echoZero
        29
    echoZero  
       136 天前
    我司就是 代码行数 处理 bug 数
    mdn
        30
    mdn  
       136 天前
    不用 rabase 看得脑壳痛,都不知道会不会在里面藏 bug
    ohuo
        31
    ohuo  
       136 天前
    @Yuanlaoer 我怀疑和你一个公司,坐标深圳吗,新来的领导
    lxxxv5
        32
    lxxxv5  
       136 天前 via iPhone
    美团
    BeautifulSoap
        33
    BeautifulSoap  
       136 天前 via Android
    rebase 尤其是 rebase quash 经常动不动引发冲突,甚至还经常导致 github 在 PR 里无法显示正确的 file changed 。所以我管的项目直接在 github 的 repo 设置里禁止 rebase 和 rebase squash
    分支你看得乱就乱吧,反正只要保证几个重要不然分支不乱就行,剩下随便你们来。总比动不动 PR 合并出问题舒心
    Dogtler
        34
    Dogtler  
       136 天前
    上周我们老大也让我们统计代码行数了,想问下一般是在什么背景下才会做这种操作? 我们老大是产品出身本身不会写代码,然后公司好几个月没发工资,先入为主一下,是不是公司要凉了呀。
    sqfphoenix
        35
    sqfphoenix  
    OP
       136 天前
    @Dogtler 各种情况都有,有些是外行装最懂的指挥内行,有些是公司不行了,但是你这个我建议你赶紧找工作止损。。。
    tonytonychopper
        36
    tonytonychopper  
       136 天前 via iPhone
    好奇挪动目录的改动也会统计进去吗?
    chihiro2014
        37
    chihiro2014  
       136 天前   ?? 1
    我依稀记得我上一家国企,自从我离职之后,开始统计每人每天代码行数,要求不低于 3000 行每天。我想一个系统 4-5 人维护,一个月怕不是 os 都搞出来了。
    实际:new 一个对象需要 new 七八次,最后赋值,用 set 全走一遍,以此达成目标。
    笑死。
    据内部人员表示,目前上海和合肥两地的开发基本裁完,笑死
    param
        38
    param  
       136 天前 via Android
    两个空格转成四个空格提交一次,单引号转双引号提交一次。适用于 js 等语言。
    ZE3kr
        39
    ZE3kr  
       135 天前 via iPhone
    所有空格转换成换行,Tab 转换成 4 个换行,适合非 Python 等语言
    jasonyang9
        40
    jasonyang9  
       135 天前 via Android
    智障领导精英就是这样的局面
    wupher
        41
    wupher  
       135 天前
    你应该做个工具,方便代码风格转换,有偿。

    然后在同事间消然推广。
    hobbitlhy
        42
    hobbitlhy  
       135 天前   ?? 1
    统计代码行数呀,哪个把 maven 去掉吧,这东西用不上了
    hazardous
        43
    hazardous  
       135 天前
    merge 提交行数,只是修改过的行数吗?感觉很合理啊。难道是整个文件的行数?
    jifengg
        44
    jifengg  
       135 天前   ?? 2
    完全不敢现象(可以想象)一年后你们领导看到统计出来的总行数 几十亿 时的表情。
    GuangXiN
        45
    GuangXiN  
       135 天前
    @hazardous #43 他越努力增加代码行数,他的同事 merge 起来越爽。
    xuqiccr
        46
    xuqiccr  
       135 天前
    @Dogtler 好几个月没发工资还需要先入为主一下吗。。。已经快凉透了吧,赶紧找下家止损吧
    horizon
        47
    horizon  
       135 天前
    你在主分支 rebase ?
    ccraohng
        48
    ccraohng  
       135 天前
    break-width 改成 10
    shellcodecow
        49
    shellcodecow  
       135 天前
    我有个很好的经验 这次统计代码,我把 csv 10 万行的测试文件误提交到了 git ,结果我是代码量最高的人(没人审核) lol
    nevin47
        50
    nevin47  
       135 天前
    @Yuanlaoer 虽然 OP 讲的事儿很扯淡,但是统计千行缺陷密度这个其实是业界通行的质量管理手段。。。。
    Goooooos
        51
    Goooooos  
       135 天前
    把一个几千行的文件,全部索引改为两个空格,隔天又改回 4 个空格
    那每天的修改行数不就上天了吗
    nothingistrue
        52
    nothingistrue  
       135 天前
    @BeautifulSoap #33 第一,Github PR 合并选项就没有 rebase 。第二,rebase 的方向是从其他分支变更到个人分支,控制权完全在个人手上,你最多只能禁止 rebase 之后的 force push ,但禁止不了 rebase 。所以你说得是那个 rebase 。
    shalk
        53
    shalk  
       135 天前   ?? 1
    所有代码格式化一下,直接排名第一
    sooong
        54
    sooong  
       135 天前   ?? 1
    今天你格式化下代码,明天别人格式化下,你们都有美好的未来!
    justfindu
        55
    justfindu  
       135 天前
    哈哈哈哈 可以选一个最多提交了 然后 merge 它
    horizon
        56
    horizon  
       135 天前
    psklf
        57
    psklf  
       135 天前
    换行改一下啊,linux 换行和 windows 换行
    iyaozhen
        58
    iyaozhen  
       135 天前
    @Yuanlaoer 千行 Bug 率,是很常见的指标。我了解国内头部互联网企业都统计

    还有很多别的指标,统计是统计,要看指标怎么用,辅助观察还是以此为准
    IamLostInCoding
        59
    IamLostInCoding  
       135 天前 via iPhone
    @xianyv 我这也有,代码量,bug 率?
    fredweili
        60
    fredweili  
       135 天前
    明年也许就不用了
    wolfan
        61
    wolfan  
       135 天前
    贵司领导可能觉得这样装逼吧,毕竟领导就爱 PUA 式管理。总得显得自己有能力驾驭尔等高级农民工的。
    Felldeadbird
        62
    Felldeadbird  
       135 天前
    能够把代码行数来统计工作效率,说明公司想裁人,恶心人罢了。

    根据之前类似贴子的回复,把那些包的代码 cv 复制一份。其次,循环全改手写。
    Yuanlaoer
        63
    Yuanlaoer  
       135 天前
    @nevin47 您想表达的重点是?
    Yuanlaoer
        64
    Yuanlaoer  
       135 天前
    @iyaozhen 那您觉得这个指标怎么样?
    ryan4290
        65
    ryan4290  
       135 天前
    @chihiro2014 太二逼了哈哈哈
    solitude511
        66
    solitude511  
       135 天前
    哈哈哈哈
    好奇今天改一个目录明天再改回来是不是也算
    Varobjs
        67
    Varobjs  
       135 天前
    我一直习惯 git pull --rebase origin

    原来 git merge 还有这 “优点”,涨姿势了
    BeautifulSoap
        68
    BeautifulSoap  
       135 天前
    @nothingistrue 我十分怀疑你有没有用过 Github
    Varobjs
        69
    Varobjs  
       135 天前
    @shalk 然后有 bug 永远看最后一个提交是谁,不管改动的是啥,阁下如何应对
    nothingistrue
        70
    nothingistrue  
       135 天前
    @horizon #56 哦,原来是这个首先源分支上 「 rebase --no-ff 」,然后目标分支上 「 merge --ff-only 」,如果不能 rebase --no-ff 还不让做的 Github 专有的脑残方式。这个脑残方式是一定要禁止的,但请注意它并不是通常所说的 rebase merge 。

    通常所说的 rebase merge ,是首先源分支上 「 rebase 」,然后目标分支上「 merge --no-ff 」,如果有冲突则可通过界面处理,这样的过程。Gitlab 、微软 Devops 、Gitea 等都支持这种方式,就 Github 出于提交签名的考虑,不支持这种方式。
    4771314
        71
    4771314  
       135 天前
    @jasonyang9 手下的人未必都是精英,但是领导是真的智障
    BQsummer
        72
    BQsummer  
       135 天前
    我们公司用 commit id 去重后算 commit 里的代码行数,你这种 rebase 的会算重,代码量大增,来我们公司吧 [狗头]
    iSecret
        73
    iSecret  
       135 天前
    你们是用的 Gitlab 吗?我司前段时间统计项目是从 Gitlab 拉取的 Merge 日志来统计影响行,然后有项目组是直接 Push 到 master 分支的,导致月均代码行数小于 1 行,笑死了。
    pkokp8
        74
    pkokp8  
       135 天前
    奇数次提交 unix2dos
    偶数次提交 dos2unix?
    volCan0
        75
    volCan0  
       135 天前 via Android
    @IamLostInCoding 干着不累么
    bestkayle
        76
    bestkayle  
       135 天前
    @Dogtler 一个月不发工资就应该慌了,你怎么忍得住的
    iyaozhen
        77
    iyaozhen  
       135 天前
    @Yuanlaoer 我是 QA ,我不反对这个指标。怎么说呢,质量可视,总得需要一些指标
    chihiro2014
        78
    chihiro2014  
       135 天前
    @ryan4290 技术总监是日本回来的废物,跟国内起码脱节 10 年,笑死
    Yuanlaoer
        79
    Yuanlaoer  
       135 天前
    @iyaozhen 您这 2 条回复总结在一起,我帮你翻译成简单的普通话吧:“不认同但不想明说”
    nevin47
        80
    nevin47  
       130 天前
    @Yuanlaoer #63 千行缺陷密度在项目实操中很好用,用来评估项目质量是一个很合理的指标。类似你说的清空 ignore 这种操作,在 PR 的时候有 Maintainer 来拦截的,不会影响缺陷密度统计
    Yuanlaoer
        81
    Yuanlaoer  
       130 天前
    @nevin47 我说 gitignore 那个是开玩笑讲的。
    像你讲的,“千行缺陷密度”,如果能把这三个名词定义清楚并在公司内达成共识,那这肯定是一个非常高质量的指标。

    来吐槽的人,显然所处的团队的统计方式有很多不合理的地方,都不用说 `.git` 和 `.gitignore` 了,像是`node_module` 或是其他包管理可能都没做特殊处理,还可以用各种 lint 来操作。而行数统计就是直接粗暴叠加每个 commit 中的行数。

    一句话总结:某人把一个连名字都没搞明白的理论直接搬到团队里,实际应用时一塌糊涂
    xinshoushanglu
        82
    xinshoushanglu  
       130 天前
    哈哈经典套路
    nevin47
        83
    nevin47  
       130 天前
    @Yuanlaoer #81 我觉得你说的是正确的,但是如果千行缺陷密度都应用不好的公司,那流程上可以称为是“小作坊”,应用任何质量管理工具都会出现各种乱象……
    Yuanlaoer
        84
    Yuanlaoer  
       130 天前
    @nevin47 嗯,听起来你在这方面很厉害,或比较幸运,接触到的人都是专业性很强的。很羡慕。

    我体验过牛逼老板领导,即使对每一个 commit message 都有极其苛刻的要求。这种工作氛围下,即使被批评,我也觉得是良性的,会让我更想多工作。但,如果你体验过外行来领导的话,那这种“千行 BUG”的统计就变成噩梦了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1078 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 19:09 · PVG 03:09 · LAX 12:09 · JFK 15:09
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com