4-1.共通化の目的

共通化の目的

共通化とは何のために行うのか。
それは大きく以下の2つを実現するためです。
・コーディング量の削減
・コーディングの標準化
いずれも、一つのシステム内において、複数の処理で同じロジックを記述する場合にメリットがあります。

 

共通化という作業の誤解

「共通化」というと、どういう作業を思い浮かべるでしょう。
製造作業(コーディング)を行う中で、類似の処理を”共通関数”として、別パッケージにまとめる。
開発者からの依頼で、細々とした関数を作る若手向けの作業。
そういったイメージではないでしょうか。

しかし、それは共通化の望ましい姿ではありません。
既に製造や単体テストが始まってから類似の処理であることに気付いたから共通関数を作成するのでは、システム構築で忌み嫌われるはずの、”設計への手戻り”でしかありません。
しかも多くの機能で使用される共通部品ですから、その手戻りは大規模なものになります。

共通関数は、設計の時点で洗い出しが行われているべきです。

もちろん、設計の段階で全ての共通機能を洗い出しきる事は、大規模なシステムであれば事実上ほぼ不可能でしょうから、製造の過程で気付いた共通機能を共通関数として実装することになるのはあり得ることです。
しかし、あくまでも原則として、設計の時点で共通化を意識しておくという意識が重要です。

そうしなければ、作業が後回しになり手戻りが発生するか、もしくはあるべき共通化が行われない冗長化した保守品質の悪いシステムが出来上がることになります。

共通化の目的であるコーディング量の削減・標準化を実現するためには、設計フェイズの早い段階で、システム全体を俯瞰し共通化できそうな処理を洗い出し、いち早く確度の高い外部設計を行うというハイレベルなスキルと経験の蓄積が求められます。
決して細々した若手向けの作業ではないのです。

 

2018-04-19

Posted by tfurukaw