[心得][英文] 如何命名「數量變數」

看板Soft_Job作者 (泛用人型編碼器)時間3年前 (2020/07/10 14:47), 3年前編輯推噓47(47018)
留言65則, 55人參與, 3年前最新討論串1/1
「英文」是不少人學寫程式的一個關卡,而「命名」又是電腦科學最難的問題之一 。我正在整理幾個最常見的「如何用英文命名程式裡的某個東西?」的問題與答案 ,在此與各位分享目前整理好的第一個題目: * 如何命名「數量變數」? * Count / Number / Quantity * 什麼時候該用哪個字?該怎麼用? --- * Google 簡報版: https://bit.ly/38OWoKf * Google 簡報原始檔: https://bit.ly/3elcZGT * Facebook 相簿版: https://bit.ly/3iNsgDO * GitHub 討論區: https://bit.ly/321ResR --- 首先,可以試試看命名以下變數(文末有參考答案): 1. 玩家(player)數量 2. 彈藥(ammo)數量 3. 子彈(bullet)質量(mass) (以克(gram)計) 4. 生命值(hit points) 如果這對你來說沒有難度,或許你會有興趣到 GitHub 討論區看看其它我正在整理 的題目: https://bit.ly/321ResR --- # 命名「數量變數」的方法 1. 辨認變數名詞詞性 * 不可數名詞 * 可數生物 * 可數非生物 2. 對應單字及格式(見後文) * 可數生物、可數非生物: Count / Number * 不可數名詞、可數非生物: Quantity --- # 不可數名詞 ## 推薦格式 * 不可數名詞 + In + 單位(複數) goldInKilograms 黃金(以公斤計) * 單位(複數) + Of + 不可數名詞 kilogramsOfGold 黃金(以公斤計) ## 其它格式 * 不可數名詞 + Amount : goldAmount 黃金數量 * 不可數名詞 + Quantity : goldQuantity 黃金數量 * amountOf + 不可數名詞 : amountOfGold 黃金數量 * quantityOf + 不可數名詞 : quantityOfGold 黃金數量 這些格式無法清楚表達數量單位,其可讀性在科學或金融計算上並不理想,但在其 它情景或許不是問題(例如,遊戲設計)。 --- # 可數生物 ## 推薦格式 * 生物(單數) + Count studentCount 學生人數 尤其適合為「用來計數的變數」命名 * numberOf + 生物(複數) numberOfEmployees 員工人數 ## 常見問題 * 生物(單數) + Number 在語意上是「號碼」的意思 studentNumber 學生號碼 * countOf + 生物(複數) 在語法上通常不會這樣寫 --- # 可數非生物 ## 推薦格式 * 非生物(單數) + Count bookCount 書本數量 尤其適合為「用來計數的變數」命名 * 非生物(單數) + Quantity bookQuantity 書本數量 尤其適合用在「貨物」上 * numberOf + 非生物(複數) numberOfBooks 書本數量 * quantityOf + 非生物(複數) quantityOfBooks 書本數量 尤其適合用在「貨物」上 ## 常見問題 * 非生物(單數) + Number 在語意上是「號碼」的意思 accountNumber 帳戶號碼 * countOf + 非生物(複數) 在語法上通常不會這樣寫 --- # 其它討論 * 有的時候,程式可讀性的確是 *相對地* 沒那麼重要。 * 滿足需求、解決問題、創造價值最重要。 * 提昇程式可讀性的方法不止一種 * 要把程式碼上下文脈絡、使用情景、團隊文化、產業領域也納入考量。 --- 相對於「寫作風格」(駝峰式大小寫、蛇式/烤肉串式、等等),我想從另一個角 度,聚焦於「學會用英文表達想法」, 學會用英文提昇程式可讀性。 我很想知道讀者在寫程式時,遇到了怎麼樣的英文表達問題。 我目前有蒐集到一些題目,例如: * Count / Length / Size, 什麼時候該用哪個字?該怎麼用? * Copy / Clone / Duplicate * Sum 與 Total 的差別 * Validate vs. Verify 很歡迎讀者推文(或到 GitHub 討論區 https://bit.ly/321ResR )提出 * 問題 * 建議 * 感想 謝謝。 --- # 練習題 *參考* 答案 1. numberOfPlayers, playerCount 2. quantityOfAmmo, ammoQuantity 3. bulletMassInGrams 4. hitPoints -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 136.56.13.184 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1594363672.A.7D0.html

07/10 14:56, 3年前 , 1F
這個有趣
07/10 14:56, 1F

07/10 14:57, 3年前 , 2F
07/10 14:57, 2F

07/10 15:10, 3年前 , 3F
實用
07/10 15:10, 3F

07/10 15:14, 3年前 , 4F
實用推
07/10 15:14, 4F

