PTT推薦

[請益] 變數命名技巧

看板Soft_Job標題[請益] 變數命名技巧作者
wplace
(wplace)
時間推噓40 推:40 噓:0 →:59

想請益變數命名有什麼技巧嗎,有時候遇到多個單字在一起的變數或method

都不太會命名,我大部分都打上完整的單字,不過都會變得滿長的

如果想要縮寫,又怕縮寫寫不好到時候別人或者自己回過來看還看不出來

還是縮寫有什麼技巧

還請各位前輩提點

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.180.122.212 (臺灣)
PTT 網址

Handsomeshen06/14 21:50省略母音?

adks348906/14 21:50推薦這部 https://youtu.be/MBRoCdtZOYg

zeroshine06/14 21:53舉個例子?

getFrimwareVersionByXXX (透過XXX取得韌體版本)

moom5030206/14 22:00有些單字其實可以縮寫;駝峰式命名和加底線的方式,都

moom5030206/14 22:00可以讓參數比較直觀

※ 編輯: wplace (175.180.122.212 臺灣), 06/14/2020 22:07:12

cuteSquirrel06/14 22:10getFwVersionByXXX

donby06/14 22:21GetFwVerByXXX

spfy06/14 22:25聞香一下 以前26同事取的 https://i.imgur.com/QdO4bqq.png

圖 變數命名技巧

Masakiad06/14 22:25老實說method完全不建議縮寫,除了公認的縮寫有一點機會

Masakiad06/14 22:25可以使用外,建議還是寧願過長而不要造成看不懂或跟其他

Masakiad06/14 22:25單字的混淆機會

brianwu120106/14 22:27過長沒關係+1,看得懂比較重要。

Masakiad06/14 22:27如果推文的舉例,更多時候會像這樣實現:Framework.getV

Masakiad06/14 22:27ersionByXXXX(...)

kvjo06/14 22:28建議分區加底線 如果你駝峰到底 你就知道痛苦...

kvjo06/14 22:28通常會很長 都是後面 condition的緣故 前面用途應該是大類

kvjo06/14 22:29method很長 滿常遇到的 因為條件不同的很多 但用途又類似

Masakiad06/14 22:29又或是getInfoByXXXX().framework

Masakiad06/14 22:30過長就善用Struct的作法

Nitricacid06/14 23:23一堆ByXXX 應該是可以包成 class 的吧 單字縮寫誰

Nitricacid06/14 23:23知道你的縮寫是不是其他人的縮寫

GLaDOS110506/14 23:34拜託不要亂縮寫

tttkkk06/14 23:581. 縮寫要有限度 別縮過頭 2. 不要怕變數名稱太長

tttkkk06/14 23:59加底線是 Python idiomatic.. 有時你拿底線的變數名稱給

tttkkk06/15 00:00Java developer 看 他們其實也不習慣 重點是全文要統一

tttkkk06/15 00:01使用同一種命名方式

a898933206/15 00:04Clean Code:

bill020506/15 00:07不要只縮到只剩頭就好…看了就頭痛

new12285106/15 00:46安卓resources只能小寫英文和0-9

benedict7606/15 01:23method不要縮,method取得好裡面變數縮寫就行,一般人

benedict7606/15 01:23應該都看得懂

Vitaceae06/15 01:27一個方法60個字元,根本閱讀毒藥

Vitaceae06/15 01:27以前罵縮過頭,現在一堆長過頭的

t6414106/15 01:28如果XXX是參數可以省略byXXX,但得視情況,不是很通用就

Ghamu06/15 02:27我都會上網查一下那個單字的公定縮寫abbreviation 是啥

Ghamu06/15 02:28寧可長 不要短看不懂

Ghamu06/15 02:29長的被看懂未來還有可被英文好的人refactor 自己沒照英文正

Ghamu06/15 02:29確的縮寫亂縮 以後真的只能靠通靈才知道意思了

Ghamu06/15 02:30我寫的縮寫有些比較少用的 我還會再後面註解一下縮寫是啥

Ghamu06/15 02:31最近回去看半年前自己寫的code 因為有正確命名與註解 3分鐘

Ghamu06/15 02:31就找到該找的地方 感到驕傲

Ghamu06/15 02:34反觀新公司中國外包的幹你娘程式碼 命名常數int HOST 跟HOS

