V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
StephenDev
V2EX  ›  问与答

大家来聊聊自己/身边的人有哪些不好的开发习惯吧?

  •  
  •   StephenDev · 2018-07-06 09:48:52 +08:00 · 2527 次点击
    这是一个创建于 2331 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要是看了那个<低情商中年程序员>的帖子有感。 希望大家能来说说自己或者是自己身边的人有那些不好的开发习惯。 一起学习,一起改正。 同时也希望大家能够人到中年的时候,不会因为这些不好的习惯,被人挂在网上。 记得之前看过一段话,具体的忘记了,大概意思就是

    开发人员做事靠谱,有好的开发习惯,好的编码习惯,其实是对自己最大的技术投资,因为慢慢的在业内或者在网上,就会树立一个很好的形象。

    当然这句话也不单单是指搞开发的,其他各行各业也是一样的。但是搞开发的有个好处就是,写的代码、注释等等都是可以直接在网上开源的,大家都可以看到,有理有据。 另外,想到之前看到网上流传的雷军当时写的代码,看起来确实像诗一样。

    31 条回复    2018-07-07 20:42:59 +08:00
    bzw875
        1
    bzw875  
       2018-07-06 09:54:18 +08:00
    使用首字母起名,然后过了一段时间连他都不知道这个变量名的什么意思了。queue tasks number box 起名 qtn_box
    ShineSmile
        2
    ShineSmile  
       2018-07-06 10:10:40 +08:00   ❤️ 1
    变量中带类型名算不算?
    现在的 IDE 已经能够通过静态分析完成大部分类型推断的工作了
    加上类型名除了使变量名更长不见得多方便理解

    比如 userList 这种

    最后还是见仁见智吧
    感觉有一些程序员都自诩编码多规范
    从来不从功能和产品的角度思考问题
    盲目追求匠人精神的人不见的是真匠人
    jennifertxwoodma
        3
    jennifertxwoodma  
       2018-07-06 10:20:51 +08:00
    我就说一个,开发时候不正确预估时间,总是预估得太短,导致自己加班还干不完,影响别人的工作。
    StephenDev
        4
    StephenDev  
    OP
       2018-07-06 10:52:56 +08:00   ❤️ 1
    @ShineSmile 这种起变量名的其实还是可以接受的,无非就是变量变长了。有一种「硬」起英文变量名或者说是起那种不常用英文的变量名的。自己过两天看都不知道什么意思的。

    @jennifertxwoodma 这个确实是问题,但是现在不少公司,都是老板说什么时候要就什么时候要,根本轮不到下面的人预估时间。
    StephenDev
        5
    StephenDev  
    OP
       2018-07-06 10:53:46 +08:00
    @bzw875 一般通用的使用这种首字母是没问题的,但是像你说的这种,那就是给自己和别人留坑。
    chenqh
        6
    chenqh  
       2018-07-06 10:57:02 +08:00
    能说一个使用 java 吗,java 的东西感觉和其他语言配合起来好恶心
    mokeyjay
        7
    mokeyjay  
       2018-07-06 11:15:47 +08:00
    @ShineSmile #2 userList 和 user 完全不是一个意思吧,这后缀如果不加怕是理解上要出问题
    ShineSmile
        8
    ShineSmile  
       2018-07-06 11:16:39 +08:00 via Android
    @mokeyjay users
    chenqh
        9
    chenqh  
       2018-07-06 11:24:32 +08:00
    @ShineSmile users 不明显,有时候容易看混,也容易写混
    Creabine
        10
    Creabine  
       2018-07-06 11:28:29 +08:00
    前两天刚被 code review,说个小地方。用 from 当变量名,当时完全没意识到他是关键字。。。
    ShineSmile
        11
    ShineSmile  
       2018-07-06 11:34:47 +08:00
    @chenqh badusers
    ShineSmile
        12
    ShineSmile  
       2018-07-06 11:36:15 +08:00
    @chenqh unpaidCustomers
    ShineSmile
        13
    ShineSmile  
       2018-07-06 11:37:45 +08:00
    @chenqh 再杠下去我就用中文了!
    public 用户 未付款用户;
    StephenDev
        14
    StephenDev  
    OP
       2018-07-06 11:38:24 +08:00
    @chenqh 哈哈哈哈,Java 写 Hello World 之前,先来个几层。:doge
    ShineSmile
        15
    ShineSmile  
       2018-07-06 11:43:58 +08:00 via Android
    另外还有 pythonchallenge 中的平顶山
    为什么叫泡菜?
    zjp
        16
    zjp  
       2018-07-06 11:44:31 +08:00 via Android
    在 IDEA 里创建 user 的 List 会补全变量名为 userList …不过对静态语言确实没什么必要吧,users 就够了
    ShineSmile
        17
    ShineSmile  
       2018-07-06 11:47:21 +08:00 via Android
    还有命名风格也能看出来企业风格吧

    像 C#这种 API 都是按功能命名,所以有板有眼的偏长
    再比如 AWS 中的 Lambda 在历史上可以溯源的,就比较文雅一些
    prolic
        18
    prolic  
       2018-07-06 11:52:57 +08:00
    不写注释
    chenqh
        19
    chenqh  
       2018-07-06 12:16:45 +08:00 via Android
    @StephenDev 我现在的问题是 kafka
    liuguangcuican
        20
    liuguangcuican  
       2018-07-06 13:22:32 +08:00
    注释,文档。我可以容忍你代码写的乱七八糟,但不能容忍你写的乱七八糟还没相应的注释和文档
    notreami
        21
    notreami  
       2018-07-06 13:28:40 +08:00
    前端,扔一坨 18 年最时髦的代码。来吧,维护、维护。各种写法,看不懂、看不懂。。out 了
    loading
        22
    loading  
       2018-07-06 13:34:36 +08:00 via iPhone
    拼音首字母命名,还不给文档
    zynlp
        23
    zynlp  
       2018-07-06 14:13:31 +08:00 via iPhone
    不写文档!!!!!!!!!!

    鬼知道这几百上千行的代码是干什么的,
    大家都很忙的,没时间读好吗?
    动动手指,写个几十字的说明也行啊,
    那至少留个联系方式嘛,
    连找谁都不知道,还要到群里问,
    ruooooooli
        24
    ruooooooli  
       2018-07-06 14:51:13 +08:00
    代码风格乱
    Eugene1024
        25
    Eugene1024  
       2018-07-06 15:36:09 +08:00
    开发不写文档,数据库设计和软件架构设计的都不写,拿到别人的项目后,看着几千张表的数据库,一片茫然
    viator42
        26
    viator42  
       2018-07-06 16:05:33 +08:00
    见识过各种后台的神操作

    喜欢套层,一层一层又一层{data:{data:{data:{...}}}}
    性别字段用 bool 值
    后台接口没有数据的时候不返回任何信息.跟出错了一样
    MrMark
        27
    MrMark  
       2018-07-06 17:54:43 +08:00
    为啥不聊好的,感觉成吐槽大会了
    boris1993
        28
    boris1993  
       2018-07-06 19:40:03 +08:00 via Android
    HashMap map1 这种算吗 😂
    lightening
        29
    lightening  
       2018-07-06 19:45:47 +08:00
    服务器上的命令行操作不记下来。

    代码是用 git 管理的,但是有些服务器上的 build 命令啊、参数啊什么的,手动登录进去执行。执行完了也不记下来,如果是稍微复杂一点的命令,下次或者换个人肯定忘记。

    这些东西和代码一样重要,确完全没有保存下来。我认为维护一个文档是最起码的,但文档可能会忘了更新或写错。

    最好是做到命令即代码,不手动在服务器上执行任何命令,一律用 provisioning 工具并提交到专门的 git 仓库里面去。
    xingstar
        30
    xingstar  
       2018-07-07 11:43:04 +08:00 via Android
    @StephenDev 说的很对啊,明着是商量确定排期,实际上就那几天时间,怎么排期
    mingyun
        31
    mingyun  
       2018-07-07 20:42:59 +08:00
    深层嵌套 if{if{if{}}}
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1115 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:45 · PVG 02:45 · LAX 10:45 · JFK 13:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.