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

2024-06-03 11:33:11 +08:00
 zhengfan2016
如题,我自己的页面,被注释的是我习惯的写法。

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

imgur.com/a/vFaFJBu
2510 次点击
所在节点    职场话题
17 条回复
wusheng0
2024-06-03 11:40:16 +08:00
看团队有没有规范吧,没有的话可以做个共识。
不需要共识就按自己喜好,不用顺着谁。
bfdh
2024-06-03 11:49:24 +08:00
写新代码,按自己风格;
改旧代码,按原有风格。
murmur
2024-06-03 11:58:17 +08:00
你们的 axios 不封装的么,第一层 data 还需要开发者自己取啊
X0V0X
2024-06-03 12:02:11 +08:00
好原始的写法
iugo
2024-06-03 12:15:46 +08:00
如果是 React, state 储存对象还是基本数据类型要看具体场景需要. 从代码中看, 如果只用到了 url, 没必要将整个 data 作为 state.

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

不过我更建议先将 API 从页面中剥离.
zhengfan2016
2024-06-03 12:53:06 +08:00
@murmur 有封装的 appaxios ,主要第一层里除了 data 还有 code 等其他数据,有时会用到
zhengfan2016
2024-06-03 12:56:26 +08:00
@X0V0X 其实是有 hook 的,用 react-use ,ahook 之类代码量少很多,但感觉队友更喜欢用 useState 和 useEffect
Xu3Xan89YsA7oP64
2024-06-03 12:59:28 +08:00
不就是有没有用库 hook 的区别吗
你想让别人跟你用相同的库方法,那你就有义务去给人家做好上手指引,例如一份规范之类的、或者你在 code review 中不厌其烦地给对方提供链接和说明。否则就是怎么原始怎么来,毕竟最原始的人人都能看懂
lyxxxh2
2024-06-03 15:23:21 +08:00
我以为是(async await) vs then..
和队友商量呗,不可能商量都商量不了吧。
说服不了,你也可以让下,总比两种风格好。
xiaoming1992
2024-06-03 15:53:55 +08:00
用 swr ,别用 setState
dumbass
2024-06-03 17:43:59 +08:00
提个不相关的建议,可以 .finally(() => { setLoading(false) }) 避免写两遍
dumbass
2024-06-03 17:46:54 +08:00
szdubinbin
2024-06-03 17:47:24 +08:00
风不风格另说,data.data.xxx 记得可选链兜底
zhengfan2016
2024-06-03 18:33:59 +08:00
@bojackhorseman @xiaoming1992 这个之前和项目老大讨论过了,老大的意思是引入会增加复杂度。不用 swr ,react-query 这些库。我目前的办法是去 swr 源码借鉴了点代码,自己做了个简单的有 cache 功能的低仿 swr 的 hook 。
ccraohng
2024-06-04 09:21:20 +08:00
挺答辩的
weixind
2024-06-04 10:36:19 +08:00
@zhengfan2016 你们项目老大思路有点问题。明显是要使用社区解决方法。尽量少用自己写的内容。自己写复杂度才会更高。社区起码代码质量、文档质量要比团队内部写要好很多。
ivvei
2024-06-04 18:36:34 +08:00
各写各的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1046307

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX