私は盲目的に "ベストプラクティス"に従うことで、ベストプラクティスを厳密に守っている悪ふざけの悪ふざけにつながる可能性があることを知っています。固体の原則はそれだけです、の原則です。それらはすべての状況に当てはまるわけではありませんが、コード内で改善が得られる可能性については、依然として非常に優れたヒューリスティックです。SOLIDの原則にどの程度厳密に従っているかを報告する静的解析ツールはありますか?
これらの弱点は、ソースコードを深く分析して適用する必要があることです。私は、ほとんどのプログラマーのように、より効率的な方法を探していますので、SOLIDの原則(またはその欠如)の適用をテストしようとする分析ツールについて誰かが耳にしていれば、私は不思議です。
SRPシングル責任 原則
クラスは 変化に一つだけの理由があるはずです。
OCPオープン・クローズ 原理
ソフトウェアエンティティ(クラス、モジュール、 機能など) 拡張のために開いている必要がありますが、 変更のため閉鎖。
LSPリスコフ 置換原理
サブタイプは その基本タイプの置換可能でなければなりません。
ISPインタフェース 棲み分け原理
クライアントは、彼らが使用していない方法により に依存することを強制すべきではありません。 インターフェイスはクライアントに属し、 階層には属しません。
DIP 依存関係逆転の原則
抽象化は 詳細に依存してはいけません。詳細は、 抽象に依存する必要があります。
-fromアジャイル原則、パターンとプラクティス
*ソースコードを深く分析して適用することが必要な場合があります。*コードの分析(深度に関係なく)で十分であれば、そのようなツールも可能ですが、十分ではありません。 – Wolf
@Wolfその特定の文章の文脈において、私は理解、洞察、直感に基づいた人間分析を意味しました。 –
あなたは、後で自動的に存在が確認される人間のコード分析から取得されたパターンを意味しますか? – Wolf