这套方案:
如果这个组件内,没有其他获取数据的情况,
命名成 getData() {} 可否?
还是需要getNewsList() {}, 哪种方案更好?
在接口文件中,
如何在名字上区分,是否是一个axios请求,有没有区分的必要性?
比如说,
function getData() {
return request({
});
}
这套方案:
如果这个组件内,没有其他获取数据的情况,
命名成 getData() {} 可否?
还是需要getNewsList() {}, 哪种方案更好?
在接口文件中,
如何在名字上区分,是否是一个axios请求,有没有区分的必要性?
比如说,
function getData() {
return request({
});
}
getData()
是个计算属性就更好了。
整个应用都是基于数据来显示,动态修改数据会导致页面变化。
这样也就忽略和异步和同步,异步只不过是数据没回来。
回到题目中,getData 这种命名没啥问题。我觉得还可以,比如说你在 api/news.js
中大概率也能想到你是在拿数据。
getData({id})
、getData(id)
这样也能想到你是查单条。
当然一般我都是和接口搞成一样的名字。
单纯讨论这个问题没什么意义的,和在不在组件内也没关系。其实真的是组件内专用你直接request就行了,还封装函数干什么呢。
对于后端请求怎么命名,原则上还是任何人都能看懂就好。比如用了namespace和不用肯定不一样。
就像王兰花说的,getUserInfo很好,但是用了namespace的话,UserInfo.getById明显更好。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
在一定场景下,比如当前做的就是新闻列表页面,那么这个页面的主体就是新闻 (news),意义不明确的命名都可以往这上面去靠,所以 getData 在新闻页面场景下,一般会被认为是 getNewsList。如果是在某条新闻呈现的页面,getData 通常会被认为是 getNewsDetail/getNewsData。所以,在特定场景下使用一些通用名称是可以的,但于准确的名称相比,由于需要代入场景,理解成本会稍高一点(如果有人纯粹看代码细节不看整体,就有可能会搞不明白这些通用名称是啥)。
此外,关于 getData,我还有一点小建议。在英文中 get 和 fetch 都有获取的意思,但是 fetch 还有“去 ... 拿来”的意思在里面,所以去后端拿数据用 fetch 或 require(请求)更准确一些。当然 get 也是可以用的,意思并没有太大的差异,不过 get 可以规划来用于本地数据的获取,比如说拿到列表之后,需要从中取出其中某一项,就可以用 get(i) —— 不过注意,如果是按一定条件获取,那就不是 get 了,因为含有搜索的意思在里面,应该用 find ……
综上,具体取什么名字合适,
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
正常应该不做区分,只会以获取数据类型命名函数,比如获取的是用户信息,那我会命名为getUserInfo,getData这种就太笼统了