【書籍】CleanCode

書籍情報

Clean Code アジャイルソフトウェア達人の技

メモ

CleanArchitectureが既読棚に積んであるくせに読んだ記憶がない疑惑の判定で読みだしたところ、こっちの本の参照を見かけて作者同じやん!って軽く目を通してただけのはずがいつの間にか読み切ってた。
ソースコードきれいに書きたいブームのときに買ってちまちま読みつつ忘れかけてた本。
学生時代に買うとしたら気が引けるけど、業務経験出てきたり、会社に置いてあると嬉しい1冊(所感)。

クリーンコードな心がけ

第1~13章(P25~254)は1章ずつが独立しつつも1章ずつが大切なテーマについて語ってるので初心を忘れてしまったら読み返したい。
名前の付け方(2章)、コメント(4章)の即効性のある内容からエラーの書き方(7章)、システム(11章)、スレッドの並行性の話(13章)の重い話まで色々。1章あたり10~20ページくらい割いて説明されてる。
スレッド関係はよくわかってないので読み飛ばしてる。
なんかもうちょっと専門の本とか、自分の仕事に関わるようになってから読み返すと違うものが見えそうだ。

実践編

第14~16章(P255~370)はリファクタやってみました話。
つまり割とピンとこない話なので読み飛ばし。
リファクタ対象とした内容自体が読み解くのにエネルギー使うので、テスト駆動開発の方が読みやすくてTDDチャレンジもしてみたくなる。(そういえばそちらは読んだ本履歴に書いてないや)

標語

第17章「においと経験則」はたった30Pでこの本から学ぶべき問題あるソースの注意点をまとめてくれてる。全部覚えるまで毎日仕事前に1回眺める習慣付けてもいいんじゃないってくらいには大切なことが小さくまとまってる。

【書籍】ソフトウェア・テストの技法

書籍情報

ソフトウェア・テストの技法第2版

メモ

JSTQBの本が既読だったりして、余り目新しい内容はなかったのと、なんだか目が滑る…翻訳かなぁ。

多分テストを書くためのモチベーションとかを求めてるので、読みたい内容ってテストとはなにか?の基本的な部分を説明してるこれじゃない気がする。
JSTQBの方が丁寧&分厚いので、そこまで読む元気がないならこっちを読むべきなのかな。

【書籍】レガシーコードからの脱却

書籍情報

レガシーコードからの脱却
ソフトウェアの寿命を伸ばし価値を高める9つのプラクティス

概要

プロジェクトに挑む前にレガシーコードはなんたるや、コードをレガシーにしないための心構えを作る本

前提知識

必須

なし

推奨

「レガシーコード」「スクラム」「TDD」にピンとこない人

再読するなら

9つのプラクティスを目次で。
半年に1回とか、自分のプロジェクトの軌跡と照らし合わせてこの行いができたかを振り返る

一連の流れを説明している本なので、各手法の細かい方法を把握したい場合はそれ専用の専門書を買うべき。

9つのプラクティス

  1. やり方より先に目的、理由、誰のためかを伝える
  2. 小さなバッチで作る
  3. 継続的に統合する
  4. 協力し合う
  5. 「CLEAN」コードを作る
  6. まずテストを書く
  7. テストで振る舞いを明示する
  8. 設計は最後に行う
  9. レガシーコードをリファクタリングする

つまり?

①やり方より先に目的、理由、誰のためかを伝える

スクラム&PO向け説明を考えて行動する

②小さなバッチで作る

ユーザーストーリーをタスクに分解し、小さな単位で実装を行う

③継続的に統合する

CI&テストを導入する

④協力し合う

エクストリーム・プログラミングな話

⑤ 「CLEAN」コードを作る

  • Cohesive:凝縮性
  • Loosely Coupled:疎結合
  • Encapsulated:カプセル化
  • Assertive:断定的
  • Nonredundant:非常帳
    …な、コードを心がける

⑥まずテストを書く

⑦テストで振る舞いを明示する

⑨レガシーコードをリファクタリングする

素晴らしきTDD

⑧設計は最後に行う

設計を後に回し、末端から作ることでソースの重複やよりカプセル化された構造にできる。
タイトルに対して説明しにくい章だ…

所感

割と読んでる本のジャンルが被ってるのでそんなに目新しい発見はなかったかな的な。
レガシーコードを意識するための本としては良さそう。