「レガシーコード改善ガイド」読んだ

自分用。 これ読んだ。 Amazon.co.jp: レガシーコード改善ガイド (Object Oriented SELECTION): マイケル・C・フェザーズ, ウルシステムズ株式会社, 平澤 章, 越智 典子, 稲葉 信之, 田村 友彦, 小堀 真義: 本 < http://www.amazon.co.jp/dp/4798116831 > 続きを読む
0
前へ 1 2 ・・ 5 次へ
べちか @bechica

プログラムを変更した際に、その変更によって予想外の影響が現れていないかどうか確認するテスト。 < http://e-words.jp/w/E59B9EE5B8B0E38386E382B9E38388.html > はい

2011-03-28 23:44:17
べちか @bechica

回帰テストは対象となる機能がデカいからめんどくさいよね、メソッドとか小さい単位で使えるテストがあるといいよね 作ろうね と書いてある。

2011-03-28 23:46:37
べちか @bechica

@Dominion525 そう言われたらわかった。 なるほど。

2011-03-28 23:48:19
べちか @bechica

単体テストは原始的な単位 手続き型だと関数 オブジェクト指向だとクラス単位ですよね という確認から始まった

2011-03-28 23:49:03
べちか @bechica

"単独でテストできることが大切、最小単位が相互作用してることって多いよね"はい。

2011-03-28 23:51:17
べちか @bechica

この辺はまあ感覚的にわかるな・・・ エラー箇所特定するうえでも、実行時間の上でも、カバレッジを上げるためにも、最小単位が小さい方が有利だ というようなことみたいだ

2011-03-28 23:52:22
べちか @bechica

"実行に0.1秒もかかる単体テストは遅い単体テストである"って書いてあるんだけど、マジ?

2011-03-29 00:00:14
べちか @bechica

うーん 翻訳が変なのかな。 1テストケース0.1秒ってことじゃなくて?

2011-03-29 00:01:41
べちか @bechica

データベースとやり取りする、ネットワークを介した通信をする、ファイルシステムにアクセスする、設定ファイル編集など特別な環境設定が必要なもの これらは単体テストではない ってかいてある えっ・・・

2011-03-29 00:05:18
べちか @bechica

"コードを変更するためにはテストを整備する必要がある。 多くの場合、テストを整備するためにはコードを整備する必要がある" うんうん

2011-03-29 01:12:14
べちか @bechica

クラス同士の依存関係がなるべく少ない方がいい 変更を容易にするために依存関係を排除しましょう みたいなことを書いてある はい

2011-03-29 01:13:05
べちか @bechica

変更点を洗い出す→テストを書くべき個所を見つける→依存関係を排除する→テストを書く→変更・リファクタリング実行 はい

2011-03-29 01:14:29
べちか @bechica

依存関係を取り除くワザ : モック作れ あい

2011-03-29 01:19:05
べちか @bechica

クラス間の接合部に注目せよ

2011-03-29 01:20:35
べちか @bechica

自動リファクタリングが使えるならそれも使おう

2011-03-29 01:21:24
べちか @bechica

1/7ほど読み終わった。 クラス間の依存関係の排除に努めよ そのためにはこの辺見なさいね みたいな話を延々やっている。

2011-03-29 01:22:30
べちか @bechica

第2部 ソフトウェアの変更

2011-03-29 01:25:42
べちか @bechica

スプラウトメソッド。変更箇所を新しいコード・テストに差し替えてしまうこと。古いクラスが宙に浮いてしまうことになりがち。テストが整備されていない時などは特に有効。

2011-03-29 01:30:21
べちか @bechica

ラップメソッド。 旧メソッドをリネーム、旧ネームで旧メソッド呼び出す新メソッドを書く。 旧メソッドの処理の前後に処理を追加したい場合など。 旧メソッドを呼び出すたびに記録を取りたい時などに特に有効。

2011-03-29 01:34:23
べちか @bechica

スプラウトメソッドもラップメソッドも、既存のクラスをテストで保護せずに変更を行うためのワザ。時間ないとき用。 新しいコードの責務と古いコードの責務を分離できるのでその辺が素敵。

2011-03-29 01:37:26
べちか @bechica

特定クラスに依存させる時は、抽象クラスとか依存先の変更が少なそうなものを選ぶ方がいい。 依存関係逆転の法則。

2011-03-29 01:41:01
べちか @bechica

なんだこの章 一言で言って「アジャイルソフトウェア開発の奥義」読めってのがまとめって酷いじゃん クソが

2011-03-29 01:42:32
べちか @bechica

機能追加するときはテスト駆動開発オススメよと書いてある

2011-03-29 01:43:43
べちか @bechica

単一責務の原則 すべてのクラスは単一の責務を持つべきである うん

2011-03-29 01:47:11
べちか @bechica

Liskovの置換原則 っつーのがよくわからない

2011-03-29 01:50:41
前へ 1 2 ・・ 5 次へ