07/10 15:21, 3年前 , 5F
07/10 15:21, 5F
謝謝各位的欣賞 :) 如果在程式寫作上有任何與英文表達有關的問題,請讓我知道 ,這會是「用英文提昇程式可讀性」很棒的研究題材。

07/10 15:31, 3年前 , 6F
我喜歡台式英文 bulletWeight remainLife
07/10 15:31, 6F
完全能理解,解決問題優先。 語言能做到優雅當然是好,但最重要的功能還是溝通(人與人的溝通、人與機器的 溝通)。 我開了 https://github.com/EngTW/English-for-Programmers/issues/8 來追蹤 這個題目,謝謝 :) ※ 編輯: AmosYang (136.56.13.184 美國), 07/10/2020 15:56:07

07/10 15:52, 3年前 , 7F
niceTutorial, it_is_very_useful.
07/10 15:52, 7F
XD ※ 編輯: AmosYang (136.56.13.184 美國), 07/10/2020 15:57:50

07/10 15:58, 3年前 , 8F
magicNumber // do not erase this
07/10 15:58, 8F

07/10 16:06, 3年前 , 9F
基本上不用Quantity 太長
07/10 16:06, 9F
完全能理解,縮寫、簡寫、更短的字、更簡潔的寫法,只要能解決問題,都是好的 。 我開了 https://github.com/EngTW/English-for-Programmers/issues/7 來追蹤 這個題目,謝謝 :)

07/10 16:15, 3年前 , 10F
07/10 16:15, 10F

07/10 16:31, 3年前 , 11F
#define ZERO 0
07/10 16:31, 11F

07/10 16:52, 3年前 , 12F
樓上是殺小xddd
07/10 16:52, 12F

07/10 16:59, 3年前 , 13F
推 AmosYang 好文!
07/10 16:59, 13F

07/10 17:09, 3年前 , 14F
zero = 0 這個我真的看到! 還有 True = 1, False =
07/10 17:09, 14F

07/10 17:09, 3年前 , 15F
0
07/10 17:09, 15F

07/10 17:12, 3年前 , 16F
07/10 17:12, 16F

07/10 17:12, 3年前 , 17F
好文
07/10 17:12, 17F

07/10 17:27, 3年前 , 18F
bulletCount
07/10 17:27, 18F

07/10 17:28, 3年前 , 19F
沒事 是重量以為是數量
07/10 17:28, 19F

07/10 17:40, 3年前 , 20F
不管啦 通通用xxxNum
07/10 17:40, 20F

07/10 17:40, 3年前 , 21F
ammoQty
07/10 17:40, 21F
我開了 https://github.com/EngTW/English-for-Programmers/issues/7 來追蹤 「縮寫、簡寫」這個題目;謝謝提供這個題目 :)

07/10 18:07, 3年前 , 22F
很讚欸 推一個
07/10 18:07, 22F

07/10 18:09, 3年前 , 23F
amount跑去哪了
07/10 18:09, 23F
amount 整理在「不可數名詞」的「其它格式」那段。 :) amount 本身當主詞時,常用來描述金錢上的「總金額(total amount)」,我開了 https://github.com/EngTW/English-for-Programmers/issues/9 來追蹤這個題目 ,謝謝 :)

07/10 19:02, 3年前 , 24F
好文, 不得不推
07/10 19:02, 24F

07/10 19:10, 3年前 , 25F
我都定arg1,arg2,var1,var2
07/10 19:10, 25F

07/10 19:10, 3年前 , 26F
我都定arg1,arg2,var1,var2
07/10 19:10, 26F

07/10 19:11, 3年前 , 27F
a1, b1啊~~
07/10 19:11, 27F

07/10 19:12, 3年前 , 28F
我都定arg1,arg2,var1,var2
07/10 19:12, 28F

07/10 19:13, 3年前 , 29F
我都定arg1,arg2,var1,var2
07/10 19:13, 29F

07/10 19:14, 3年前 , 30F
我都定arg1,arg2,var1,var2
07/10 19:14, 30F

07/10 19:19, 3年前 , 31F
推推
07/10 19:19, 31F

07/10 19:21, 3年前 , 32F
樓上重複定義編譯器不給過
07/10 19:21, 32F

07/10 19:21, 3年前 , 33F
Cnt
07/10 19:21, 33F
我開了 https://github.com/EngTW/English-for-Programmers/issues/7 來追蹤 「縮寫、簡寫」這個題目;謝謝提供這個題目 :)

07/10 19:24, 3年前 , 34F
remove delete erase cancel dismiss
07/10 19:24, 34F
我開了 https://github.com/EngTW/English-for-Programmers/issues/10 來追蹤 這個題目,謝謝 :)

07/10 19:35, 3年前 , 35F
pn, an, bg, hp \ Forth(Write-only lang.) style.
07/10 19:35, 35F
我開了 https://github.com/EngTW/English-for-Programmers/issues/7 來追蹤 「縮寫、簡寫」這個題目;謝謝 :)

