このブログは99%ののほほんと1%のお菓子でできています。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
こんちゃ(´・ω・)ノ
今回は共通化。
機能の共通化とも言えるかな。
プログラミングするとき、
同じような機能を何度も書いていませんか?
【例】共通化前
public class Sample{
private static final String METHOD1 = "メソッド1";
private static final String METHOD2 = "メソッド2";
public static void main(String[] args){
Sample sample = new Sample();
sample.method1();
sample.method2();
}
public void method1(){
System.out.println(METHOD1);
}
public void method2(){
System.out.println(METHOD2);
}
}
【例】共通化後
public class Sample{
private static final String METHOD1 = "メソッド1";
private static final String METHOD2 = "メソッド2";
public static void main(String[] args){
Sample sample = new Sample();
sample.methodPrint(METHOD1);
sample.methodPrint(METHOD2);
}
public void methodPrint(String str){
System.out.println(str);
}
}
このように引数で表示するものを変えるようにした。
◆メリット
・修正箇所が減少する。
・問題が発生した場合に、参照する場所が少なくなる。
・コーディング量が減少する。
◆デメリット
・メソッド名に意味固有の意味を持たせることができない。
→定数名や変数名、メソッド名である程度意味はわかる。
・引数によって条件文などを使用するケースが多くなる。
◆まとめ
デメリットもあるにはあるが、そこまでのものではない。
それよりもメリットのほうが価値が高い。
システムの運用面や修正面などで共通化はかなり重要である。
よくDAOとかで同じようなメソッドを作成するが、
中に条件文を用いて共通化したほうがいいのか、
しないほうがいいのか検討が必要。
また、開発だとクラス設計書などもあって、
共通化しないと設計の修正部分も多くなる。
「一度書いたソースは二度書かない」
COMMENT