LeoAndo / android-engineer-codecheck

Apache License 2.0
1 stars 0 forks source link

プログラム構造をリファクタリング #5

Closed github-actions[bot] closed 1 year ago

github-actions[bot] commented 1 year ago

本プロジェクトは様々な原則に違反しています。下記のリストを参考にプログラムをリファクタリングしましょう。

LeoAndo commented 1 year ago

DRY原則 (ドライ)

コードや何らかの設定値を重複定義しない。やりすぎると密結合になるので注意。 ソフトウェアの構成や構築手法についての原則の一つで、同じ意味や機能を持つ情報を複数の場所に重複して置くことをなるべく避けるべきとする考え方

CQS 原則 コマンドクエリ分離

あらゆるメソッドは、アクションを実行するコマンドか、呼び出し元にデータを返すクエリかのいずれかであって、両方を行ってはならない。 クエリ : 結果を返す。 システムの観測可能な状態を変更してはならない コマンド : システムの状態を変更する。 結果を返してはならない

例えば、getとか名のつくメソッドでオブジェクトの更新などを行わない

単一責任原則(SRP)

個々のモジュール(関数やクラス)は、一つの責任だけを持つべきという原則です。 責任は、そのシステムを使うアクター(ユーザやステークホルダー)に対して持ちます。 Fragmentで状態管理やビジネスロジックを書かない

インターフェイス分離の原則 (Interface Segregation Principle)

インターフェースの利用者にとって不要なメソッドへの依存を強制してはいけないという原則です。 つまり簡単に言ってしまえば 不要なメソッドが存在する状況を作るらないということ

驚き最小の原則

validという名前がついているのにチェック処理以外に、データ変換処理まで行ってしまっているなど名前からは想像できないものにはしないこと。

LeoAndo commented 1 year ago

https://github.com/LeoAndo/android-engineer-codecheck/pull/16 のアーキテクチャの導入対応により、プロジェクト全体的にイシューに記載のリファクタリング要件は解決したと思いますのでクローズしました。