コーディングの注意点

クラス化の留意点

 クラスモジュールは、あくまでも「型」を定義するものです。
なので、たとえば、内部で frmMain を直接参照したりするようなコーディングは、できるだけ避けます。

Public Sub Output()
    
    'frmMain のテクストボックスに出力する
    frmMain.txtOutput.Text = m_strOutput
    
End Sub

こういう場合は、面倒でも、引数やプロパティに対象となるオブジェクトを渡すようにします。

Public Sub Output(ByRef Target As TextBox)
    
    'Target に出力する
    Target.Text = m_strOutput
    
End Sub
    ↑↓
    Call obj.Output(frmMain.txtOutput)

このことはクラスメンバに限った話ではありません。
プロシージャの内部では、できるだけモジュールに依存しないコードを書きます。
必要なデータは引数から得るようにします。

 引数は、その変数の役割を示します。
いきなり frmMain.txtOutput なんかが出てきても、解読する人はそれを探さなければなりません。メソッドを呼び出すときに引数として txtOutput を渡していれば、プロシージャ内で迷うことは少なくなるでしょう。

また、こうすることで、モジュールの部品化や整理もしやすくなります。
今まで全く気にしていなかった人は、試してみてください。

2001年 2月28日(水) 更新