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

208 天前
 zhengfan2016
如题,我自己的页面,被注释的是我习惯的写法。

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

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

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

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

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

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

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

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

© 2021 V2EX