V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ninechapter
V2EX  ›  推广

什么是正确的 Coding Style?

  •  
  •   ninechapter · 2016-04-28 03:47:05 +08:00 · 3988 次点击
    这是一个创建于 3157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道你是不是也在工作中,看到一些操蛋的代码。

    例一:中英夹杂

    某天老板让 A 君实现给一个做算命行业客户的网站,由于易经里面有 5 行,于是 A 君变写了下面一段代码:

    enum FiveLine{
      Jin,
      Wood,
      Water,
      Huo,
      Earth,};
    

    请问里面的 Jin 和 Huo 是什么鬼?就不能好好用英文么?

    例二:各种费代码

    某天 D 君在办公室里面 debug 发现下面一段代码。

    if (a == true) {
      return true;} else if (a == false) {
      return false;}
    

    请问前一个工程师就不能好好写代码么?/(ㄒoㄒ)/~~ 下面一句话就可以搞定的,而且 a 是什么鬼,难道就不能好好定义一下变量么?万年之后谁知道变量 a 代表的什么意思 return a;

    例三:注释多余

    public enum ColorType
    {
      Green, 
    // 绿色
      Red, 
    // 红色
    }
    

    像这种代码,大家都非常直接的变量就已经说明了他的意思的,其实不需要注释。

    例四:无用的条件判断

    当某天 B 君浏览代码的时候,发现下面一个判断屹立在代码库里面。 B 君当时就想说一句,这段断码是几个意思。为了站位用么?还是为了增加代码量,让人哭笑不得😢

    if(false)
    {    xxxxx}
    

    例五:命名不清不楚

    某天 c 君加入新公司,熟悉公司的文档,看看公司的数据库架构,然后看到了公司的数据库命名,第二题 c 君便离职 了。。。他看到下面一段数据命名,不是你看了后会什么感觉。 数据库表的命名是

    Table0 , Table1 , Table2......Table3000

    那么平时,我们注意怎么样的代码风格呢?

    个人觉得,对于 Coding Style ,可以参考 Google 官方发布的代码风格指南: http://t.cn/zYyr2gd

    你在工作中遇到哪些操蛋的代码呢?欢迎吐槽!

    13 条回复    2016-05-05 12:39:05 +08:00
    ninechapter
        1
    ninechapter  
    OP
       2016-04-28 03:49:30 +08:00
    下周三,我们将举办一场免费在线讲座,邀请拥有多年面试官经验的北美 IT 企业工程师,详细讲解 Coding Style.
    时间:北京时间 5 月 5 日早上 10 点
    报名网址: http://www.jiuzhang.com/seminar/?source=v2ex
    pimin
        2
    pimin  
       2016-04-28 04:03:38 +08:00 via Android
    麻烦发到推广节点
    lsmgeb89
        3
    lsmgeb89  
       2016-04-28 04:31:37 +08:00
    能注意编程风格的团队都不至于招这种水平的人进去……
    ivanlw
        4
    ivanlw  
       2016-04-28 05:11:01 +08:00
    为什么没有 Java 的翻译? https://google.github.io/styleguide/javaguide.html
    oglop
        5
    oglop  
       2016-04-28 06:57:43 +08:00 via Android
    例五 穆迪 也是这样的啊 又不影响他们赚钱
    zixu
        6
    zixu  
       2016-04-28 07:16:10 +08:00
    例 2 没有说语言环境,如果是在 js 中直接 return 和判断后 return 是不一样的,代码是 if(){return}else if{return},而不是 else{return},如果在 js 中用可能别有用意也说不定。比如 js 中: var a='abc'; a == true;这个结果是 false ,但是直接 return 之后使用 if('abc')是 true ,并且两者的类型也不一样。
    workwonder
        7
    workwonder  
       2016-04-28 07:42:47 +08:00 via Android
    错别字太多了
    4641585
        8
    4641585  
       2016-04-28 08:38:09 +08:00 via iPhone
    拉到最后发现竟然没推广链接,再往下看竟然在回复区
    mdzz.png
    aivier
        9
    aivier  
       2016-04-28 08:56:57 +08:00 via Android
    @zixu JS 没有 enum ,在 function 外面返回都是同一个反应
    yoa1q7y
        10
    yoa1q7y  
       2016-04-28 09:51:36 +08:00
    又是套路
    codeartisan
        11
    codeartisan  
       2016-04-28 10:18:10 +08:00
    好牛逼的代码
    g0thic
        12
    g0thic  
       2016-05-05 09:06:09 +08:00
    少一点套路,多一点真诚
    novaeye
        13
    novaeye  
       2016-05-05 12:39:05 +08:00
    FiveLine 其实应该是 FiveElements
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1435 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 108ms · UTC 17:18 · PVG 01:18 · LAX 09:18 · JFK 12:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.