Soft_Job 板


LINE

本周主题 * 如何命名「集合名词」数量变数? * 「集合名词」「整体」数量变数 * 「集合名词」「成员个体」数量变数 * 如何命名「回传值」? * 能不能用 books 代表书本数量? * Google 简报 https://bit.ly/3m9PWDZ * GitHub 讨论 https://bit.ly/321ResR --- # 如何命名「集合名词(collective noun)数量变数」? 「集合名词」是个很有趣的观念,随着使用情景不同,集合名词表达的「整体、个 体」语意也不同,而美式、英式英文对於集合名词的文法也不同,使得情况更为复 杂;这里我们将聚焦在「集合名词数量变数」上, ## 以 team 这个字为例 * 团队 * team * teams (复数) * 团队数 ← 有多少支队伍 * teamCount * numberOfTeams * 团队大小 ← 某特定队伍里有多少成员 * teamSize * teamMemberCount * numberOfTeamMembers ## 以 fleet 这个字为例 * 舰队 * fleet * fleets (复数) * 舰队数 ← 有多少支舰队 * fleetCount * fleetQuantity * numberOfFleets * 舰队大小 ← 某特定舰队里有多少船 * fleetSize * fleetShipCount * fleetShipQuantity * numberOfFleetShips 易言之,当把「集合名词」视为「一体」时,多半可以沿用之前提过的「数量变数 」命名法则 ( https://bit.ly/3elcZGT ) 。 要数「集合名词」中的「成员个体」时,多半可以用 Size 这个字来代表「成员个 体数」,例如: * team + sizeteamSize * fleet + sizefleetSize 或着,也可以把「数量变数」命名法则应用在「集合名词 + 成员个体名词」上, 例如: * team + member + countteamMemberCount * fleet + ship + quantityfleetShipQuantity ## 参考资料 * https://en.wikipedia.org/wiki/Collective_noun#Agreement_in_different_forms_of_English * https://en.wikipedia.org/wiki/American_and_British_English_grammatical_differences#Subject-verb_agreement * https://bit.ly/3elcZGT 如何命名「数量变数」 感谢参与 https://github.com/EngTW/English-for-Programmers/issues/6 讨论的 网友。 --- # 如何命名「回传值」? 以下提供两个参考选项。 ## ret * 在 1979 年 Intel 8086 的指令集中就有 RET 指令;代表「从程序返回」 ( "Return from procedure" ) * 延伸版本 * returnValue * retVal ## result * 在 ASP.NET 框架里,以 IActionResult 等类别代表回传值 * 特定语意情景的「结果」 * 例如: 答案 answer; (总)和 sum, total; 差 difference; 积 product; 商 quotient; 平均 mean, average * 或着,在像是 `GetStorageQuota()` 这样的方法中,传回 `quota` * 在 `GetBookTitle()` 这样的方法中,传回 `title` ## 参考资料 * https://en.wikipedia.org/wiki/X86_instruction_listings * https://docs.microsoft.com/en-us/aspnet/core/web-api/action-return-types?view=aspnetcore-3.1 * https://bit.ly/3a1lDcO ;第 7 页,「读者提问:总和 sum vs. total」 感谢参与 https://github.com/EngTW/English-for-Programmers/issues/3 讨论 的网友。 --- # 能不能用 books 代表书本数量? "books" 在语意上是「一堆书 / 不只一本书 / 书的集合(collection) 」。 我倾向於用以下方式表达「书本数量」,语意会更清楚。 * bookCount * bookQuantity * numberOfBooks ## 参考资料 * https://bit.ly/3elcZGT 如何命名「数量变数」 感谢参考 https://github.com/EngTW/English-for-Programmers/issues/15 及原 脸书讨论串的网友。 --- # 结语 适当的命名可以帮助你的读者了解你的程式码的意图,降低沟通成本,减少误会的 机率。 欢迎推文留言讨论、提问 :) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 136.56.13.184 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1599810784.A.DE2.html ※ 编辑: AmosYang (136.56.13.184 美国), 09/11/2020 15:53:54
1F:→ eva19452002: 光是变数命名就可以出一本书来讨论了,也真的有出书 09/11 16:04
十分同意;有不少很棒的资料、前人留下的智慧结晶,论述「命名」的各种原则与 优点。 我希望这系列的文章能提供「方法、工具、零件、指引」,能帮助母语非英文的读 者更近一步去掌握那些前人留下的智慧结晶。 :)
2F:推 summerleaves: 优文 09/11 16:22
3F:推 DCTmaybe: push 09/11 16:26
4F:→ Domos: 不可数名词呢?如data, info 09/11 17:46
很有趣的问题,请看下面的回文。 :)
5F:推 Tiguru: 推 09/11 18:17
6F:推 goldie: 优文,推 09/11 22:04
7F:推 Ouranos: 推推! 谢谢分享~ 09/11 23:09
谢谢各位的欣赏 :) --- > → Domos: 不可数名词呢?如data, info
8F:推 BlazarArc: 推 这种真的头很痛 像上面说的 data 复数 XD 09/12 03:09
以 data 为例,我想到两种情形: # "data" 另有其物 例如说 * dataFile 资料档案 * dataPoint 资料点 * dataStream 资料流 而 file, point, stream 可以用 "count" 来数,就变成 * dataFileCount ← 有多少个资料档案 * dataPointCount ← 有多少个资料点 * dataStreamCount ← 有多少个资料流 还可以有其它的 "data" 物件,例如 * dataEntry 资料条目 * dataCell 资料格 等等。 # 视 "data" 为一个整体 那就可能是 * dataLength 资料长度 (暗示着这资料是像是 array, list 这样的结构) * dataSize 资料大小 (占据的储存空间) 也可以写成 * dataInMegabytes 以 MB 计的资料量 --- 如果有其它的情形,请让我知道,我来看看要怎麽用英文表达出来 :) ※ 编辑: AmosYang (136.56.13.184 美国), 09/12/2020 04:02:24
9F:→ eva19452002: 请问大大你怎麽看微软所推出的匈牙利命名法? 09/12 07:50
我的看法是,「匈牙利命名法」是一种工具;每种工具有适合它的舞台、时空背景 。 若回到 1970, 1980 年代,我可以想像匈牙利命名法有它的好处。 来到 2020 年代,我会觉得我们有比匈牙利命名法更方便的工具。 匈牙利命名法 (又分成系统、应用两个层面) 在技术上的优缺点,多年来已经累积 了相当透彻的讨论,可以参考这个: * https://zh.wikipedia.org/zh-tw/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95 ※ 编辑: AmosYang (136.56.13.184 美国), 09/12/2020 18:54:10
10F:推 FRAXIS: 那 vector of vector, set of set 要怎麽命名? 09/12 21:59
很有趣的问题,请看下面的回文
11F:推 jasonwung: 推 09/12 22:20
12F:推 TWkobe: 推 很实用 09/13 00:08
谢谢 :) --- > 推 FRAXIS: 那 vector of vector, set of set 要怎麽命名?
13F:推 wulouise: nested verctor or set...不要写这种资料结构 09/13 09:23
14F:推 wulouise: 应该用alias/typedef把内层定义有意义的名称,比方vecto 09/13 09:28
15F:→ wulouise: r<point>定义成polygon, vector<polygon> 09/13 09:28
wulouise 给了很棒的例子,帮它排版一下: * vector<vector<point>> * vector<polygon> 我是从这两个方向去想: * 「就这个程式的情境而言,什麽是实用的、有意义的?」 * 「如何与读者大脑中既有的知识连结?」 例如说,假设现在是在测试「编译器处理泛型的功能」,那麽, * setOfSets * setsInSet 这样的名字就因为这个情境而实用、有意义;读者大概也看得懂。 假设现在在写 3D 影像相关的东西,那麽, * vectorOfPointVectors * PointVectorVectors 大概就没有 * vector<polygon> polygons * vector<polygon> polygonVector 来得好。 易言之,我会这样想:若能把情境也纳入考量,会对命名更有帮助 :) ※ 编辑: AmosYang (136.56.13.184 美国), 09/13/2020 10:28:26
16F:推 wulouise: 感谢原po xd 建议不要有多层资料结构 除非就是x维矩阵 09/13 16:08
不客气 XD > 建议不要有多层资料结构 除非就是x维矩阵 这让我想到,我有次需要做到「把一个字串对应到多个字串」,例如, * 输入 "app" * 输出 "apple, application, apply" 我就用了个 `HashSet<string, List<string>>` 的资料结构,像这样 * HashSet<string, List<string>> wordMappings 现在想想,的确可以运用 type aliasing 把程式码改成像是这样: * HashSet<string, WordList> wordMappings * HashSet<Word, WordList> wordMappings 很有趣的方向,我要再仔细想想 :) ※ 编辑: AmosYang (136.56.13.184 美国), 09/13/2020 20:18:24







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP