程序中文件夹或文件命名不加复数 s,会显得 low 吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cokar
V2EX    编程

程序中文件夹或文件命名不加复数 s,会显得 low 吗?

  •  
  •   cokar 2024-05-06 18:08:58 +08:00 3215 次点击
    这是一个创建于 572 天前的主题,其中的信息可能已经有所发展或是发生改变。

    国外的很多开源程序都喜欢给文件夹加复数 s,例如 controllers 、scripts 、modules 、includes 、functions ,而 config 这个文件夹,有的程序加 s 有的又不加。

    我不知道你们是不是也和我一样不喜欢复数命名,感觉很难看,而且有的名字是不可数或者不适合加复数的,又会显得很不对称。

    我现在正在开发一款开源程序,如果坚持全部用单数命名,会显得 low 吗?

    31 条回复    2024-05-07 21:23:58 +08:00
    laimikan
        1
    laimikan  
       2024-05-06 18:11:23 +08:00
    随心所欲,
    哪怕 001 、002 都行,

    老在意这些只会没完没了的
    sleepyfevniv
        2
    sleepyfevniv  
       2024-05-06 18:17:41 +08:00
    你这么说,我还真没想到复数的文件夹,全是单数。我的想法是,文件夹就是一个说明分类,单数就行
    CJ2r4u3EH4lrM7aR
        3
    CJ2r4u3EH4lrM7aR  
       2024-05-06 18:21:13 +08:00
    加 s 是准确语法,不加是抽象命名。只要统一就行
    AoEiuV020JP
        4
    AoEiuV020JP  
       2024-05-06 18:38:15 +08:00 via Android
    很纠结,不能多想,最难受的是一个项目里有些加了 s 有些没加,
    cokar
        5
    cokar  
    OP
       2024-05-06 18:40:29 +08:00
    @AoEiuV020JP 确实啊,这样显得很不对称。如果作为一款开源程序,发布出去了,用的人多了,又不好再去改。
    superedlimited
        6
    superedlimited  
       2024-05-06 18:42:38 +08:00 via iPhone
    其实文件夹还好些,但有些开发,定义字段名,数组类型的,不加 s 或者不写成 xxxList ,和他们对接的时候真的让人无语且无奈。
    aitianci
        7
    aitianci  
       2024-05-06 18:59:07 +08:00
    我自己的习惯是全用单数,这样根本不用考虑什么时候有 s
    icanfork
        8
    icanfork  
       2024-05-06 19:04:17 +08:00
    程序员都要沦落到失业去送外卖跑滴滴了,你还在意这些
    Pencillll
        9
    Pencillll  
       2024-05-06 19:33:31 +08:00 via Android   1
    没什么 low 不 low 的,主要是个人喜好,不过非要说的话也是能找到规律的,如果是把里面的文件作为一个整体来描述就不加 s ,如果作为一个集合来描述就加 s ,比如
    - cache
    - dist
    - app
    - routes
    - utils
    passive
        10
    passive  
       2024-05-06 20:51:36 +08:00 via Android
    强迫症在意的是只有 docs 是 plural:
    https://www.conventionalcommits.org
    panlatent
        11
    panlatent  
       2024-05-07 00:03:19 +08:00 via Android
    我的看法是加不加都可以,但要统一,不要混用。但即使你用复数,也并不是所有地方都是复数,要根据包的意义来定。
    IvanLi127
        12
    IvanLi127  
       2024-05-07 00:34:05 +08:00
    不加的话,我个人觉得看起来有点别扭。想吸引其他人一起为开源项目添砖加瓦的话,还是越靠近优秀项目的风格越好,这是对合作者的一种尊重。如果只是你的项目只开源不太需要别人参与开发,那还是自己怎么舒服怎么来。
    potatowish
        13
    potatowish  
       2024-05-07 00:46:14 +08:00 via iPhone
    最好不加,如果是结尾是元音字母要加 es ,y 结尾要变 y 为 i 加 es ,太麻烦
    jianchang512
        14
    jianchang512  
       2024-05-07 01:33:17 +08:00
    不用想那么多,主打一个随心所欲,绝大多数开源项目基本都是创建者自己维护,自己怎么舒服怎么来
    GeruzoniAnsasu
        15
    GeruzoniAnsasu  
       2024-05-07 03:00:27 +08:00   3
    一个问题打破心障:

    你放源码的那个文件夹,是 src ,还是 sources ,还是 Sources ?
    GeruzoniAnsasu
        16
    GeruzoniAnsasu  
       2024-05-07 03:01:01 +08:00
    放头文件的那个文件夹,是

    inc 还是 include 还是 inclusion 还是 inclusions ?
    jim9606
        17
    jim9606  
       2024-05-07 03:02:28 +08:00
    加不加都行,统一就好。
    我倾向于不加,这样不懂英语的人也不会搞错,毕竟不是复数都是加个 s 。
    Amyang
        18
    Amyang  
       2024-05-07 03:21:18 +08:00   1
    pinyin
    netabare
        19
    netabare  
       2024-05-07 05:34:13 +08:00
    看情况,常用于复数的情况(例如文件夹)的时候加,类名或者变量一般不加。
    guoqiao
        20
    guoqiao  
       2024-05-07 08:08:35 +08:00
    能用单数就单数, 非必要不要去给自己和别人制造麻烦.

    如果所有单词都是简单的加 s 那也罢了. 我曾经遇到过 Person class, 对应的表名是 people, 害我找了半天. 我心里默默问候了这个程序员的家人, 自此以后决定代码里能用单数就用单数, 别折腾这些没意义的迂腐玩意儿.

    用单数形式统一, 便于全局搜索, 也特别适合代码自动生成和 ORM 的场景.
    其实对待英语语法的思路也一样, 重点是传达信息, 这些细枝末节根本无伤大雅.
    euclidhuang
        21
    euclidhuang  
       2024-05-07 08:21:09 +08:00
    Who care 斯
    chengxy
        22
    chengxy  
       2024-05-07 09:10:10 +08:00
    @Amyang 你别说,pinyin 还真是个英文单词
    Radeon
        23
    Radeon  
       2024-05-07 09:14:10 +08:00
    用单数命名没有任何问题,你可以认为单数名词是名词作定语。即 Script 是 Script Files 的意思,这样就不用纠结了。另,UNIX 的标准目录名都是单数 /bin 、/usr 、/home 、/dev ,这所有人都认为很合理
    loverorser
        24
    loverorser  
       2024-05-07 09:43:35 +08:00 via Android
    我也很纠结这个问题,Scripts 还是 Script ? GameAssets 还是 GameAsset ?
    mizuhokaga
        25
    mizuhokaga  
       2024-05-07 10:17:45 +08:00
    全单数!因为我英语不过关,因为要加的情况下总担心是加 s/es/ies 是否加错还得去查,心智成本自认为太大
    acthtml
        26
    acthtml  
       2024-05-07 10:28:43 +08:00
    别纠结,首先考虑单数(存放这个类型的文件)。
    williamherry
        27
    williamherry  
       2024-05-07 10:29:34 +08:00
    Rails 里 config 不加 s ,controllers, views, models, services 这些都是加的,单个 model 文件都是单数格式,所有的表都是复数,还有专门的代码负责不规则单复数的转换。

    我觉得选择一种能说的通的方式,保持一致就好了
    xmuli
        28
    xmuli  
       2024-05-07 12:53:33 +08:00 via iPhone
    @Jame00001 道法自然,都通,出彩解释
    MiketsuSmasher
        29
    MiketsuSmasher  
       2024-05-07 17:03:58 +08:00
    HTTP 请求头里表示访问来源的字段名都是 Referrer 的错误拼写,HTTP 很 low 吗?
    cokar
        30
    cokar  
    OP
       2024-05-07 19:17:27 +08:00
    @MiketsuSmasher 浏览器显示 header 里面是 Referer 字段,没有 2 个挨着的 r 哦
    MiketsuSmasher
        31
    MiketsuSmasher  
       2024-05-07 21:23:58 +08:00
    @cokar 那我也没说错啊,“Referer”就是“Referrer”的错误拼写形式。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2490 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:21 PVG 19:21 LAX 03:21 JFK 06:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86