0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#45.Tidy Firstの感想

Posted at

はじめに

こんにちはnayaaaaです。
社内の勉強会のテーマがTidy Firstについてなので、今回はTidy First読んだ感想について書いてみました。

Tidy Firstとは?

エクストリームプログラミングの考案者で、ソフトウェアパターンの先駆者であるケント・ベックが、システム全体の構造を念頭に置き、コードを改善するには、いつどこで整頓するのがよいかを解説しています。

エクストリームプログラミングは以下のことを指します。

エクストリームプログラミングはアジャイル開発手法の1種です。顧客の要望を取り入れながら、要件定義から設計、開発、テストの工程をイテレーションという単位で繰り返し、開発の品質を高めます。

各章は以下のようになっています。

第I部 整頓
1章 ガード節
2章 デッドコード
3章 シンメトリーを揃える
4章 新しいインターフェイス、古い実装
5章 読む順番
6章 凝集の順番
7章 変数宣言と初期化を一緒の場所に移動する
8章 説明変数
9章 説明定数
10章 明示的なパラメーター
11章 ステートメントを小分けにする
12章 ヘルパーを抽出する
13章 ひとかたまり
14章 説明コメント
15章 冗長なコメントを削除する

第II部 管理術
16章 分けて整頓する
17章 連鎖
18章 バッチサイズ
19章 リズム
20章 絡まりを解きほぐす
21章 先に整頓、あとに整頓、改めて整頓、整頓しない

第III部 理論
22章 要素を役立つように関係づける
23章 構造と振る舞い
24章 経済性:時間価値とオプショナリティ
25章 明日の1 ドルより今日の1 ドル
26章 オプション
27章 オプションvs キャッシュフロー
28章 可逆的な構造変更
29章 結合
30章 コンスタンチンの等価性
31章 結合vs分離
32章 凝集
33章 結論

読んだ感想

出版されている本なので細かい中身は触れませんが、この本は「整頓」に目を向けているのが特徴でした。

以前に読んだことのがある「リーダブルコード」や「良いコードを書く技術」がコードの書き方のコツや可読性を中心に書いているものだとだとすれば、Tidy Firstは「コードをどう整頓するか?」や「整頓の必要性」について書かれています。

僕の会社では、毎週の金曜日に勉強会が行われており、テーマで挙げられている本について、発表者となった人がスライドなどで感想を発表します。

僕が開発部内で発表を担当した章の内、29章の「結合」というところが特に印象に残っております。

コストのかかるプログラムは「結合」が多いプログラムという風に書かれており、これを読んで「確かに」と腑に落ちました。

この章でいう「結合」は、コード間の依存関係を指します。依存が強いほど、1箇所を直すたびに別の箇所まで影響が波及し、リファクタの負担が増えます。だからこそ、早い段階であらかじめ、軽い整頓リストなどを作り、変わりやすい部分は小さく分けておく。そうしておけば、影響範囲を見通しやすくなり、余計な手戻りやコストを抑えられ、思わぬ事故も減らせるというようなことが書いていました。

依存関係が大きくなってしまった後の大がかりなリファクタより、日々のちょっとした「整頓」で、変化に振り回されないようにしていこうというようなお話だと思います。

作業を行うとき、とりあえずいじってみようというように進めてしまうのでコードの影響範囲や依存関係が発生してしまう箇所をまとめる前にやってしまいます。なのでこの本を読んで考え方を改めようと思いました。

やはり最初から整頓して、リストなどでまとめておくことはメリットはあってもデメリットはないと思います。

早々に整頓することで、新たに見えてくる整頓箇所があるというのも大きなメリットの1つかなと思います。

他の章も面白いことが書かれているので、ぜひ気になった方は買って読んでみてください。

さすがのオライリー本なだけあって、表現が難しいところが多く、読み解くのには一苦労しますけど、面白い表現がされているところもあるので、そういった観点で読んでみるのも面白いかもしれないです。

オライリー本としては、ページ数が少なく、値段も比較的に安いのでおすすめです。

まとめ

さすがオライリーの一冊だけあって表現がやや難しく、読み解くのが大変でした。
とはいえ、ページ数は少ないので通勤時間でも読みやすい一冊です。
以上、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?