*命名規則沒有一定的格式可依自己看得順眼自行定義
module_name
package_name
ClassName
method_name
ExceptionName
function_name
GLOBAL_CONSTANT_NAME
global_var_name
instance_var_name
function_parameter_name
local_var_name
module_name
package_name
ClassName
method_name
ExceptionName
function_name
GLOBAL_CONSTANT_NAME
global_var_name
instance_var_name
function_parameter_name
local_var_name
避免使用的命名:
- 除了計數器及迭代器之外,不要用單一字母為變數命名。
- package 及 module 的名稱中不要包含破折號 “-“
- 變數名稱前後不要加上兩個雙底線 (如:__double_leading_and_trailing_underscore__ )。
命名慣例:
- “internal" 指 module 內或 class 中的 private 或 protected 的變數。
- 要保護 module 變數或函式,可在變數名稱前加上單一底線,若用 from foo import * 時,這些變數不會被 import。(編案:若用 from foo import _var 則還是能使用 _var 變數)。若要在 class 內宣告 private 變數或方法,則在變數名或 方法名之前加上兩個底線 (__),private 的效果是透過 name mangling 達成。(編案: name mangling 本質上只是把變數重新命名,因此使用者若執意要呼叫 private 變數還 是能夠達成。)
- 把相關的 class 及 頂層的 function 放在同一個 module 中。你不需要像 Java 般 限制每個 module 只能有一個 class。
- 命名 class 時,使用每個單字的字首用單寫 (如:CapWords)。命名 module 時,用 小寫及底線 (如:lower_with_under.py)。雖然某些既有的 module 命名仍使用大寫字 母 (如:CapWords.py),但不建議這麼做,因為當 module 名稱與 class 名稱相同時它 們將難以分辨。(你通常寫 import StringIO 或 from StringIO import StringIO ?)
命名通則:
- package: lower_with_under (public)
- modules: lower_with_under (public), _lower_with_under (internal)
- classes: CapWords (public) _CapWords (internal)
- exceptions: CapWords (public)
- functions: lower_with_under() (public), _lower_with_under() (internal)
- global/class constants: CAPS_WITH_UNDER (public), _CAPS_WITH_UNDER (private)
- global/class variables: lower_with_under (public), _lower_with_under (private)
- instance variables: lower_with_under (public), _lower_with_under (protected), __lower_with_under (private)
- method names: lower_with_under() (public), _lower_with_under() (protected), __lower_with_under() (private)
- function/method parameters: lower_with_under
- local variables: lower_with_under (public)
沒有留言:
張貼留言