読者です 読者をやめる 読者になる 読者になる

プログラミングの魔物

エラー、バグ、仕様変更と戦うブログ

メソッド呼び出しの単純化

リファクタリング 10章インターフェースをより直接的にするためのリファクタリング メソッド名の変更 メソッドの名前がその目的を正しく表現できていない → メソッドの名前を変更する メソッドにつけるコメントを考え、それをメソッド名にする 良い名前を思…

条件記述の単純化

リファクタリング 9章条件ロジックは分かりにくくなる宿命にあり、それを単純化するリファクタリングが多数存在する。 条件記述の分解 複雑な条件記述がある → その条件記述部とthen部およびelse部から、メソッドを抽出する 条件の中の式あるいはコードブロ…

データの再編成

リファクタリング 8章本読みの再開。作業と交互に読みすすめるので、今までよりペースは落ちると思う。 自己カプセル化フィールド フィールドを直接アクセスしているが、結合関係が煩わしくなってきた → フィールドに対するget,setを作ってそれだけでアクセ…

オブジェクト間での特性の移動

リファクタリング 7章オブジェクト指向の設計では責任をどこに置くかで悩む。 リファクタリングによって以前の決定を変えられるので、悩みを軽減できる。 メソッドの移動 クラスの内部に他のクラスへの依存性が高いメソッドが存在する → メソッドを他のクラ…

メソッドの構成

リファクタリング 6章5章は6章以降にあるリファクタリングカタログの導入部なのでノートを取らず読むだけ。 メソッドの抽出 ひとまとめにできるコードの断片に、その目的を表すような名前をつける うまく命名されたメソッドは再利用しやすくなる 上位のメソ…

テストの構築

リファクタリング 4章テストを作るとプログラミングが加速する。 ※ただしゲームの場合は難しい。あくまでテストの自動化が可能なコードにおける話。 自己テストコードの意義 プログラミングはデバッグにかかる時間が多い クラス自身にテストさせる(testメソ…

リファクタリング「コードの不吉な匂い」

リファクタリング 3章リファクタリングを行うタイミングについては明確な定義を持つことが出来ない。 だから経験の中から「匂い」を感じて時期を決める。この章と本の裏表紙にある表にはいつリファクタリングを行うかのヒントが書かれている。 重複したコー…

リファクタリングの原則

リファクタリング 2章リファクタリングの重要な原則を改めて振り返り、リファクタリングを実践する上で考慮すべき点をみる。 一応ノートを取りながら読んでみたけど、ほとんど概念だから読むだけでもよかった。 リファクタリングの定義 名詞としての定義 「…

リファクタリングとは?

リファクタリング 1章第1章ではJavaで作られたプログラムを例として、リファクタリングの過程を説明している。 実際に打たないと感覚が掴みにくそうだったので、Luaで例題のプログラムを組んで修正しながら読みすすめた。 汚いプログラムは何が問題か? ろく…