ちょっと時間ができたので、PEP8(古より伝わるPythonコーディングルール)を読んでみる。自分に不足していた部分だけピックアップ。
日本語参考サイト
日本語に翻訳・解説してくれるサイトがたくさんあって助かった。
[Pythonコーディング規約]PEP8を読み解く
https://qiita.com/simonritchie/items/bb06a7521ae6560738a7
インデント
# 引数とそれ以外を区別するため、スペースを4つ(インデントをさらに)加える
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
関数定義の際は、インデント追加する。この場合だと5行目との違いがわかりにくくなるため。
演算子を含んだ改行
# 演算子とオペランドを一致させやすい
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
時々長いテキストをつなぐ際に使うので、メモ。
文字列に含まれる引用符
Python では、単一引用符
https://pep8-ja.readthedocs.io/ja/latest/'
で囲まれた文字列と、二重引用符"
で囲まれた文字列は同じです。この PEP では、どちらを推奨するかの立場は示しません。どちらを使うかのルールを決めて、守るようにして下さい。
HTMLコーディングの癖で、ダブルコーテーションで統一している。ただコピーしてきたコードのコーテーションがシングルの場合、直すのが面倒なのでそのまま使っている。
関数・変数名の命名ルール
変数や関数の命名に際しては、基本はチームのルールに従う。いくつか一般的な方法があるので、それらを参照できる。
一番わかりやすかったCapWords方式。アンダースコアを使用する方法より文字数を減らすことができるうえ、可読性も損なわれていない(ように見える)。
https://pep8-ja.readthedocs.io/ja/latest/
CapitalizedWords
(CapWords, または CamelCase – 文字がデコボコに見えることからこう呼ばれます [4])。StudlyCaps という呼び名でも知られています。
QRコードのパラメータを発行する際など、文字数がシビアなシーンがちらほらあるためPythonに限らずこの方法にシフトさせていきたい。
ただモジュールやメソッドなど、シーンによって記法を変えたほうが良いともあるのでそのあたりはドキュメントといったり来たりという形になりそう。