07/10 19:46, 3年前 , 36F
看過中國人用拼音寫扣 jin_jia_ki_si
07/10 19:46, 36F
我開了 https://github.com/EngTW/English-for-Programmers/issues/8 來追蹤 這個題目,謝謝 :)

07/10 19:57, 3年前 , 37F
多查英文字典吧?有時候直接問英文好的人資XD超好笑
07/10 19:57, 37F

07/10 19:57, 3年前 , 38F
,寫程式還會問到人資那邊
07/10 19:57, 38F

07/10 19:59, 3年前 , 39F
上一份工作看到的 氣死https://i.imgur.com/x9GmljV.jpg
07/10 19:59, 39F
我開了 https://github.com/EngTW/English-for-Programmers/issues/8 來追蹤 這個題目,謝謝 :)

07/10 20:09, 3年前 , 40F
07/10 20:09, 40F

07/10 21:00, 3年前 , 41F
推推
07/10 21:00, 41F

07/10 21:39, 3年前 , 42F
07/10 21:39, 42F

07/10 22:13, 3年前 , 43F
感謝分享
07/10 22:13, 43F

07/10 22:26, 3年前 , 44F
感謝分享,命名真的是難題
07/10 22:26, 44F

07/10 22:59, 3年前 , 45F
實用推
07/10 22:59, 45F

07/10 23:10, 3年前 , 46F
qwertyyuiop
07/10 23:10, 46F

07/10 23:21, 3年前 , 47F
07/10 23:21, 47F

07/10 23:28, 3年前 , 48F
nr_student
07/10 23:28, 48F
我開了 https://github.com/EngTW/English-for-Programmers/issues/7 來追蹤 「縮寫、簡寫」這個題目;謝謝 :)

07/10 23:46, 3年前 , 49F
用拼音真的...還有日文拼音的...冏...
07/10 23:46, 49F
我開了 https://github.com/EngTW/English-for-Programmers/issues/8 來追蹤 這個題目,謝謝 :)

07/11 00:10, 3年前 , 50F
foo bar baz
07/11 00:10, 50F
我開了 https://github.com/EngTW/English-for-Programmers/issues/11 來追蹤 "metasyntactic variable" 這個題目,謝謝 :)

07/11 00:21, 3年前 , 51F
07/11 00:21, 51F
※ 編輯: AmosYang (136.56.13.184 美國), 07/11/2020 02:40:00 感謝各位的欣賞與提供題目 orz 如果我漏看了題目,請告訴我,謝謝 :) ※ 編輯: AmosYang (136.56.13.184 美國), 07/11/2020 02:44:32

07/11 02:46, 3年前 , 52F
nr_ 這個是 Linux kernel 的命名
07/11 02:46, 52F
感謝指點 orz

07/11 03:39, 3年前 , 53F
先推在看
07/11 03:39, 53F

07/11 04:02, 3年前 , 54F
Amos 必推!!!
07/11 04:02, 54F
※ 編輯: AmosYang (136.56.13.184 美國), 07/11/2020 05:36:24

07/11 08:32, 3年前 , 55F
推 獲益良多
07/11 08:32, 55F

07/11 09:45, 3年前 , 56F
推!命名對新人工程師更是一個問題XD常常會看不懂那
07/11 09:45, 56F

07/11 09:45, 3年前 , 57F
是啥
07/11 09:45, 57F

07/11 09:57, 3年前 , 58F
07/11 09:57, 58F

07/11 11:34, 3年前 , 59F
07/11 11:34, 59F

07/11 15:08, 3年前 , 60F
實用推
07/11 15:08, 60F

07/11 16:12, 3年前 , 61F
推,很怕看到需要通靈的命名
07/11 16:12, 61F
感謝各位的欣賞 :) 如果能想到「很難看懂、需要通靈」的命名案例,請讓我知道;這可以幫助我把這 些資料整理得更完善,謝謝。 在這篇底下推文,或在 GitHub 或 Facebook 留言都可以 :) * GitHub: https://github.com/EngTW/English-for-Programmers/issues * Facebook: https://bit.ly/3iNsgDO ※ 編輯: AmosYang (136.56.13.184 美國), 07/12/2020 04:07:11 補上 Google 簡報原始檔: https://bit.ly/3elcZGT ※ 編輯: AmosYang (136.56.13.184 美國), 07/12/2020 12:44:21

07/12 22:15, 3年前 , 62F
07/12 22:15, 62F

07/14 18:55, 3年前 , 63F
07/14 18:55, 63F

07/17 10:20, 3年前 , 64F
07/17 10:20, 64F

07/20 14:00, 3年前 , 65F
有趣又實用
07/20 14:00, 65F
文章代碼(AID): #1V20yOVG (Soft_Job)