V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhengfan2016
V2EX  ›  职场话题

和队友代码风格有差异,顺着队友的风格写还是?

  •  
  •   zhengfan2016 · 192 天前 via Android · 2169 次点击
    这是一个创建于 192 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,我自己的页面,被注释的是我习惯的写法。

    感觉我的写法偏向解构流(只 set 接口返回的 data ,剩下的解构出来用),它的写法偏向 setState 流(url ,image 什么都要 set)😂😂

    imgur.com/a/vFaFJBu
    17 条回复    2024-06-04 18:36:34 +08:00
    wusheng0
        1
    wusheng0  
       192 天前
    看团队有没有规范吧,没有的话可以做个共识。
    不需要共识就按自己喜好,不用顺着谁。
    bfdh
        2
    bfdh  
       192 天前
    写新代码,按自己风格;
    改旧代码,按原有风格。
    murmur
        3
    murmur  
       192 天前
    你们的 axios 不封装的么,第一层 data 还需要开发者自己取啊
    X0V0X
        4
    X0V0X  
       192 天前 via Android
    好原始的写法
    iugo
        5
    iugo  
       192 天前
    如果是 React, state 储存对象还是基本数据类型要看具体场景需要. 从代码中看, 如果只用到了 url, 没必要将整个 data 作为 state.

    如果 state 储存对象, 需要遵循 immutable 避免.

    不过我更建议先将 API 从页面中剥离.
    zhengfan2016
        6
    zhengfan2016  
    OP
       192 天前 via Android
    @murmur 有封装的 appaxios ,主要第一层里除了 data 还有 code 等其他数据,有时会用到
    zhengfan2016
        7
    zhengfan2016  
    OP
       192 天前 via Android
    @X0V0X 其实是有 hook 的,用 react-use ,ahook 之类代码量少很多,但感觉队友更喜欢用 useState 和 useEffect
    Xu3Xan89YsA7oP64
        8
    Xu3Xan89YsA7oP64  
       192 天前
    不就是有没有用库 hook 的区别吗
    你想让别人跟你用相同的库方法,那你就有义务去给人家做好上手指引,例如一份规范之类的、或者你在 code review 中不厌其烦地给对方提供链接和说明。否则就是怎么原始怎么来,毕竟最原始的人人都能看懂
    lyxxxh2
        9
    lyxxxh2  
       192 天前
    我以为是(async await) vs then..
    和队友商量呗,不可能商量都商量不了吧。
    说服不了,你也可以让下,总比两种风格好。
    xiaoming1992
        10
    xiaoming1992  
       192 天前 via Android
    用 swr ,别用 setState
    bojackhorseman
        11
    bojackhorseman  
       191 天前
    提个不相关的建议,可以 .finally(() => { setLoading(false) }) 避免写两遍
    bojackhorseman
        12
    bojackhorseman  
       191 天前
    szdubinbin
        13
    szdubinbin  
       191 天前
    风不风格另说,data.data.xxx 记得可选链兜底
    zhengfan2016
        14
    zhengfan2016  
    OP
       191 天前 via Android
    @bojackhorseman @xiaoming1992 这个之前和项目老大讨论过了,老大的意思是引入会增加复杂度。不用 swr ,react-query 这些库。我目前的办法是去 swr 源码借鉴了点代码,自己做了个简单的有 cache 功能的低仿 swr 的 hook 。
    ccraohng
        15
    ccraohng  
       191 天前
    挺答辩的
    weixind
        16
    weixind  
       191 天前
    @zhengfan2016 你们项目老大思路有点问题。明显是要使用社区解决方法。尽量少用自己写的内容。自己写复杂度才会更高。社区起码代码质量、文档质量要比团队内部写要好很多。
    ivvei
        17
    ivvei  
       190 天前
    各写各的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4787 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:27 · PVG 17:27 · LAX 01:27 · JFK 04:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.