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

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

  •  1
     
  •   GeruzoniAnsasu · 38 天前 · 6089 次点击
    这是一个创建于 38 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    😂
    dangyuluo
        7
    dangyuluo  
       38 天前
    router 是用来给木头削圆角的
    vision1900
        9
    vision1900  
       38 天前
    绕特尔 VS 入特
    jaredyam
        10
    jaredyam  
       38 天前   ❤️ 3
    我见过这样的:logo -> lougou
    NewYear
        11
    NewYear  
       38 天前
    @AlexPUBLIC
    @jaredyam

    没有加上第几声的音符,差评。
    GeruzoniAnsasu
        12
    GeruzoniAnsasu  
    OP
       38 天前
    @vchroc
    @vision1900
    @jaredyam
    @baobao1270

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

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

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

    那就没法忍了



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


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





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

    变量使用意思
    这地方的意思不够意思。
    你给意思意思
    小意思
    DOLLOR
        28
    DOLLOR  
       37 天前
    @eason1874

    那应该避免使用复数,而是用 routing rule list
    digimoon
        29
    digimoon  
       37 天前
    当然是用中文变量
    likunyan
        30
    likunyan  
       37 天前
    $路由 = []; 不香吗?
    Vegetable
        31
    Vegetable  
       37 天前
    router.getCurrentRoute 这种 API 还不足以说明这两个单词的区别吗
    dfkjgklfdjg
        32
    dfkjgklfdjg  
       37 天前
    路由和路由器,我觉得挺好分的啊....

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

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

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

    @AllenHua #39L

    请问 passwd 这个单词是什么意思? 难道作者不知道 password 单词怎么打的吗? 拜托了这初中英语咋学的,基础词性和词义都搞不清吗,要是有心的话,password 单词之前不 google 查一下?当然了,对自己代码没有要求的人除外。
    qrobot
        46
    qrobot  
       36 天前
    @qrobot passwd 这个命令是在 贝尔实验室中开发的命令
    AllenHua
        47
    AllenHua  
       36 天前
    @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
       36 天前
    @qrobot 我好奇的正是「只要你自己能看懂能理解」←这些个人到底能不能看懂能不能理解。

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



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

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

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

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

    英文文档是谷歌翻译搞得,我英语很差,在努力学了,勿喷
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4126 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:46 · PVG 13:46 · LAX 22:46 · JFK 01:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.