V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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 · 2020-06-30 22:58:46 +08:00 · 12388 次点击
    这是一个创建于 1608 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    第 1 条附言  ·  2020-07-01 11:18:52 +08:00
    补充一下

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

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

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

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

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

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

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

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

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

    代码规范就好。

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

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

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

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

    有的人只是在成长过程中,他会慢慢明白代码规范有多重要,需要引导
    CodeCodeStudy
        141
    CodeCodeStudy  
       2020-07-02 21:20:25 +08:00
    if 自己的代码 || 基础代码 || ( 需求明确 && 时间宽裕 ) {
    就要求严格一点
    } else {
    快速项目完成为主
    }
    goodboy95
        142
    goodboy95  
       2020-07-03 12:07:43 +08:00
    @linvon 一般我都 git add *,毕竟经常出现一个需求改一堆文件的情况
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:06 · PVG 03:06 · LAX 11:06 · JFK 14:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.