[請益] 變數命名技巧

作者: wplace (wplace)   2020-06-14 21:47:49
想請益變數命名有什麼技巧嗎,有時候遇到多個單字在一起的變數或method
都不太會命名,我大部分都打上完整的單字,不過都會變得滿長的
如果想要縮寫,又怕縮寫寫不好到時候別人或者自己回過來看還看不出來
還是縮寫有什麼技巧
還請各位前輩提點
作者: Handsomeshen (洗澡是骯髒人的事)   2020-06-14 21:50:00
省略母音?
作者: adks3489 (James)   2020-06-14 21:50:00
作者: zeroshine (rain)   2020-06-14 21:53:00
舉個例子?
作者: moom50302 (武林三羚鱷)   2020-06-14 22:00:00
有些單字其實可以縮寫;駝峰式命名和加底線的方式,都可以讓參數比較直觀
作者: cuteSquirrel (松鼠)   2020-06-14 22:10:00
getFwVersionByXXX
作者: donby (東逼)   2020-06-14 22:21:00
GetFwVerByXXX
作者: spfy (spfy)   2020-06-14 22:25:00
聞香一下 以前26同事取的 https://i.imgur.com/QdO4bqq.png
作者: Masakiad (Masaki)   2020-06-14 22:25:00
老實說method完全不建議縮寫,除了公認的縮寫有一點機會可以使用外,建議還是寧願過長而不要造成看不懂或跟其他單字的混淆機會
作者: brianwu1201 (bunny29)   2020-06-14 22:27:00
過長沒關係+1,看得懂比較重要。
作者: Masakiad (Masaki)   2020-06-14 22:27:00
如果推文的舉例,更多時候會像這樣實現:Framework.getVersionByXXXX(...)
作者: kvjo (同名專輯)   2020-06-14 22:28:00
建議分區加底線 如果你駝峰到底 你就知道痛苦...通常會很長 都是後面 condition的緣故 前面用途應該是大類method很長 滿常遇到的 因為條件不同的很多 但用途又類似
作者: Masakiad (Masaki)   2020-06-14 22:29:00
又或是getInfoByXXXX().framework過長就善用Struct的作法
作者: Nitricacid (硝酸酸)   2020-06-14 23:23:00
一堆ByXXX 應該是可以包成 class 的吧 單字縮寫誰知道你的縮寫是不是其他人的縮寫
作者: GLaDOS1105 (HAHAHA)   2020-06-14 23:34:00
拜託不要亂縮寫
作者: tttkkk (學到。)   2020-06-14 23:58:00
1. 縮寫要有限度 別縮過頭 2. 不要怕變數名稱太長加底線是 Python idiomatic.. 有時你拿底線的變數名稱給Java developer 看 他們其實也不習慣 重點是全文要統一使用同一種命名方式
作者: a8989332 (天創)   2020-06-15 00:04:00
Clean Code:
作者: bill0205 (善良的小孩沒人愛)   2020-06-15 00:07:00
不要只縮到只剩頭就好…看了就頭痛
作者: new122851 (未若柳絮因風起)   2020-06-15 00:46:00
安卓resources只能小寫英文和0-9
作者: benedict76 (ben)   2020-06-15 01:23:00
method不要縮,method取得好裡面變數縮寫就行,一般人應該都看得懂
作者: Vitaceae (Vit)   2020-06-15 01:27:00
一個方法60個字元,根本閱讀毒藥以前罵縮過頭,現在一堆長過頭的
作者: t64141 (榕樹)   2020-06-15 01:28:00
如果XXX是參數可以省略byXXX,但得視情況,不是很通用就
作者: Ghamu (貓丸)   2020-06-15 02:27:00
我都會上網查一下那個單字的公定縮寫abbreviation 是啥寧可長 不要短看不懂長的被看懂未來還有可被英文好的人refactor 自己沒照英文正確的縮寫亂縮 以後真的只能靠通靈才知道意思了我寫的縮寫有些比較少用的 我還會再後面註解一下縮寫是啥最近回去看半年前自己寫的code 因為有正確命名與註解 3分鐘就找到該找的地方 感到驕傲反觀新公司中國外包的幹你娘程式碼 命名常數int HOST 跟HOST_ 幹你媽兩個值還存不一樣的 真的很想殺人可怕的是我HOST 常數之前已經使用一堆了 冷汗直流
作者: harry830622 (harry830622)   2020-06-15 03:38:00
https://github.com/harry830622/awesome-abbreviations之前跟同事討論過業界較通用的縮寫歡迎大家參考 也歡迎發PR補充XD
作者: steve1012 (steve)   2020-06-15 04:10:00
不要縮寫
作者: wulouise (在線上!=在電腦前)   2020-06-15 06:21:00
如果你有引數,那個by後面的通常可以省略
作者: Darkword1987 (黑字)   2020-06-15 06:59:00
變數名稱長點會怎樣嗎
作者: lion741205 (獅子)   2020-06-15 07:33:00
也可以參考一下我的心得 lionethan.com/2019/08/%e7http://www.lionethan.com/2019/08/%e7
作者: azureroki (Roki)   2020-06-15 08:11:00
對英文不熟悉的看到超長變數很煩躁
作者: GinginDenSha (gingin)   2020-06-15 08:19:00
另一個思路是 byXXX 這種程式可以改寫成 Factory Method 或 Strategy 可以省下取名的困擾,又保持程式的擴充性
作者: Csongs (西歌)   2020-06-15 09:03:00
個人最討厭的就是英文亂縮寫
作者: vi000246 (Vi)   2020-06-15 09:19:00
EbiIwnTuSnpdNfToUiOmf();
作者: yyc1217 (somo)   2020-06-15 10:02:00
by(XXX xxx)呢不然原來的例子算OK吧 很好懂呀
作者: alihue (wanda wanda)   2020-06-15 10:04:00
By 省掉,可以看參數知道。此外應該選可讀性高的字體,長度不是問題,看不懂命名才是問題
作者: james732 (好人超)   2020-06-15 10:24:00
我覺得長度沒什麼問題之前看過會縮成GFVBX這種恐怖的縮寫
作者: x000032001 (版廢了該走了)   2020-06-15 10:37:00
XXX().Get().Firmware().Version()
作者: casd82 (28dsac)   2020-06-15 11:02:00
看語言吧 像Swift幾乎都不縮寫 cocoa api一堆20-30字母的method Go的話很多api就一堆縮寫
作者: v7q4 ((.)(.)乳劍雙修 -|=>)   2020-06-15 11:10:00
曾經跟對岸工程師合作 他寫一個method叫getNBvalue()我一直不懂什麼NB? 筆電嗎? 還是什麼特殊單字的縮寫??後來問他才知道 NB=牛逼 ....
作者: cuteSquirrel (松鼠)   2020-06-15 11:13:00
XDDDDDDDDDDDDDDDDDD 太牛啦
作者: alihue (wanda wanda)   2020-06-15 11:39:00
getSBValue()
作者: wangk13579 (Gboo)   2020-06-15 12:05:00
這樣看起來 那位對岸人士也沒什麼問題 取的真牛XDD
作者: chuegou (chuegou)   2020-06-15 12:45:00
getSBvalue
作者: WTFCN (WTFCN)   2020-06-15 12:57:00
getNMSLvalue()
作者: jobintan (Robin Artemstein)   2020-06-15 13:07:00
我都打全名,用簡寫的會被誤判。例:creditCardInformation()之類的。
作者: shooter555 (shooter)   2020-06-15 14:14:00
名稱過長會不會是需要在切一層結構的警示呢
作者: thibw13ug1 (KGMR0792)   2020-06-15 16:09:00
最好是駝峰跟底線兩種一起混用,然後避開passwordaccount login之類的單字,因為弱掃軟體會不管三七二十一直接判為弱點
作者: enthos (影斯作業系統)   2020-06-15 16:24:00
[email protected] fwver! /* FORTH get and set */
作者: NTULioner (LionsHeart)   2020-06-15 17:45:00
abcdefghihklmn...用完一輪就 aa ab ac ad
作者: james732 (好人超)   2020-06-15 17:46:00
寫牛逼的我會打死他 XDDD
作者: roccqqck (ccqq)   2020-06-15 18:14:00
用沒看過縮寫真的很靠北
作者: askaleroux (FalconTW)   2020-06-15 18:14:00
getCNMValue(0
作者: roccqqck (ccqq)   2020-06-15 18:16:00
寫log也不要用縮寫
作者: wulouise (在線上!=在電腦前)   2020-06-15 18:39:00
我不寫log4都寫2
作者: jinmin88 (晝伏夜出)   2020-06-15 19:38:00
最好
作者: Ghamu (貓丸)   2020-06-16 02:30:00
getNBValue XDDDD
作者: jobintan (Robin Artemstein)   2020-06-16 08:07:00
JS我用駝峰,Python用底線,CSS用減號。
作者: ChungLi5566 (中壢56哥)   2020-06-16 08:59:00
長就給他長啊 縮到看不懂跟aaa bbb有啥差
作者: jobintan (Robin Artemstein)   2020-06-16 11:05:00
aaabbb的真的是災難,有時候用日文Romaji與內地的漢語拼音搞的命名都好多了。
作者: ShenJing (ShenJing)   2020-06-17 10:27:00
感謝2樓,推影片
作者: b85040312 (萬年newman)   2020-06-20 00:41:00
用 aaa bbb 即可,反正 minify 之後也是差不多的
作者: greenx   2020-06-20 12:03:00
只用大家看得懂的縮寫,不然寧願完整寫清楚

Links booklink

Contact Us: admin [ a t ] ucptt.com