CHAPTER 12 · 5 lessons · 62問

きれいに書く

動くコードから、読まれるコードへ。三日後の自分と、隣の誰かのために書く章。

0 / 62 問クリア

最後の章は、動くコードを、読まれるコードにする話だよ。

コードは、書く時間より読まれる時間のほうがずっと長い。あなたが書いたコードを最初に読むのは、たいてい三日後のあなた自身だ。そのとき「これ何だっけ」と言わずに済むかどうかで、その先の速さがまるで変わる。

まず PEP 8。Python には「こう書こう」という公式のスタイルガイドがあって、字下げは半角4つ、変数名は小文字とアンダースコア、演算子の前後には空白を1つ——といったことが決まっている。守らなくても動く。それでも世界中の Python 使いがこれに従っているのは、書き方が揃っていると読むときに中身だけに集中できるからだよ。

次が docstring。関数やクラスのすぐ下に """...""" で説明を書いておくと、それが Python から「この関数の説明」として扱われる。コメントとの違いは、プログラムから読み出せること。ライブラリのドキュメントの多くは、実はこれを集めて作られている。

そして 型ヒント。def tashizan(a: int, b: int) -> int: のように、引数と返値の種類を書いておく書き方だ。Python は書かなくても動く言語だけれど、書いておくと読む人に意図が伝わるし、エディタが間違いを指摘してくれるようになる。最近の Python のコードでは、これがある前提で書かれていることも多いよ。

最後が dataclass。第5章でクラスを覚えたとき、__init__ で self.namae = namae のような行を何行も書いたのを覚えているだろうか。データを持つだけのクラスなら、@dataclass と1行足すだけでそれを全部省ける。書く量が減るぶん、大事なことが目立つようになるよ。

ここまで来れば、Python コースは終わりだ。文法をひととおり通って、他人のコードが読めて、読まれるコードが書ける。次に何を作るかは、あなたが決める番だよ。

この章のレッスン

読み手のために書く

  1. 103みんなと同じ書き方にそろえるPythonには公式のスタイルガイド PEP 8 がある。守らなくても動くのに、世界中が従っているよ。問題へ
  2. 104読み出せる説明を書く"""...""" で書いた説明は、__doc__ でプログラムから読み出せる。コメントとの決定的な違いだよ。問題へ

意図を書き添える

  1. 105値の種類を書き添えるa: int と書いておくと、読む人に意図が伝わる。ただし Python は実行時に何もチェックしないよ。問題へ
  2. 106データだけのクラスを短く書く@dataclass を1行足すと、__init__ も読める表示も == も勝手についてくるよ。問題へ
  3. 107読まれるコードで仕上げるPEP 8・docstring・型ヒント・dataclass を組み合わせる総合演習。基礎3問は無く、練習10問だけだよ。問題へ

これがこのコースの最後の章。