什么是正确的 Coding Style? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ninechapter
V2EX    推广

什么是正确的 Coding Style?

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

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

    例一:中英夹杂

    某天老板让 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     Solana     5012 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 08:52 PVG 16:52 LAX 00:52 JFK 03:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86