写程序时常用的英文缩写有没有规范或者参考? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
InFaNg
V2EX    问与答

写程序时常用的英文缩写有没有规范或者参考?

  • &bsp;
  •   InFaNg 2020-03-05 19:39:25 +08:00 4523 次点击
    这是一个创建于 2046 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如说写给函数命名时常把 pointer 缩写成 ptr, 把 options 缩写成 ops 这种。

    不知道这种缩写有没有规范可以参考下,本人目前计算机专业大一学生写程序时老是为了怎么给函数命名想好久

    31 条回复    2020-03-06 15:17:34 +08:00
    goodname
        1
    goodname  
       2020-03-05 21:33:21 +08:00
    额,世纪难题
    loading
        2
    loading  
       2020-03-05 21:57:00 +08:00 via Android   1
    codelf

    了解一下。
    Rwing
        3
    Rwing  
       2020-03-05 22:17:39 +08:00
    很简单,不缩写
    Rwing
        4
    Rwing  
       2020-03-05 22:18:04 +08:00   1
    现代编程没有缩写的必要
    xDaShen
        5
    xDaShen  
       2020-03-05 23:05:03 +08:00   1
    clean code 里说尽量不缩写,除非是约定俗成的缩写
    Jaosn
        6
    Jaosn  
       2020-03-05 23:15:12 +08:00   1
    该怎么翻译就怎么翻译,不要担心单词过长。
    yilingersier
        7
    yilingersier  
       2020-03-05 23:15:46 +08:00
    写给别人看,尽量不要缩写, 写给自己看,随便你怎么写,反正看不懂的时候,你也只能骂自己,看你舍不舍得了
    ybw
        8
    ybw  
       2020-03-05 23:17:40 +08:00 via Android
    长度太长了必须缩写
    tangkaichuan
        9
    tangkaichuan  
       2020-03-06 02:11:45 +08:00 via Android   2
    如果是函数名太长很可能是内部实现的功能多、杂,这时候或许就要考虑解耦了
    dr1q65MfKFKHnJr6
        10
    dr1q65MfKFKHnJr6  
       2020-03-06 02:25:47 +08:00   1
    懒得找 就 阿里巴巴 Java 开发手册(华山版).pdf 一下
    cassyfar
        11
    cassyfar  
       2020-03-06 04:10:11 +08:00   1
    如果不是写 C 或者 GO 还是请不要缩写
    nvkou
        12
    nvkou  
       2020-03-06 04:23:39 +08:00 via Android   2
    opts 可能好点。第一眼 ops 看成 operations
    Mutoo
        13
    Mutoo  
       2020-03-06 05:54:10 +08:00
    @loading 我打开后,查询了热门搜索「打卡」出来的条目连 check-in 都没有。
    Mutoo
        14
    Mutoo  
       2020-03-06 06:03:12 +08:00   1
    如果 LZ 要规则的话,圈类有一个比较不成文的规则:元音缩减
    pointer -> ptr
    option => opt
    list => lst
    你会发现除了重音的元音,都可以去掉。
    这个规则我忘了在哪里看到了,但是可以在很多书上找到
    https://books.google.com.au/books?id=YcXgBwAAQBAJ&pg=PA58&lpg=PA58&dq=programming+abbr+consonant&source=bl&ots=2TQf9noFL0&sig=ACfU3U2SzX1xN3qY36-osYQtqF4icfdIHw&hl=en&sa=X&ved=2ahUKEwjGh-bOqoToAhVIyzgGHcuOANAQ6AEwAHoECAgQAQ#v=onepage&q=programming%20abbr%20consonant&f=false
    w568w
        15
    w568w  
       2020-03-06 07:40:08 +08:00 via Android   1
    楼上说的命名规则在《 C Primer 》《 Thinking in Java 》之类的书里好像都提到过…
    只不过未必是最佳实践罢了,毕竟现在是个 IDE 都有 code completion,名字写多长都没关系

    ps:太长可以考虑一下中文变量名(
    krixaar
        16
    krixaar  
       2020-03-06 07:56:23 +08:00   1
    记得之前在 Reddit 看过一个帖子问的是 analysis/analytic 有什么比较合适的缩写,结果并没有什么结果
    InFaNg
        17
    InFaNg  
    OP
       2020-03-06 08:27:17 +08:00
    @Rwing 主要是怕写个函数名就要将近二十个字符这种尴尬的情况,这么写感觉很容易一行代码超了 80 个字符
    loading
        18
    loading  
       2020-03-06 08:31:09 +08:00 via Android
    千万别自创缩写
    loading
        19
    loading  
       2020-03-06 08:32:24 +08:00 via Android
    @Mutoo 打卡?更普遍不是“签到”?
    DT27
        20
    DT27  
       2020-03-06 08:36:24 +08:00
    拼到底哪里不好。
    passerbytiny
        21
    passerbytiny  
       2020-03-06 09:02:35 +08:00   1
    关于变量命名(包括怎么缩写)的规范,是要由团队自行决定的,但大多数的团队都比较懒,所以给的规范就是“别缩写,除非是国际通用的缩写”。

    至于你担心的超 80 字符问题,这么解决:将行宽度调整到 100、120 或者 150 (行宽度 80 是 20 年前的规范);如果是 Java,将函数分到不同的类中,这样函数名中的主语和部分宾语就不再需要了,移除掉,其它语言可以参照这种处理。
    Lin0936
        22
    Lin0936  
       2020-03-06 09:20:37 +08:00
    There are only two hard things in Computer Science: cache invalidation and naming things.
    Phil Karlton
    fancy111
        23
    fancy111  
       2020-03-06 09:37:53 +08:00
    现在 IDE 不都是带自动补全吗,还缩写干嘛。 莫非要节省文件大小?
    Tony4ee
        24
    Tony4ee  
       2020-03-06 10:28:28 +08:00 via iPhone
    有的!
    https://www.abbreviations.com/
    支持缩写正反查,搜出结果来领域是“Computer Science”的就挺权威了!
    (求个铜币
    Rwing
        25
    Rwing  
       2020-03-06 10:52:21 +08:00
    @InFaNg 80 字符的规定也过于迂腐了,之前推荐 80 字符是因为显示器太小。。。现在大家伙的显示器,一行 200 字符没问题。。。。
    dlsflh
        26
    dlsflh  
       2020-03-06 10:55:10 +08:00 via Android
    @Rwing 但是太长了影响阅读啊
    Torpedo
        27
    Torpedo  
       2020-03-06 11:03:47 +08:00
    写汉字。我觉得拼音不如汉字
    HENQIGUAI
        28
    HENQIGUAI  
       2020-03-06 11:05:16 +08:00   1
    我还是赞成 80 字符

    1.对竖屏看代码更加友好

    2.代码写的太长, 无论是行或者列, 读起来确实要花费更多力气
    AV1
        29
    AV1  
       2020-03-06 11:18:00 +08:00 via Android
    @Mutoo 元音开头的单词去掉元音的话,感觉会很奇怪,比如 address、analog、asynchronous
    Mutoo
        30
    Mutoo  
       2020-03-06 12:11:33 +08:00
    @DOLLOR 开头元音一般是重音,不去。
    zjddp
        31
    zjddp  
       2020-03-06 15:17:34 +08:00
    如果用 OC 的尽量往长了写
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2649 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 02:19 PVG 10:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao 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