java變數命名規則 在 大象中醫 Youtube 的最讚貼文
java變數命名規則 在 大象中醫 Youtube 的最佳解答
java變數命名規則 在 第04 篇、變數- Java 程式設計- 自主學習 - Zrn Code 的推薦與評價
變數 就像是資料位置的小標籤,幫助我們存取資料的位置。 ... 變數命名規則 ... 由於Java 是以Unicode 編碼,所以其實識別字的名稱可以是中文~(或其他 ... ... <看更多>
java變數命名規則 在 2018100616 撰寫程式,設定元件名稱、變數等地命名建議規則 的推薦與評價
2018100616 撰寫程式,設定元件名稱、變數等地命名建議規則王穎聰, 全國勞工聯合總工會, App ... ... <看更多>
java變數命名規則 在 [討論] 大家的命名習慣- 現有命名方法彙整及比較- 看板Soft_Job 的推薦與評價
※ 引述《meokay (我可以)》之銘言:
: 如題
: 現在常常會Review別人的程式碼
: 發現大家的命名習慣都好不同
: 舉例來說
: 一個Func是Check Status
: 有的人會寫 void check_status()
: 也有的人寫 void checkStatus()
: 也有看過寫 void CStatus()
: 姑且不論第三種
: 那大致上就是分成底線派跟非底線派
: 大家的命名是哪種風格啊?
: 有沒有大大願意分享一下~
: 或是有什麼堅持xDD
: 我先投非底線派一票QQ
命名規則是為了增加識別和可讀性,沒有強制的規定,但一旦選擇其中一種,會建議編寫
時統一格式;而化學、天文、生物也有其慣用的命名方法;大部分的程式語言也有對此進
行建議,以統一風格。
在程式設計的命名上,當變數、函式及類別等名稱由兩個以上的單字組合,就可以使用現
有的命名方法,增加識別和可讀性。目前已經出現的命名方法,可以分為Underscore(底
線式)、Camel-case(駝峰式)及Hungarian notation(匈牙利命名法)三大類。此文進行彙
整,並以個人經驗,探討其優缺點。
------
Underscore(底線式):
------
單字之間使用底線分隔,GNU/Linux環境中最常見,例如:string_name。
優點:使用底線取代空格,閱讀上比較直覺易懂。
缺點:比起Camel-case使用字首大寫取代空格,底線比較少在日常輸入,因此需要適應。
------
Camel-case(駝峰式):
------
單字之間使用大寫分隔,又可以分為Lower Camel-case(小駝峰式),或Upper
Camel-case(大駝峰式),而後者又稱為Pascal-case(帕斯卡式)。
Lower Camel-case(小駝峰式):
第一個字母用小寫,此變化常用在變數名稱上,例如stringName。
Upper Camel-case(大駝峰式):
第一個字母用大寫,此變化常用在函數、類別、屬性及命名空間上,例如StringName。
優點:
可以利用名稱前綴的大小寫,區分變數,以及函數、類別等其他型別。
單字之間使用大寫取代底線,能夠減少名稱的長度,減少程式碼超出視窗被遮擋的情況。
缺點:
比起Underscore使用底線取代空格,閱讀上較不直覺易懂。
------
Hungarian notation(匈牙利命名法)
------
在Camel-case(駝峰式)的基礎上,在名稱前綴添加預先約定好的縮寫,例如約定如下:
b boolean
c character
str C++ String
si short integer
i integer
li long integer
f floating point
d double-precision floating point
ld long double-precision floating point
sz Old-Style Null Terminated String
if Input File Stream
is Input Stream
of Output File Stream
os Output Stream
S declaring a struct
C declaring a class
Source: https://web.mst.edu/~cpp/common/hungarian.html
根據縮寫用途的不同,又可分為Systems Hungarian,以及Apps Hungarian。
Systems Hungarian:
名稱前前綴代表的是實際的資料型別,例如:strName。
Apps Hungarian:
名稱前綴代表的是目的或其他提示,例如:usName,其中us代表unsafe,為了避免Code
injection或XSS,之後必須進行過濾處理。
優點:
不需要IDE支援,就能夠從名稱能看出型別。
制定好的編碼規則,能夠在搜尋時更加統一易找。
制定好的編碼規則,能夠在命名及輸入上更快。
缺點:
需要另外學習編碼規則。
現代IDE已經可以輕易的區分型別,在資料型別上,此方法稍嫌多餘。
變數型別修改時,名稱也必須修正維護。
採用縮寫來命名,對新手較不友善,例如szName,不如stringZeroName。
也更容易造成歧義,例如szName,更容易被誤讀成其他意思,也難以Google。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.13.41.25 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1566120705.A.C1F.html
※ 編輯: lion741205 (101.13.41.25 臺灣), 08/18/2019 17:52:55
※ 編輯: lion741205 (101.13.41.25 臺灣), 08/18/2019 18:16:13
只是對專案新人或以後接手的人比較不友善,還要另外去了解那些縮寫的含意;
比起寫清楚講明白,更容易造成歧義,所以有些書提倡不要使用匈牙利命名法。
... <看更多>