首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
loliordie
V2EX  ›  Python

有代码洁癖算不算是个好事

  •  
  •   loliordie · 13 天前 · 8873 次点击

    我就有比较强的洁癖 要求实习生写 python 不符合 pep8 直接 close PR. 要求团队内部统一代码风格, 用拼音或者风格不一致的我会揪出来重点批评, 复杂一点的函数逼每个人都写文档 并且随改随更新.

    今天上午又因为一个实习生使用git add *, 结果加进来一大堆临时文件发火了...感觉其他人都不理解自己好累...

    第 1 条附言  ·  13 天前
    补充一下

    我要求 PEP8 语法的同时也会告诉实习生在 IDE 里面使用 FLAKE8 等插件高亮错误语法 gitignore 我也会尽可能写好(由于项目的特殊性无法使用白名单模式)

    但是总有那种在学校养成坏习惯整个代码写的叫一个突出自我的人 还特别难改
    142 条回复    2020-07-03 12:07:43 +08:00
    1  2  
    lululau
        101
    lululau   12 天前   ❤️ 3
    怎么说呢,可以要求规范,经常提醒,但是发火当众点名批评什么的就有点莫名其妙了;你可能觉得这些是基本编码素质,但不是每个人都能达到你的编码水准,也不是每个人都是 50K 的薪水,对别人来说这些东西可能是个不小的负担,他能让他的代码运行起来可能已经拼尽了全部力量了
    scukmh
        102
    scukmh   12 天前   ❤️ 1
    ci + cr. ci 中的 test 加上代码风格检查就完了。
    upupddd
        103
    upupddd   12 天前 via iPhone
    ClericPy
        104
    ClericPy   12 天前
    洁癖是病吧...

    规范标准什么的是基操, 反正在好点的公司各种流程怎么走怎么顺, 也有专门的培训和集体 code review; 差点的公司就什么牛鬼蛇神都有了, 遇到这种情况除了抱怨, 也该想想自己为什么会与他们为伍

    总结一句话, 都是来挣钱的, 没几个真来做技术的
    LokiSharp
        105
    LokiSharp   12 天前
    这两个不就是 reformat 和 gitignore 的事情么?写不好 gitignore 是 Team Leader 的能力问题吧
    DamienS
        106
    DamienS   12 天前
    只要不要发火其他都挺好
    cht1995
        107
    cht1995   12 天前
    看 lz 的描述只是很正常的格式要求呀,算不上洁癖
    只不过许多人没有写干净代码的概念
    解法就是找到志趣相投的人,避免给自己添堵 😁
    popbones
        108
    popbones   12 天前   ❤️ 3
    对业务规范有较强要求是好的,但是直接 Close PR,发火或点名批品这种方式往往并不利于推广规范。

    工作中感情用事很容易适得其反。目的是推行作业规范,不是斗气。

    比如直接 Close PR 就不太友好,我们都是 CI 会检查规范等,不通过系统不允许合并,这样就排除了人与人之间的矛盾。

    然后通过分享工具、IDE 配置文件的方式来自动化,让符合规范变得比不符合规范还省事。

    如果这些都无法实行,那么说明团队中肯定有更深层次的问题,这个时候可能代码规范并不是最亟待解决的问题。

    还有一个办法:换成 Go
    luckylo
        109
    luckylo   12 天前
    没人觉得有一个问题么。 既然是 实习生,没有带的么?带的人不跟别人培训下 git 也好,讲下 代码规范也好么
    liuky
        110
    liuky   12 天前
    公司同事, 从不代码格式化 怎么破, 还不是要忍
    zdnyp
        111
    zdnyp   12 天前
    严于律己,宽于律人
    xxdd
        112
    xxdd   12 天前
    实习生加个临时文件就能发火的···
    17681880207
        113
    17681880207   12 天前
    有代码洁癖绝对是好事,但是这个事情得要有个度。
    比如可以要求一定程度上的代码规范统一,例如命名规范、符号规范等,如果要求别人的代码要和自己写的完全一样,那就过了。
    evilic
        114
    evilic   12 天前
    洁癖不是好事,都已经是癖了,能是好事么……

    代码规范就好。

    洁癖容易走向过度设计……因为有时项目的规模原本可以很容易的就实现了,再按大项目的要求去管理,那得多做多少事情呀……

    其实我个人觉得,代码的可读性更重要。

    灵活变通一点吧。
    no1xsyzy
        115
    no1xsyzy   12 天前
    @LokiSharp #105 话说我常常随手新建一个 e.py 来测试或者临时存放代码…… 这种真的可以写出正规的 gitignore 吗?
    git add * 是真的对 git 和 shell 不熟悉,因为这个命令并不会 add 到 .gitignore 这个文件。
    但我觉得 IDE 自带的 git 界面比较爽,可以比较容易地控制 commit 部分行。
    no1xsyzy
        116
    no1xsyzy   12 天前
    @LokiSharp #105 漏了段,git add * 还不会 add 到被删除的文件。
    就是偷懒也应该是 git add .
    no1xsyzy
        117
    no1xsyzy   12 天前
    话说这么有洁癖,不如先推广下结对编程……
    虽然敏捷那流我都不怎么喜欢,但其实是因为这都是解决 “编程以外的问题” 的。
    代码风格通常是个协作问题,只有偶尔是个编程问题。
    wobuhuicode
        118
    wobuhuicode   12 天前
    统一风格是一件好事。起码对团队来说是。
    但是在团队中怎么把控这个代码规范是一个大问题。其实在 v2 也经常能看到一些人吐槽自己 leader 的一些古板规范。
    我自己是列了很长的规范和理由出来的给团队执行的。有不服气某个规范的可以找我理论。
    cqy2016
        119
    cqy2016   12 天前
    @DamienS #106 +1
    道不同不相为谋
    fengerzh
        120
    fengerzh   12 天前
    遇到这种问题,我都是把他叫过来,坐我边上,你活也不用干了,看着我,一行一行给你规范清楚了,羞愧不羞愧?不知羞耻的就直接辞退算了,爱干嘛干嘛去吧,反正别在我组里混了。
    Jasonluo925
        121
    Jasonluo925   12 天前
    规范和洁癖是两码事.
    bzw875
        122
    bzw875   12 天前
    之前的公司,把 node_modules 里的都提交了,我都见怪不怪
    knightgao2
        123
    knightgao2   12 天前
    git add * 不是有 gitignore 吗
    pkupyx
        124
    pkupyx   12 天前
    好事情啊,软件工程很核心的一点就是要标准化。你建公共厕所用个铅坠找齐,歪个半度无所谓,但建摩天大楼歪个半度试试。
    liuqiang1357
        125
    liuqiang1357   12 天前
    git add . 和 git add * 都分不清,还好意思说别人用的有问题
    xingheng
        126
    xingheng   12 天前
    .gitignore && git hook 了解一下,发火儿就证明 up 主太年轻了,拿出具体解决方案和出发点来说服对方才是正解。

    洁癖是好事,主要针对自己,然后建设性地说服别人。
    glaucus
        127
    glaucus   12 天前
    虽然我也是代码洁癖,但是如果楼主是我 leader 我想我每天的开发工作应该会非常压抑,永远都在关注格式 /语法而不是代码逻辑
    shawnxwang
        128
    shawnxwang   12 天前
    规范是好事,洁癖不是,谁都是新手起步的,请楼主尊重别人花费的时间和劳动成果
    shawnxwang
        129
    shawnxwang   12 天前
    我现在团队里有一个跟你差不多的人,top performer,但是因为代码洁癖破坏团队氛围,已经快被开了,楼主自己拿捏吧
    sherlockgy
        130
    sherlockgy   11 天前
    @liuky 工具层面拒绝这种代码的合并
    SurfaceView
        131
    SurfaceView   11 天前
    @shawnxwang 赞同开除这种人。
    这种人 自我要求挺好,但是拿自己的标准去强行要求别人,令人作呕
    u0fly
        132
    u0fly   11 天前 via Android
    基本规范,怎么算洁癖呢?不符合要求的人就要换,别听大多数人的,因为大多数人都做不到
    specita
        133
    specita   11 天前
    严于律己,宽于律人, 不然很累的
    gunjianpan
        134
    gunjianpan   11 天前
    我也有代码洁癖 (但一般不太会喷人
    sankooc
        135
    sankooc   11 天前
    我觉得你这个还可以算不上洁癖的程度只是对项目工程水平要求高
    GrayXu
        136
    GrayXu   11 天前 via Android
    好事
    qloog
        137
    qloog   11 天前
    我开发 go,编辑器必装 go fmt,goimports,保存自动格式化
    reus
        138
    reus   11 天前
    批评和发火才是问题,与其代码有洁癖,不如管理上也文明一些,干净一些。
    tikazyq
        139
    tikazyq   11 天前 via iPhone
    这个从流程上规范就可以了,毕竟每个人学习都有个过程
    zooo
        140
    zooo   11 天前
    严于律己,宽于律人

    有的人只是在成长过程中,他会慢慢明白代码规范有多重要,需要引导
    CodeCodeStudy
        141
    CodeCodeStudy   11 天前
    if 自己的代码 || 基础代码 || ( 需求明确 && 时间宽裕 ) {
    就要求严格一点
    } else {
    快速项目完成为主
    }
    goodboy95
        142
    goodboy95   11 天前
    @linvon 一般我都 git add *,毕竟经常出现一个需求改一堆文件的情况
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3557 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:23 · PVG 18:23 · LAX 03:23 · JFK 06:23
    ♥ Do have faith in what you're doing.