Ghamu06/15 02:34T_ 幹你媽兩個值還存不一樣的 真的很想殺人

Ghamu06/15 02:36可怕的是我HOST 常數之前已經使用一堆了 冷汗直流

harry83062206/15 03:38ons

harry83062206/15 03:38之前跟同事討論過業界較通用的縮寫

harry83062206/15 03:38歡迎大家參考 也歡迎發PR補充XD

steve101206/15 04:10不要縮寫

wulouise06/15 06:21如果你有引數,那個by後面的通常可以省略

Darkword198706/15 06:59變數名稱長點會怎樣嗎

lion74120506/15 07:33也可以參考一下我的心得 lionethan.com/2019/08/%e7

lion74120506/15 07:33http://www.lionethan.com/2019/08/%e7

azureroki06/15 08:11對英文不熟悉的看到超長變數很煩躁

GinginDenSha06/15 08:19另一個思路是 byXXX 這種程式可以改寫成 Factory M

GinginDenSha06/15 08:19ethod 或 Strategy 可以省下取名的困擾,又保持程

GinginDenSha06/15 08:19式的擴充性

Csongs06/15 09:03個人最討厭的就是英文亂縮寫

vi00024606/15 09:19EbiIwnTuSnpdNfToUiOmf();

yyc121706/15 10:02by(XXX xxx)呢

yyc121706/15 10:03不然原來的例子算OK吧 很好懂呀

alihue06/15 10:04By 省掉,可以看參數知道。此外應該選可讀性高的字體,長

alihue06/15 10:04度不是問題,看不懂命名才是問題

james73206/15 10:24我覺得長度沒什麼問題

james73206/15 10:25之前看過會縮成GFVBX這種恐怖的縮寫

x00003200106/15 10:37XXX().Get().Firmware().Version()

casd8206/15 11:02看語言吧 像Swift幾乎都不縮寫 cocoa api一堆20-30字母的m

casd8206/15 11:02ethod Go的話很多api就一堆縮寫

v7q406/15 11:10曾經跟對岸工程師合作 他寫一個method叫getNBvalue()

v7q406/15 11:11我一直不懂什麼NB? 筆電嗎? 還是什麼特殊單字的縮寫??

v7q406/15 11:11後來問他才知道 NB=牛逼 ....

cuteSquirrel06/15 11:13XDDDDDDDDDDDDDDDDDD 太牛啦

alihue06/15 11:39getSBValue()

wangk1357906/15 12:05這樣看起來 那位對岸人士也沒什麼問題 取的真牛XDD

chuegou06/15 12:45getSBvalue

WTFCN06/15 12:57getNMSLvalue()

jobintan06/15 13:07我都打全名,用簡寫的會被誤判。

jobintan06/15 13:11例:creditCardInformation()之類的。

shooter55506/15 14:14名稱過長會不會是需要在切一層結構的警示呢

thibw13ug106/15 16:09最好是駝峰跟底線兩種一起混用,然後避開password

thibw13ug106/15 16:09account login之類的單字,因為弱掃軟體會不管三七二

thibw13ug106/15 16:09十一直接判為弱點

enthos06/15 16:24fwver@ fwver! /* FORTH get and set */

NTULioner06/15 17:45abcdefghihklmn...

NTULioner06/15 17:46用完一輪就 aa ab ac ad

james73206/15 17:46寫牛逼的我會打死他 XDDD

roccqqck06/15 18:14用沒看過縮寫真的很靠北

askaleroux06/15 18:14getCNMValue(0

roccqqck06/15 18:16寫log也不要用縮寫

wulouise06/15 18:39我不寫log4都寫2

jinmin8806/15 19:38最好

Ghamu06/16 02:30getNBValue XDDDD

jobintan06/16 08:07JS我用駝峰,Python用底線,CSS用減號。

ChungLi556606/16 08:59長就給他長啊 縮到看不懂跟aaa bbb有啥差

jobintan06/16 11:05aaabbb的真的是災難,有時候用日文Romaji與內地的漢語拼

jobintan06/16 11:05音搞的命名都好多了。

ShenJing06/17 10:27感謝2樓,推影片

b8504031206/20 00:41用 aaa bbb 即可,反正 minify 之後也是差不多的

greenx06/20 12:03只用大家看得懂的縮寫,不然寧願完整寫清楚