本の概要
「動けばいいや」の「初心者のコード」と、保守性などの将来まで考えられた「プロのコード」について、簡単な例を示しながら解説を行っている本である。
感想
第三章では一般的な良いコード、例えばネストを減らすにはファストリターンを利用しようとか、長い関数は分割しようとか、そういった基礎の部分を教えていて、
第四章では頻出のPythonの標準ライブラリなどの解説をしていた。
そういった章で言っていることがまともで、初心者にも無理なく進められる本だと感じた。
個人的にはPycharmを前提にしているのも良い。初心者がVSCodeで環境構築をするのは厳しいと思っている。
同じような本の比較
この手の本と同じような主題の本だと、まず思い浮かぶのはこの本だと思う。
Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考
簡単に比較すると、こちらの本のほうが抽象的で一般的な論にしている。
Vtuberの絵で集客することも合わせて、「初心者のコード/プロのコード」は初心者に寄せている感じが強かった。
推奨読者層
ぱっと思いつく読者層は次の3つだった。
-
「SESとかに入って、とりあえずJavaの本を渡されて読んだ」というような人の二冊目の本に良さそうだ
そのレベルの人であれば上の「Good Code, Bad Code」は少しむずかしいかなと思う。 -
SI系の一次請けの人たちも読んだほうが良さそうだ
自分がSESで派遣されていた現場では、ジュニア層からシニア層までこの本の内容を理解できている人はいなさそうなレベルだった。
CMをテレビやラジオで流すような巨大なSI系にも派遣されたこともあるけど、ろくなコードを書いている人は結局見なかった。 -
プログラミングを職業としていなくても手元にPythonのコードがあり、それを改良しながら仕事をしなければいけない人にも良い
dataclassをはじめとした実務でもよく使う標準ライブラリを紹介しているのは大きい。
個人的に感じた改善ポイント
きちんと人に進められる本だと感じたからこそ、いくつか気になった場所がある。
- 個人的な「動けばいいや」なコードの典型例は「例外を握りつぶすコード」で、それに関する言及は欲しかった
- インプレースの使い所に「シビアな処理能力が求められる箇所」と言っていたが、そこまでシビアな場合は「Pythonを使わない」という選択肢も入れてほしい
- assert文は本番環境では無視される事を言わないとトラブりそう
あと、どうしようもないのはわかってるんだが、40代半ば以上の人に勧めるのは若干抵抗があった。
「Pythonで日曜大工的にプログラムを書いているんだが、どうにも詰まっている」って人だったのでちょうどいい本ではあるんだが。