最近看到一个国产项目,里面对于「路由」的命名那叫一个混乱,除了 useRoute 和 useRouter 几乎看不见正确的命名。
想问问大家这是否是某种普遍现象
1
eason1874 2022-05-21 04:14:04 +08:00 2
我避免使用这种只差一两个字母的组合,看得眼累,其中一个换别的词,比如 router 不配 routes ,配 routing rules
|
2
AlexPUBLIC 2022-05-21 05:33:07 +08:00
我看过这样的:yonghumima
|
3
vchroc 2022-05-21 05:44:02 +08:00 via iPhone
为了避免翻译准确性问题,可以不翻译,直接用汉字命名
|
4
Quarter 2022-05-21 05:51:25 +08:00 via iPhone 3
router 是路由器,route 是路由,当前路由
|
5
baobao1270 2022-05-21 05:52:26 +08:00
这不是编程问题,这是英语问题。
|
6
geekdada 2022-05-21 06:01:04 +08:00
a router routes routes
😂 |
7
dangyuluo 2022-05-21 06:02:09 +08:00
router 是用来给木头削圆角的
|
8
dangyuluo 2022-05-21 06:02:37 +08:00
|
9
vision1900 2022-05-21 07:42:47 +08:00
绕特尔 VS 入特
|
10
jaredyam 2022-05-21 08:34:07 +08:00 3
我见过这样的:logo -> lougou
|
11
NewYear 2022-05-21 08:45:47 +08:00
|
12
GeruzoniAnsasu OP @vchroc
@vision1900 @jaredyam @baobao1270 其实我正是想知道写出这样代码的人是单纯的英语不好还是概念搞不清楚。 如果说「虽然名词区分不清但概念还是清楚的」那忍忍也就过去了 但如果写代码的时候分不清 「增加一条路由条目」 「跳转到新路由」 用到的是什么东西 那就没法忍了 比如我就看到里面写着 router.push({...}) 但 router 其实是个 route array 然后他又没写 routers 复数写的是 router 就不禁让我怀疑他是否搞得清自己在修改路由器还是路由表。 所以我想问问大家从概念上也好从单词上也好,分不清的是不是普遍现象 |
13
dream4ever 2022-05-21 09:03:33 +08:00 via iPhone
我就是分不清这俩单词概念的那个,哈哈
|
14
wangxiang 2022-05-21 09:04:12 +08:00
vue 中的$route 与$router 也搞不清
|
15
unclemcz 2022-05-21 09:09:37 +08:00 via Android
除了约定俗成的命名外,我一直以来坚持的比较奇葩的变量命名方式是用拼音,为了好识别,不同字拼音之间用下划线。
又不搞国际化,用英语做变量名没意义,而且还容易搞不对。 |
16
CrispElite 2022-05-21 09:19:11 +08:00
哈哈 😄 是普遍现象。 咱们“大前端”关注的是“赋能”“价值”,route 还是 router 能提高“大前端”的“天花板”了吗🐶。
|
17
fiepi 2022-05-21 09:34:39 +08:00 via Android
名词和动词的区别
|
18
Archeb 2022-05-21 09:45:11 +08:00
能,因为不仅写前端还配网😂
|
19
dcsuibian 2022-05-21 10:41:38 +08:00
router===路由器。
我自己是相当分得清的,不过看起来确实有不少人分不清。把 route 的集合 routes 写成 router |
20
ToyotaLee 2022-05-21 11:05:10 +08:00
分不清,影响我写堆屎吗
|
21
David1119 2022-05-21 11:15:34 +08:00 2
@unclemcz #15 好家伙,你用拼音让别人怎么维护?一个变量要拼半天还要猜具体是干啥的
接手一个脚本,里面全是 stop_dianji ,start_saomiao ,deal_one_dianji ,deal_two_dianji 诸如此类各种杂牌单词+拼音,驼峰、下划线、缩写、拼音混用,简直要骂人 1 万次。以前遇到这种帖子也就是围观一下,自己遇上了才发现简直是噩梦! |
22
GeruzoniAnsasu OP @David1119
192 typo 看笑了,建议下回截图想办法把行号也带上 |
23
unclemcz 2022-05-21 11:35:25 +08:00 via Android
@David1119 #21 英文不行还要查字典强上的、英文和拼音混杂的当然看着头疼,但全部拼音没这个问题。
|
24
daolanfler 2022-05-21 12:32:15 +08:00
A router can direct you to any route of the application. 举个栗子
|
25
hhhanako 2022-05-21 12:35:33 +08:00
可以理解成,route 是邮局,router 是邮递员
|
26
pmispig 2022-05-21 15:44:08 +08:00 2
21 世纪了,我觉得可以尝试中文变量名了
|
29
digimoon 2022-05-21 19:35:09 +08:00
当然是用中文变量
|
30
likunyan 2022-05-21 19:49:34 +08:00
$路由 = []; 不香吗?
|
31
Vegetable 2022-05-21 20:23:25 +08:00
router.getCurrentRoute 这种 API 还不足以说明这两个单词的区别吗
|
32
dfkjgklfdjg 2022-05-21 20:48:04 +08:00
路由和路由器,我觉得挺好分的啊....
不过确实刚刚开始搞 Vue 的时候,经常把 $router 和 $route 用混。 |
33
idrawer 2022-05-21 21:23:14 +08:00
@unclemcz ke shi ying wen dan ci da bu fen ren dou neng hen kuai li jie yi ge ci de yi si, pin yin bian liang ming duo le ni yao yi ge yi ge nian chu lai qu ling hui dou shi xie shen me ci ma?
|
34
maplezzz 2022-05-21 21:28:17 +08:00
按照 Angular 里的 Module 名称,router 就是 Router ,route 拼写全是 ActivatedRoute ,import 的时候就很容易分清了
|
35
dengshen 2022-05-21 21:50:33 +08:00 via iPhone
router 是实例 route 是一项路径信息 routers 是 route 的集合。 楼主说的命名问题无解 这是人的问题不是代码的问题。
|
37
micean 2022-05-21 23:21:14 +08:00 via Android
如果我来设计压根就不会有 useRoute ,router.getCurrentRoute 不好吗?
|
39
AllenHua 2022-05-22 10:09:04 +08:00 via iPhone
拜托了这初中英语咋学的,基础词性和词义都搞不清吗,要是有心的话,不确定用 route 还是 router 之前不 google 查一下?当然了,对自己代码没有要求的人除外。
|
40
AllenHua 2022-05-22 10:13:09 +08:00
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.
|
42
yrj 2022-05-23 02:56:39 +08:00
我针对这个问题,特地的学习了一下
|
44
gitdoit 2022-05-23 09:26:48 +08:00
歪个楼,我觉得像是政府类的项目,有些变量实在没法英文命名的 ,是不是直接用中文比较好? 除了兼容性问题,应该没啥缺点了吧
|
45
qrobot 2022-05-23 10:23:42 +08:00
@GeruzoniAnsasu #12
没必要纠结这些, 叫 router 还是叫 route 哪怕是叫 a 有能怎么样? 代码是给机器执行的, 不是给人去执行的。 只要你自己能看懂,能理解, 叫什么其实并不重要, 注意这样的形式还不如把 这一块的代码多写几个测试用例。 passwd, rm 等等.... 这种缩写到专业词汇的例子多得是, 甚至在因为前期拼写打错,导致后面一直这样错下去的例子也很多。 但是只要功能完善, 代码运行正常。 性能高效。 可维护性高, 去纠结这些词汇其实意义不大 @AllenHua #39L 请问 passwd 这个单词是什么意思? 难道作者不知道 password 单词怎么打的吗? 拜托了这初中英语咋学的,基础词性和词义都搞不清吗,要是有心的话,password 单词之前不 google 查一下?当然了,对自己代码没有要求的人除外。 |
47
AllenHua 2022-05-23 10:42:49 +08:00
@qrobot #45 拿 passwd 这种命令举例是什么意思?这种有历史渊源可追溯的。其他的多着呢,
- chattr - chgrp - chmod - chown - cksum - diff - env - getconf - lsblk - lsmod …… 软件包的名称也一样,log4j 、dom4j…… 我的意思是程序员写代码应该弄清楚词性和词义,比如 OP 举的 router 和 route ,route 既可以作名词也可以作动词,但是当作名词来讲 router 和 route 含义是不同的。弄清楚词性和词义,基本上就清楚了。不知道你举的例子是什么意思。 |
48
GeruzoniAnsasu OP @qrobot 我好奇的正是「只要你自己能看懂能理解」←这些个人到底能不能看懂能不能理解。
而就这楼的情况来看,存在混乱并不完全理解自己需要什么的人的比例比我原以为的要高得多。 多 r 少 r 当然说明不了什么 问题是你真的只是打错字么? 你猜我给的代码里,后面他写「 router.push 」的时候能不能分得清 - 往路由表里增加一个条目 or - https://router.vuejs.org/zh/api/#push ? |
49
secondwtq 2022-05-23 12:11:04 +08:00
这不是最可怕的,最可怕的是明明写着 route 结果读成了 router ...
|
50
296727 2022-05-23 16:19:17 +08:00
Vue 里的$route 和 $router 就是最好的解释啊
|
51
lblblong 2022-05-23 16:51:35 +08:00
最近刚好撸了一个路由库,支持 Vue 和 React ,大家给看看点个小星星吧: https://oh-router.netlify.app/zh/guide
英文文档是谷歌翻译搞得,我英语很差,在努力学了,勿喷 |