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

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

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

    现在很多语言、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   ·   实用小工具   ·   2828 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:24 · PVG 14:24 · LAX 23:24 · JFK 02:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.