V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
babywhisper
V2EX  ›  程序员

同事又在偷懒刷 V2EX, 看看他在 git 项目中的代码贡献量 ( Python 小脚本)

  •  
  •   babywhisper · Oct 22, 2017 · 8291 views
    This topic created in 3110 days ago, the information mentioned may be changed or developed.

    具体使用方法见 Github 主页:

    https://github.com/daya0576/git-code-contribution-analysis/


    在大家的公司里是如何评估程序员的绩效的呢?

    因为这个脚本只是用来分析代码贡献量, 而不是真实的项目贡献.
    毕竟有个东西叫做代码质量, 但数据量大了, 还是能反映一些事实的.
    你们想到更好的指标(或算法)来分析 git 数据, 计算 contribution 吗?


    效果图:

    http://opetwnn9x.bkt.clouddn.com/git_contribution/Jietu20171022-210926.jpg


    Features:

    1. 快 (2500 个 commits 的项目用时, 用时 1.1s, 和 gitinspector 相比快了 20 倍.)
    2. 统计一个用户总共的 commits, insertion, deletion, 改动总比重.
    3. 合并多个用户(不同用户名)--> 同一个用户名.
    4. 支持按列排序.

    TODO

    1. 导出其他格式: html, cvs, excel, json
    2. 多个 repo, 合并分析
    3. 兼容 Python2
    4. 其他指标, 算法, 更好地分析项目贡献, 而不仅仅是代码量的贡献.
    5. 进度条
    6. 将配置(env.py)放到参数中
    7. git log 中 limitation 能做到的都能加上, e.g. 时间范围等等
    8. ...
    Supplement 1  ·  Oct 23, 2017

    标题是开玩笑的.
    这个脚本只不过是个小玩具, 写着好玩罢了, 并没有针对谁....

    代码贡献量 != 项目真实贡献量
    但我的想法是: 能不能从无意义的但真实数据中去挖掘一些有趣有用的信息.

    比如:
    insertion / deletion
    某个人写的代码被删的概率.
    被修改频率最高的文件
    等等

    zts1993
        1
    zts1993  
       Oct 22, 2017
    这个和导出加班时间有着异曲同工之妙~
    mentalkiller
        2
    mentalkiller  
       Oct 22, 2017
    @zts1993 #1 +1
    brickyang
        3
    brickyang  
       Oct 22, 2017
    那个 daya0576 是领导吗?主要工作是删了他看不顺眼的代码让你们重写?
    mengzhuo
        4
    mengzhuo  
       Oct 22, 2017   ❤️ 2
    行数计算,分析指标,在程序员这里毫无意义

    一个初级程序员可以导入第三方模块来伪造贡献
    而一个高级程序可能为了一个 bug 找半天,最后一周只改一行核心代码


    有种就分析写代码所需的难度。
    freestyle
        5
    freestyle  
       Oct 22, 2017
    建议 REPO 可以从环境变量里取 改文件太麻烦了.....
    fy
        6
    fy  
       Oct 22, 2017
    @brickyang #3 提醒一下,你看看楼主 ID
    babywhisper
        7
    babywhisper  
    OP
       Oct 23, 2017
    @zts1993
    是其实都完全不能体现程序员真正的 contribution
    对吗
    babywhisper
        8
    babywhisper  
    OP
       Oct 23, 2017
    @brickyang 不是的... 你观察的这个点还是挺有趣的.
    rogwan
        9
    rogwan  
       Oct 23, 2017 via Android
    没有万全之法,还是谷歌那种 OKR 管理模式,效果好些吧
    babywhisper
        10
    babywhisper  
    OP
       Oct 23, 2017
    @mengzhuo 是滴, 所以 TODO 里有: 其他指标, 算法, 更好地分析项目贡献, 而不仅仅是代码量的贡献.

    统计的只不过是代码量的贡献, 我们都知道这也一个人对项目的贡献量关系不大.
    但我在想, 能不能从这些数据中, 挖掘出一些有用的信息.

    不然只能靠人来评估人了.
    babywhisper
        11
    babywhisper  
    OP
       Oct 23, 2017
    @freestyle 遵命, 简单改好了. 还是太懒了.
    babywhisper
        12
    babywhisper  
    OP
       Oct 23, 2017
    @rogwan 是滴.
    就像 leader 分配给人具体目标, 然后评估完成结果, 比较科学一点.
    qian19876025
        13
    qian19876025  
       Oct 23, 2017
    看不惯你把人开了就是了呗 你来这上面抱怨 目的为何 找安慰? 要骂街 要杀一儆百 ? 还是显示自己能耐 你要开就开别 BB
    brickyang
        14
    brickyang  
       Oct 23, 2017 via iPhone
    @fy 怪不得…果然是领导
    writer15
        15
    writer15  
       Oct 23, 2017
    @fy 233333
    babywhisper
        16
    babywhisper  
    OP
       Oct 23, 2017
    @qian19876025 ??? 我只是个小罗罗.

    不懂你的点...
    j2gg
        17
    j2gg  
       Oct 23, 2017
    167 万行,770 次提交,每次提交 2000 行? 我觉得我们写的不是同一种语言,真的
    beimenjun
        18
    beimenjun  
    PRO
       Oct 23, 2017
    V2EX 这种没法自行删帖编辑时间窗口又很小的地方,发帖还是慎重些吧。如果你在 GitHub 或者 CSDN 或者自己的 blog 写,就算被转到这里也不会有啥问题,但是跑到 V 这边对着正在刷 V 的其他人发一个帖子,也不知道是不是开玩笑似的在标题里一副要对刷 V 的同事进行制裁的样子,个人觉得你被怼全然不冤枉。

    所以平常就和大家常说,卿本佳人,奈何要当标题党呢。

    =================

    至于你说考评这回事,有技术工具当然不是坏事咯,反正聪明的管理者懂得技术工具的缺陷和管理团队的取舍,弱一些的管理者,工具有没有基本都一个样。至于什么文件修改比较频繁,什么人写的代码被删改严重这种东西,因为一直都在不大的 team 里,感觉似乎很多时候不需要工具 leader 也应该知道。

    而且说句实话,一个家伙如果一直刷论坛,commit 记录都没啥,我觉得真到这一步,如果不是这个员工就要离职,那么我觉得团队问题蛮大了。
    ryd994
        19
    ryd994  
       Oct 23, 2017 via Android
    每行只改一个字,可以刷出大量 insert/delete
    建议每个 commit 只计算两者之差
    lrh3321
        20
    lrh3321  
       Oct 23, 2017
    @j2gg 新功能我都是在本地专门开一个分支出来搞,弄得差不多了再 rebase 到我的开发分支上当作一个提交,提交太多了以后看 log 好烦啊。
    babywhisper
        21
    babywhisper  
    OP
       Oct 23, 2017 via iPad
    @beimenjun 好吧。 学到了。
    我写的刷 v2ex, 意思是开玩笑的。
    现实中其实这种同事, 以后不标题党了。
    zts1993
        22
    zts1993  
       Oct 23, 2017   ❤️ 1
    @daya0576 #7 代码贡献 不等于 贡献 , 加班时间 不等于 工作时间 ~~~~
    sucaihuo
        23
    sucaihuo  
       Oct 23, 2017
    有好源码可以分享到素材火,赚零花钱 http://www.sucaihuo.com/
    ericgui
        24
    ericgui  
       Oct 23, 2017
    @fy 你意思是,说,他自己统计了,自己排第二,很靠前,所以才出来 show,要是很靠后,他就不写这个轮子了 哈哈
    fy
        25
    fy  
       Oct 23, 2017
    @ericgui #24 不我只是回复 3L
    windflyme5
        26
    windflyme5  
       Oct 24, 2017
    散了吧, 楼主凉了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1015 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 19:41 · PVG 03:41 · LAX 12:41 · JFK 15:41
    ♥ Do have faith in what you're doing.