見出し画像

読書メモ「Clean Craftmanship」

表記本を読んだので感想を記載します。

アンクルボブ先生のクリーンクラフトマンシップです。こちら、XP祭り2023でいただいた本になります。ありがとうございました!!
 本書ではすべてのプログラマーが従うべき規律、基準、倫理について説明しています。新人プログラマーが5年ごとに倍増しており、またソフトウェアが世の中のコアになる中で、クラフトマンシップの重要性を説明しています。
 前半はエンジニアプラクティスとしてXPのサークルオブライフの中から「テスト駆動開発」「リファクタリング」「シンプルな設計」「ペアリング(協力的プログラミング)」「受入テスト」について説明しています。特にその大前提のテスト駆動開発について大きくページを割いて説明しているのが特徴的でした。

TDDは複式簿記である。同じ目的を持ち、同じ結果をもたらす、同じ規律である。すべての事は2回記入する。テストをパスさせることで、バランスを保ち続ける相補的な関係である。

2章より

信頼できるテストがあり、リファクタリングのスキルがあり、シンプルな設計に向かうことができれば、プログラマーは劣化したシステムをクリーンにすることに恐怖を感じなくなるだろう。

第10章より

上記のように、テストがシステムを恐れなく触っていくためには非常に重要という事が書かれています。

1.私は、有害なコードを作らない。
2.私が作るコードは、常に私の最高傑作である。振る舞いや構造に欠陥のあるコードを故意に残すことはしない。
3.私は、コードが正常に動作する証拠をリリースごとに用意する。それは、迅速で、確実で、再現可能な証拠である。
4.私は、誰かの進捗を妨げないように、小さく何度もリリースする。
5.私は、私や誰かの生産性を高めるために、できる限りのことをする。決して生産性を落とすようなことはしない。
6.私は、私や誰かの生産性を高めるために、できる限りのことをする。決して生産性を落とすようなことはしない
7.私は、他の人が私をカバーできるように、私が他の人をカバーできるように努める。
8.私は、規模と精度の両方を正直に見積もる。合理的な確実性がない時には約束はしない。
9.私は、仲間のプログラマーの倫理、基準、規律、スキルを尊重する。その他の属性や特性を尊重の要因にすることはしない。
10.私は、私の技術の学習と向上を怠らない。

プログラマーの誓い 第11章より

後半はクラフトマンシップについて上記プログラマーの誓いを順に説明していました。規律、基準、倫理についてしっかり持つことで勇気をもってプロフェッショナルな仕事ができるという教えはとても良いと思います。エンジニアは自分の仕事が世の中を幸せにも不幸にもしてしまうという事で不安な未来を予期する内容も書いてあり、身につまされました。

この記事が気に入ったらサポートをしてみませんか?