ラベル 詳細設計 の投稿を表示しています。 すべての投稿を表示
ラベル 詳細設計 の投稿を表示しています。 すべての投稿を表示

2020年3月9日月曜日

クラス設計とは

こんにちは。

今日は、クラス設計について書いてみようと思います。

クラス設計で大切なのは以下の3点です。

  • 基底クラスを作る
  • 継承を使う
  • リファクタリングを行う
最近は、フレームワークを使うため、いちからクラス設計することはありませんが、クラス設計は、知っていると結構役に立ちます。

クラス設計とは

クラス設計とは、システム開発の詳細設計の工程で作成する設計書の1つです。

クラス図とも呼ばれ、クラスの関連性を図示したものです。

クラス設計がなぜ大切かと言うと、同じ処理を何度も書かないためです。

同じ処理を異なるクラスで書くと、修正する際に大変になりますし、不具合の原因となります。

どのクラスで、どの処理を行うかで、ソースコードが綺麗な読みやすいものになるかを左右します。

綺麗なソースコードは、不具合が少なくなります。

では、以降でクラス設計で大切なことを説明していきます。

基底クラスを作る

基底クラスとは、継承元となるクラスです。

スーパークラスとも呼ばれ、全てのクラスで使用できる変数や関数をコーディングします。

フレームワークを使用していると、基底クラスを作らず、フレームワークのクラスを直接継承し作成することもあるのですが、なるべくフレームワークのクラスを継承する基底クラスを作ることをお勧めします。

経験上、設計・コーディング・リファクタリングしていくと、同じ値を保持することがよくあります。

例えば、状態を保持する変数は、基底クラスで設定し、状態繊維の処理も基底クラスにコーディングすることで、状態の不一致で不具合となることが減ります。

また、例外処理を基底クラスでコーディングするとで、継承先のクラスでは処理に専念することができます。

継承を使う

新しいクラスを作る時は、継承して作成しましょう。

単体のクラスをすぐに作るプログラマーも多いのですが、フレームワークを使用すると、ある程度の必要な処理はフレームワークに含まれています

せっかく信用あるフレームワークを使用するのですから、フレームワークで用意されている処理は使うようにしましょう。

無理に独自処理を組み込むことは、セキュリティ上の脆弱性を組み込んでしまう可能性もあります。

昔々は、ステップ数が多い方がいいという時代もありましたが、現在は、安全性が重視されます。

リファクタリングを行う

ソースコードは、リファクタリングしましょう

動くソースコードが出来上がったら、試験の工程へ移行しますが、ソースコードは、何度もリファクタリングを行うことで、より綺麗なソースコードとなります。

リファクタリングでまず必要となるのが、クラス設計の見直しになります。

特に継承先のクラスで何度も使用する変数や処理は、継承元のクラスに移すことで、より洗練されたソースコードになります。

システムは、動作するものができたら終わりではありません。

定期的にソースコードをリファクタリングを行うことで、セキュリティ上の脆弱性を防ぐこともできます。

大きなシステムほど、過去のソースコードには手を加えないという暗黙の了解のあるプロジェクトがありますが、そのようなシステムは、スパゲティコードになっていることがよくあります。

まとめ

クラス設計書は、詳細設計の工程で作成される設計書ですが、何度もリファクタリングを行い、それに伴って改訂をしていきましょう。

クラス設計書があることで、新たな機能の追加や変更にも早い対応ができます。

また、クラス設計を行うツールも多く出ていて、クラス設計からソースコードを生成してくれくツールもありますので、用途に応じて探してみるのもいいかと思います。

では、今日はこの辺で。