自分のメモ用。コーディング時にコードの見栄えを良くするための備忘録。
参照元はオライリーの”リーダブルコード”。
変数は関数名の名前に情報を詰め込む
コードにコメント加えて補足することはできるが、ベストなのはコメント無しでも変数や関数の名前だけでどのような処理をするものかわかるコードである。
# 悪い例:getはゲッターと勘違いされてしまうかもしれない。 def getPage(url): … # 良い例:明確にインターネットからHTML形式でページを取得することがわかる。 def fetchHTML(url): …
- Getだけでなくfetchやdownloadをつけたり単位(例:ms)を入れたり具体的に説明する。
- bool型の変数にはis,has,can,shouldなどをつけてわかりやすくする。
- 複数のコードブロックで類似していることを定義する場合は、シルエットや列も揃える。
よくメソッドの名称として使われる動詞の代替案を下記に記す。
send→deliver, dispatch, announce, distribute
find→search, extract, locate, recover
start→launch, create, begin, open
make→create, set up, build, generate, compose, add, new
アノテーションコメント
コメントにメタデータを付加することで把握すべき点を明確にすることができる。
TODO:やること(優先度高) を記す todo:やること(優先度低)を記す FIXME:修正すべき内容について記す HACK:リファクタリングなどの解決策を記す XXX:危険、問題があることを記す OPTIMIZE:最適化や高速化できそうな点について記す MEMO:メモを記す
おまけ:Pythonにおけるアンダースコア
「__」:アンダースコア2つ
外部から参照されない。init、nameなどの特殊用途のメソッドで使用する。
「_」:アンダースコア1つ
外部からは参照可能ではあるが外部参照しないものに慣習的につける。
(PythonにはjavaやC++のprivateがないため代わりに使う。)
使わない変数や返り値にアンダースコアを割り当てる。
[例1]
for _ in range(10): print('hello')
[例2]
使わない返り値にアンダースコアを割り当てる。
_, a = method(x,y)
list(_)など、インタープリタで最後に実行した結果をリストで得る。
[参考]Pythonのコーディング規約
https://pep8-ja.readthedocs.io/ja/latest/