$userName = getUserNameById( 123 );$user_name = get_username_by_id( 123 );
前幾天被翻出的那個facebook首頁的源碼,幾乎用的都是底線法,WordPress用的也是底線法,我在寫PHP也喜歡用底線,但是有些時候駝峰“顯專業”。
而寫Javascript的時候喜歡駝峰。
大家都喜歡用什麼命名方式?
連結:Facebook PHP Source Code from August 2007
回複內容:
$userName = getUserNameById( 123 );$user_name = get_username_by_id( 123 );
前幾天被翻出的那個facebook首頁的源碼,幾乎用的都是底線法,WordPress用的也是底線法,我在寫PHP也喜歡用底線,但是有些時候駝峰“顯專業”。
而寫Javascript的時候喜歡駝峰。
大家都喜歡用什麼命名方式?
連結:Facebook PHP Source Code from August 2007
java/js等編程時習慣用駝峰方式,資料庫中庫名、表名、欄位以及Web傳參習慣用底線串連,CSS類、命令列參數習慣用橫杠串連。
PHP中在用類、對象的時候習慣用駝峰命名法,在全域變數和函數時習慣用底線,但是如果我使用的工具、架構採用了其中一種命名法,我會盡量保持與他一致,或在局部保持一致(比如某個函數內,某一大段明顯區別其他部分的代碼內)。
尤其是我喜歡用縮寫和對齊(非僅僅縮排對齊,等號、冒號、逗號甚至結尾對齊,或呈現規律),這點很多人不贊同,但我就是喜歡這樣。
建議按照 PSR-1 來:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
裡面說的很詳細,並且現在的一些流行庫都在採用。
駝峰“顯專業”
這種說法顯得你很沒有自信。
大部分的時候項目本身會有規範要求,個人習慣底線(前半句才是重點)
- 駝峰的可讀性不如底線,當變數名稱裡有全大寫縮寫時尤其明顯。
- 用駝峰的話,還要解決用哪種的問題,比如
testHttpServer
TestHttpServer
testHTTPServer
TestHTTPServer
,自己寫容易不一致,團隊協作增加記憶負擔。
- 好的IDE能幫忙,但是好的IDE也能自動補全,那麼底線也不會增加手指負擔,而駝峰的唯一優勢就是比底線打起來略微方便點。
python的命合風格:
http://zh-google-styleguide.readthedocs.org/en/latest/google-python-styleguide/python_style_rules/#id14
具體一些名稱命法:
module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, instance_var_name, function_parameter_name, local_var_name.
我個人也比較喜歡,只是自己英文差,很多時候知道那意思後,就用Google翻譯下,估計那源碼放出來會出很多笑話。
我不喜歡用那麼多的底線,如果是哪天心情好了,就用“駝峰”,心情不好就連大小寫都不分
各種方式都有,本來習慣於 getName
這種駝峰式,不過只用駝峰的話,有時會會顯得不夠用,比如很長的變數名 arrayData_or_mapData
,幾個不同的含義的時候用其他符號比如底線來分割可能會更明顯,但也會風格不統一,不過還是實用就好。
我習慣用 首字母是底線 類似 _getSystemDate
不同的代碼,不同的產品用不同的代碼風格,Java用Eclipse的提示命名,C++用匈牙利命名,Linux核心用Linux該用的命名
php還算好的了。
你看C++,有多少庫是用標準庫那種命名規範的。像MFC、QT、FLTK之類的都不是嘛。