Python』、初心者状態を超えていくための裏付けとなる知識を紹介している書籍だ。stuff」が示唆する、いわゆる駆け出しエンジニアのようなプログラマにもおすすめだが、むしろチームや部門で購入し、輪読することで、より有意義に機能する書籍と感じた。邦題は「きれいなプログラミング」とあるように、プログラマ個人が意識するとよい作法の様なニュアンスを漂わせているが、実際にはプログラマ個人に限定するよりも、共に業務を担当するグループ内で暗黙に共有しておくと相乗効果が発揮され、より効果的に作用する知識が網羅されている。それは例えば、べからず集やアンチパターン、誤解しやすい事柄にまつわる知識だ。このような知識をメンバーが事前に共有しておけば、特にレビューでの説明、根拠や裏付けとして、暗黙かつ効果的に作用するからだ。PART3PART1PART2本書は次の三部で構成されている。PART1、基本準備から始めようPART2、Pythonに適した開発方法・ツール・テクニックPART3、オブジェクト指向のPythonPART3まずPART3に触れておく。ここは少々、補足的な意味合いのある章だ。それは冒頭の説明に表れている。Pythonでは必ずしもOOPの機能を使う必要はありません。シンプルな関数やモジュールの方がうまくいくのにクラスを書いてしまうそうは言いながらも、ではどうすればよいのか?について、本書では触れていないのだ。この章で紹介されている内容は、あくまでのPythonでのオブジェクト指向であり、おそらくほとんどのユーザーには、あまり必要とされない情報だ。本書の肝はPART2にあり、特にWindowsユーザーにとってPART1が有用に機能するのが、本書の構成だ。PART1PART1は、環境変数やフォルダ構成、コマンド操作について触れられている。珍しいのが、特にWindows環境に対しての言及が多いことだ。環境変数の取扱には注意を要するだろう。それは、単一のPC内に、複数の異なるPython環境が導入される可能性があるからだ。これに伴うリスクについて本書は触れていない。NNC)迂闊に環境変数を定義すると、想定とは違うPythonが動作するリスクが生じるのだ。実際、AnacondaはWindowsでの環境変数設定を推奨しておらず、次のようにコンソールごとに環境変数を定義して起動するよう工夫している。CondaModuleArgsPART2本書の最大のポイントであり、グループ内で共有されることで相乗効果を発揮するのがPART2だ。ボリュームのある章ではあるものの、話題は小分けされており、関心のある話題だけに目を通すこともできる。ここで紹介されている話題の中心は、べからず集、アンチパターン、誤解しやすい事柄だ。以下に挙げる話題は、その一部だ。range()ではなくenumerate()を使うデフォルト引数に可変値を使用しない文字列連結で文字列を作らないsort()にアルファベット順のソートを期待してはいけない!=演算子を連鎖させない256は256だけれども257は257ではない「なぜそれではいけないのか」、「なぜそうではないのか」といった疑問が、どれか一つに対しては浮かんだのではないだろうか。その理由が気になった場合、読んで損はない書籍だ。特定の疑問が解消するだけなく、他の話題についても同様の意外性を持って楽しむことができるはずだ。「!=演算子を連鎖させない」だ。これは、次のような記述を避けるべきであることに触れている。cこの記述を理解しやすいように書き直すと、次のようになる。c)そして、ここまで書き直して気付くかもしれないことがある。cが全て異なる値を取ることだったのだろう。cが等しい場合にもTrueとなるのだ。実際に次のコードを試してみると良い。c)このように勘違いを生みやすく、結果としてバグを生じやすい書き方、なぜそうなるのかという知識、情報は、それを個人の内にだけとどめておくだけではなく、メンバー間で共有されることで、より有効に機能すると思うのだ。このような知識がチーム内で共有されていれば、レビューでの指摘や説明における、情報や知識の非対称性に伴うつまづきも解消されていくだろう。少なくとも蘊蓄披露と邪推されるような場面も減るはずだ。TOGAFTumblrはてなブログをはじめよう!espio999さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。