pythonのコーディングスタイル,命名規則
初回公開:2018/12/16
最終更新:未
いままでコーディングスタイルやら命名規則についてはあまり気にしてこなかったが、そろそろ少しは考えてみるか。
【 目次 】
コーディングスタイル
コーディングスタイルの指針
- インデントには空白 4 つを使い、タブは使わないこと。
- 空白 4 つは (深くネストできる) 小さいインデントと (読み易い) 大きいインデントのちょうど中間に当たります。タブは混乱させるので、使わずにおくのが良いです。
- ソースコードの幅が 79 文字を越えないように行を折り返すこと。
- こうすることで小さいディスプレイを使っているユーザも読み易くなり、大きなディスプレイではソースコードファイルを並べることもできるようになります。
- 関数やクラスや関数内の大きめのコードブロックの区切りに空行を使いなさい。
- 可能なら、コメントは行に独立で書きなさい
- docstring を使いなさい。
- 演算子の前後とコンマの後には空白を入れ、括弧類のすぐ内側には空白を入れないこと: a = f(1, 2) + g(3, 4)。
- クラスや関数に一貫性のある名前を付けなさい。慣習では CamelCase をクラス名に使い、 lower_case_with_underscores を関数名やメソッド名に使います。常に self をメソッドの第 1 引数の名前 (クラスやメソッドについては クラス初見 を見よ) として使いなさい。
- あなたのコードを世界中で使ってもらうつもりなら、風変りなエンコーディングは使わないこと。どんな場合でも、プレーン ASCII が最も上手くいきます。
PEP
pythonにはPEPなるものがあって、
PEP とは Python Enhancement Proposal の略で Python を改良する案、リリーススケジュール、コーディングスタイルなど開発を円滑に進める上で重要なことを文書にまとめておくものです。
PEP+数字
法律の条文のように、「PEP 8」「PEP 20」「PEP 234」といった風に「PEP+数字」という形で膨大なドキュメントがオープンに管理されています。
PEP8
PythonにはPEP8と呼ばれる標準のコーディング規約が存在する。
PEP8 チェックツール
PEP8の日本語訳はいくつかあうようだが はじめに ― pep8-ja 1.0 ドキュメント が読み易そう。
命名規約
PEP8には命名規約も記載されている。 Python のキーワードと同じ名前を付ける場合は、末尾に_を付加して衝突を避ける。
PEP8の命名規約を簡潔にまとめた表
Google Python スタイルガイド
「Google Python スタイルガイド」というのもあって
上記の記事から要点を抜粋。
Guido の推奨に基づくガイドライン
タイプ 外部 内部
パッケージ lower_with_under
モジュール lower_with_under _lower_with_under
クラス CapWords _CapWords
例外 CapWords
関数 lower_with_under() _lower_with_under()
グローバル/クラス 定数 CAPS_WITH_UNDER _CAPS_WITH_UNDER
グローバル/クラス 変数 lower_with_under _lower_with_under
インスタンス 変数 lower_with_under _lower_with_under (protected) or __lower_with_under (private)
メソッド名 lower_with_under() _lower_with_under() (protected) or __lower_with_under() (private)
関数/メソッド パラメータ lower_with_under
ローカル変数 lower_with_under
Googleコーディングガイドを読みつつ、いろいろな命名規約を比較してみる | KentaKomai Blog も参考に
その他
この記事がわかり易いかも。
PEP 20なんてのもある。