V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GeruzoniAnsasu
V2EX  ›  程序员

请问前端选手们,你们分得清 "router" 和 "route" 吗?

  •  1
     
  •   GeruzoniAnsasu · 2022-05-21 03:48:42 +08:00 · 7319 次点击
    这是一个创建于 677 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近看到一个国产项目,里面对于「路由」的命名那叫一个混乱,除了 useRoute 和 useRouter 几乎看不见正确的命名。

    想问问大家这是否是某种普遍现象

    • route: 路由表中的条目,「路径」。
    • router: 路由器,根据条件转向 routes 的分派器。

    51 条回复    2022-05-23 16:51:35 +08:00
    eason1874
        1
    eason1874  
       2022-05-21 04:14:04 +08:00   ❤️ 2
    我避免使用这种只差一两个字母的组合,看得眼累,其中一个换别的词,比如 router 不配 routes ,配 routing rules
    AlexPUBLIC
        2
    AlexPUBLIC  
       2022-05-21 05:33:07 +08:00
    我看过这样的:yonghumima
    vchroc
        3
    vchroc  
       2022-05-21 05:44:02 +08:00 via iPhone
    为了避免翻译准确性问题,可以不翻译,直接用汉字命名
    Quarter
        4
    Quarter  
       2022-05-21 05:51:25 +08:00 via iPhone   ❤️ 3
    router 是路由器,route 是路由,当前路由
    baobao1270
        5
    baobao1270  
       2022-05-21 05:52:26 +08:00
    这不是编程问题,这是英语问题。
    geekdada
        6
    geekdada  
       2022-05-21 06:01:04 +08:00
    a router routes routes

    😂
    dangyuluo
        7
    dangyuluo  
       2022-05-21 06:02:09 +08:00
    router 是用来给木头削圆角的
    vision1900
        9
    vision1900  
       2022-05-21 07:42:47 +08:00
    绕特尔 VS 入特
    jaredyam
        10
    jaredyam  
       2022-05-21 08:34:07 +08:00   ❤️ 3
    我见过这样的:logo -> lougou
    NewYear
        11
    NewYear  
       2022-05-21 08:45:47 +08:00
    @AlexPUBLIC
    @jaredyam

    没有加上第几声的音符,差评。
    GeruzoniAnsasu
        12
    GeruzoniAnsasu  
    OP
       2022-05-21 08:56:23 +08:00
    @vchroc
    @vision1900
    @jaredyam
    @baobao1270

    其实我正是想知道写出这样代码的人是单纯的英语不好还是概念搞不清楚。

    如果说「虽然名词区分不清但概念还是清楚的」那忍忍也就过去了

    但如果写代码的时候分不清
    「增加一条路由条目」
    「跳转到新路由」
    用到的是什么东西

    那就没法忍了



    比如我就看到里面写着
    router.push({...})
    但 router 其实是个 route array
    然后他又没写 routers 复数写的是 router


    就不禁让我怀疑他是否搞得清自己在修改路由器还是路由表。





    所以我想问问大家从概念上也好从单词上也好,分不清的是不是普遍现象
    dream4ever
        13
    dream4ever  
       2022-05-21 09:03:33 +08:00 via iPhone
    我就是分不清这俩单词概念的那个,哈哈
    wangxiang
        14
    wangxiang  
       2022-05-21 09:04:12 +08:00
    vue 中的$route 与$router 也搞不清
    unclemcz
        15
    unclemcz  
       2022-05-21 09:09:37 +08:00 via Android
    除了约定俗成的命名外,我一直以来坚持的比较奇葩的变量命名方式是用拼音,为了好识别,不同字拼音之间用下划线。
    又不搞国际化,用英语做变量名没意义,而且还容易搞不对。
    CrispElite
        16
    CrispElite  
       2022-05-21 09:19:11 +08:00
    哈哈 😄 是普遍现象。 咱们“大前端”关注的是“赋能”“价值”,route 还是 router 能提高“大前端”的“天花板”了吗🐶。
    fiepi
        17
    fiepi  
       2022-05-21 09:34:39 +08:00 via Android
    名词和动词的区别
    Archeb
        18
    Archeb  
       2022-05-21 09:45:11 +08:00
    能,因为不仅写前端还配网😂
    dcsuibian
        19
    dcsuibian  
       2022-05-21 10:41:38 +08:00
    router===路由器。
    我自己是相当分得清的,不过看起来确实有不少人分不清。把 route 的集合 routes 写成 router
    ToyotaLee
        20
    ToyotaLee  
       2022-05-21 11:05:10 +08:00
    分不清,影响我写堆屎吗
    David1119
        21
    David1119  
       2022-05-21 11:15:34 +08:00   ❤️ 2
    @unclemcz #15 好家伙,你用拼音让别人怎么维护?一个变量要拼半天还要猜具体是干啥的
    接手一个脚本,里面全是 stop_dianji ,start_saomiao ,deal_one_dianji ,deal_two_dianji 诸如此类各种杂牌单词+拼音,驼峰、下划线、缩写、拼音混用,简直要骂人 1 万次。以前遇到这种帖子也就是围观一下,自己遇上了才发现简直是噩梦!
    GeruzoniAnsasu
        22
    GeruzoniAnsasu  
    OP
       2022-05-21 11:25:21 +08:00
    @David1119
    192 typo 看笑了,建议下回截图想办法把行号也带上
    unclemcz
        23
    unclemcz  
       2022-05-21 11:35:25 +08:00 via Android
    @David1119 #21 英文不行还要查字典强上的、英文和拼音混杂的当然看着头疼,但全部拼音没这个问题。
    daolanfler
        24
    daolanfler  
       2022-05-21 12:32:15 +08:00
    A router can direct you to any route of the application.   举个栗子
    hhhanako
        25
    hhhanako  
       2022-05-21 12:35:33 +08:00
    可以理解成,route 是邮局,router 是邮递员
    pmispig
        26
    pmispig  
       2022-05-21 15:44:08 +08:00   ❤️ 2
    21 世纪了,我觉得可以尝试中文变量名了
    jousca
        27
    jousca  
       2022-05-21 17:24:16 +08:00
    @pmispig

    变量使用意思
    这地方的意思不够意思。
    你给意思意思
    小意思
    DOLLOR
        28
    DOLLOR  
       2022-05-21 18:31:45 +08:00
    @eason1874

    那应该避免使用复数,而是用 routing rule list
    digimoon
        29
    digimoon  
       2022-05-21 19:35:09 +08:00
    当然是用中文变量
    likunyan
        30
    likunyan  
       2022-05-21 19:49:34 +08:00
    $路由 = []; 不香吗?
    Vegetable
        31
    Vegetable  
       2022-05-21 20:23:25 +08:00
    router.getCurrentRoute 这种 API 还不足以说明这两个单词的区别吗
    dfkjgklfdjg
        32
    dfkjgklfdjg  
       2022-05-21 20:48:04 +08:00
    路由和路由器,我觉得挺好分的啊....

    不过确实刚刚开始搞 Vue 的时候,经常把 $router 和 $route 用混。
    idrawer
        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?
    maplezzz
        34
    maplezzz  
       2022-05-21 21:28:17 +08:00
    按照 Angular 里的 Module 名称,router 就是 Router ,route 拼写全是 ActivatedRoute ,import 的时候就很容易分清了
    dengshen
        35
    dengshen  
       2022-05-21 21:50:33 +08:00 via iPhone
    router 是实例 route 是一项路径信息 routers 是 route 的集合。 楼主说的命名问题无解 这是人的问题不是代码的问题。
    dengshen
        36
    dengshen  
       2022-05-21 21:51:30 +08:00 via iPhone
    @dengshen routers->routes
    micean
        37
    micean  
       2022-05-21 23:21:14 +08:00 via Android
    如果我来设计压根就不会有 useRoute ,router.getCurrentRoute 不好吗?
    ghostcode
        38
    ghostcode  
       2022-05-22 09:29:47 +08:00
    @wangxiang #14 vue 这两个也是一度分不清。。。
    AllenHua
        39
    AllenHua  
       2022-05-22 10:09:04 +08:00 via iPhone
    拜托了这初中英语咋学的,基础词性和词义都搞不清吗,要是有心的话,不确定用 route 还是 router 之前不 google 查一下?当然了,对自己代码没有要求的人除外。
    AllenHua
        40
    AllenHua  
       2022-05-22 10:13:09 +08:00
    Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.
    Aloento
        41
    Aloento  
       2022-05-23 02:55:36 +08:00
    @dangyuluo 还是你比较秀
    yrj
        42
    yrj  
       2022-05-23 02:56:39 +08:00
    我针对这个问题,特地的学习了一下
    krixaar
        43
    krixaar  
       2022-05-23 08:48:25 +08:00
    @dengshen #36 你直接证明了为什么不要用这两个单词去命名变量,因为非常容易敲错……
    gitdoit
        44
    gitdoit  
       2022-05-23 09:26:48 +08:00
    歪个楼,我觉得像是政府类的项目,有些变量实在没法英文命名的 ,是不是直接用中文比较好? 除了兼容性问题,应该没啥缺点了吧
    qrobot
        45
    qrobot  
       2022-05-23 10:23:42 +08:00
    @GeruzoniAnsasu #12

    没必要纠结这些, 叫 router 还是叫 route 哪怕是叫 a 有能怎么样? 代码是给机器执行的, 不是给人去执行的。 只要你自己能看懂,能理解, 叫什么其实并不重要, 注意这样的形式还不如把 这一块的代码多写几个测试用例。

    passwd, rm 等等.... 这种缩写到专业词汇的例子多得是, 甚至在因为前期拼写打错,导致后面一直这样错下去的例子也很多。 但是只要功能完善, 代码运行正常。 性能高效。 可维护性高, 去纠结这些词汇其实意义不大

    @AllenHua #39L

    请问 passwd 这个单词是什么意思? 难道作者不知道 password 单词怎么打的吗? 拜托了这初中英语咋学的,基础词性和词义都搞不清吗,要是有心的话,password 单词之前不 google 查一下?当然了,对自己代码没有要求的人除外。
    qrobot
        46
    qrobot  
       2022-05-23 10:26:16 +08:00
    @qrobot passwd 这个命令是在 贝尔实验室中开发的命令
    AllenHua
        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 含义是不同的。弄清楚词性和词义,基本上就清楚了。不知道你举的例子是什么意思。
    GeruzoniAnsasu
        48
    GeruzoniAnsasu  
    OP
       2022-05-23 11:05:09 +08:00
    @qrobot 我好奇的正是「只要你自己能看懂能理解」←这些个人到底能不能看懂能不能理解。

    而就这楼的情况来看,存在混乱并不完全理解自己需要什么的人的比例比我原以为的要高得多。



    多 r 少 r 当然说明不了什么
    问题是你真的只是打错字么?

    你猜我给的代码里,后面他写「 router.push 」的时候能不能分得清

    - 往路由表里增加一个条目 or
    - https://router.vuejs.org/zh/api/#push

    ?
    secondwtq
        49
    secondwtq  
       2022-05-23 12:11:04 +08:00
    这不是最可怕的,最可怕的是明明写着 route 结果读成了 router ...
    296727
        50
    296727  
       2022-05-23 16:19:17 +08:00
    Vue 里的$route 和 $router 就是最好的解释啊
    lblblong
        51
    lblblong  
       2022-05-23 16:51:35 +08:00
    最近刚好撸了一个路由库,支持 Vue 和 React ,大家给看看点个小星星吧: https://oh-router.netlify.app/zh/guide

    英文文档是谷歌翻译搞得,我英语很差,在努力学了,勿喷
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1007 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 19:29 · PVG 03:29 · LAX 12:29 · JFK 15:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.