いもづる オブジェクト指向

スコープは省略しない

そもそもなぜ略すのかがわかりませんが、意外に略しているプログラムを多く見かけます。

class ClassAAA(){
    void MethodAAA(){
        //......
    }
}

ClassAAA, MethodAAA は public なのか private なのか・・?これだけを見ても判断がつきません。 「デフォルトは言語で決まっているから」とは言うものの、このプログラム自体何の言語かもわかりません。

略すことの利点は「コーディングが短くなる」くらいしか思いつきません。 しかし、「ぱっと見てスコープが断定できない」ことの方がよほど問題だと思います。 もしかしたら言語仕様がバージョンアップした際に、デフォルトのスコープが変わるかもしれません。
(スコープではありませんが、VB6→VB.NET の時にパラメータのデフォルトが 参照渡し から 値渡し に変わりましたよね)

「百害あって一利だけ」、スコープは確実に記述しましょう。

昔それを指摘したら、ちゃんと全部スコープを記述した人がいました。でも全てがpublic。。。 これでは本末転倒、論外ですね。。

 

webmaster@e-ioo.net