2019-01-01から1年間の記事一覧

code smell リファクタリング[lazy class編]

lazy classとは なぜ悪いのか よくあるパターン ソリューション 考え方 まとめ lazy classとは 怠け者のクラス。 クラスがほとんど振る舞いを持たずに怠けている状態のこと。(存在している意味がわからない) なぜ悪いのか 必要がない。 冗長になる。 よく…

code smellリファクタリング[feature envy編]

第三回のリファクタリングは、feature envyです。 feature envyとは 悪いコード例 なぜ悪いのか 処理をまとめることで凝集度が上がり、変更しても影響が少なくなる。 ソリューション リファクタリング前 リファクタリング後 まとめ feature envyとは あるモ…

code smellリファクタリング[long parameter list編]

今回は、long parameter listのリファクタリングをしていきます。 long parameter listとは 1. オブジェクトそのものの受け渡し 2. パラメータオブジェクトの導入 3. フラグパラメータの削除 まとめ 参考 long parameter listとは その名の通り、引数が多す…

もしこの世にDIコンテナがなかったら。

この記事はただの集団 Advent Calendar 2019の9日目の記事です。 ネット上に非常に多くの記事があるので、DIコンテナの話はほとんどしません。 この記事では、DIコンテナの目的である、 オブジェクトの生成と利用の分離 制御の反転 の話をしますmm もしこの…

code smell リファクタリング[long method編]

記念すべき1つ目は、long methodのリファクタリングを解説をしていきます。 long methodとは なぜcode smellなのか? long methodになる原因 ソリューション 単純に同じクラス内で、privateメソッドに抽出する。 他のクラスにメソッドを持って行く。 複数の…

code smell リファクタリングのススメ

はじめに なぜcode smellなのか? はじめに 金正です。 リファクタリングの関しての記事を書いていきます。 なぜcode smellなのか? リファクタリングに関する情報が非常に少ないので、綺麗なコードに関する情報はたくさんあるのに、では実際にリファクタリ…