新的代码规范越来越难看了,你们觉得呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
balabalaguguji
V2EX    问与答

新的代码规范越来越难看了,你们觉得呢

  •  
  •   balabalaguguji 2019-10-15 15:31:11 +08:00 3173 次点击
    这是一个创建于 2202 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在很多语言、ide 默认缩进都是两个空格了,看起来密密麻麻的,很难区分哪个对哪个。

    花括号现在普遍都不换行了,不便于区分对齐

    还是喜欢以前那种代码规范。

    最近看了下 flutter,各种动不动就嵌套,动不动就换行,网上找了个别人的项目来看,看到下面这种排版就不想看了。

    QQ 截图 20191015152549.png

    22 条回复    2019-10-29 16:01:51 +08:00
    S4msara
        1
    S4msara  
       2019-10-15 15:35:23 +08:00 via Android
    你是不知道 IDE 可以设置缩进方式和代码格式化吗?
    Raymon111111
        2
    Raymon111111  
       2019-10-15 15:37:02 +08:00
    套这么多层的金字塔代码难读和规范没关系吧
    yxcxx
        3
    yxcxx  
       2019-10-15 15:43:59 +08:00
    你这个代码,要是缩进是 4 格,代码到哪里去了都不知道了。
    balabalaguguji
        4
    balabalaguguji  
    OP
    2019-10-15 15:45:51 +08:00
    @S4msara 我说的是现在默认的规范,IDE 设置代码格式我每次都必须做的,但是默认规范导致很多人都用默认规范了。
    itskingname
        5
    itskingname  
       2019-10-15 15:47:28 +08:00
    我写 Python,缩进不会超过 3 层。从来没有遇到过你的问题。

    缩进太深说明代码需要优化。
    balabalaguguji
        6
    balabalaguguji  
    OP
       2019-10-15 15:49:22 +08:00
    @yxcxx 所以不应该是避免嵌套的方式吗
    murmur
        7
    murmur  
       2019-10-15 15:51:15 +08:00
    flutter 嵌套是语法垃圾,跟语法规范没关系,然而还是有人舔这个语法,你说他他还拿 xml 说事
    balabalaguguji
        8
    balabalaguguji  
    OP
       2019-10-15 15:51:37 +08:00
    @itskingname 你去看下 flutter 的设计,这个是跟语言设计有关的,它连一个居中都要嵌套,非常多嵌套,或者你就要拆分很多小组件出来。
    balabalaguguji
        9
    balabalaguguji  
    OP
       2019-10-15 15:54:09 +08:00
    @murmur 就是现在的代码习惯跟以前的很不一样了,不单单指规范,很多东西都是变得越来越难用的感觉,redux 也是看了一下感觉很难接受,多层次的对象如果要修改里面一个属性的变化,需要一层层进去修改,无敌的设计,个人不喜欢。
    kkkkkrua
        10
    kkkkkrua  
       2019-10-15 15:56:43 +08:00
    这种的,要拆成函数放出来,里面再调用,这个是写这个代码的没注意
    balabalaguguji
        11
    balabalaguguji  
    OP
       2019-10-15 15:57:24 +08:00
    @kkkkkrua 这会导致拆分非常多的函数,实际上还是语言设计不是很好
    kkkkkrua
        12
    kkkkkrua  
       2019-10-15 15:58:11 +08:00
    @balabalaguguji #11 对,flutter 这种嵌套语法是这样
    ayase252
        13
    ayase252  
       2019-10-15 16:05:02 +08:00 via iPhone
    用 VS 的话,indent-rainbow 可以试试
    lllllliu
        14
    lllllliu  
       2019-10-15 16:06:18 +08:00
    flutter 的话要自己封装组件代码才好看。。一条大路走向黑,就看起来很不舒服。
    x86
        15
    x86  
       2019-10-15 16:08:46 +08:00
    换 4 格的话你要换个 29 以上的屏幕看了吧
    balabalaguguji
        16
    balabalaguguji  
    OP
       2019-10-15 16:18:58 +08:00
    @x86 #15 别抬杠,代码可以换行
    balabalaguguji
        17
    balabalaguguji  
    OP
       2019-10-15 16:20:01 +08:00
    @ayase252 #13 没用 VS,好的代码规范,应该是不用借助其他工具也能有很好的阅读性的
    balabalaguguji
        18
    balabalaguguji  
    OP
       2019-10-15 16:21:02 +08:00
    @lllllliu #14 这会导致你封装非常多组件,组件又嵌套组件,阅读性会大大降低。
    lllllliu
        19
    lllllliu  
       2019-10-15 16:30:12 +08:00
    @balabalaguguji 有喜有悲吧,这种 UI 布局用声明式写法我还是觉得蛮舒服的,也有点‘函数式编程‘的味道?~~感觉就像写 css+html 的结合体一样,蛮好理解的。
    baan
        20
    baan  
       2019-10-15 16:51:51 +08:00
    这是没写明白 flutter 才会搞成这样
    doudou1523102
        21
    doudou1523102  
       2019-10-15 18:39:36 +08:00
    flutter 这个很骚的,我同事有个在搞,写的越来越不想 java
    loginbygoogle
        22
    loginbygoogle  
       2019-10-29 16:01:51 +08:00
    转行吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2216 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:01 PVG 00:01 LAX 09:01 JFK 12:01
    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