JVM・ガベージコレクションに関してまとめてみた

先日、業務でフルGCが発生しアプリケーションが止まってしまうことがありました。 そもそもフルGCとは何か、わからなかったのでそこから調べて、またGCってどれくらいの頻度で発生するのか気になったので、調べて実際にちょこっと触ってみたことを書いていま…

tennis kata リファクタリング

今回の記事は、tennis-kataのリファクタリングです。 リファクタリングの記事を書いていて、かの有名なtennis-kataリファクタリングをやったことがなかったので、実際にリファクタリングをしてみました。 ただ、リファクタリングしたものを見せるのではなく…

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なのか? リファクタリングに関する情報が非常に少ないので、綺麗なコードに関する情報はたくさんあるのに、では実際にリファクタリ…