#はじめに
オブジェクト指向プログラミングとはどういうことか、自分の言葉でイマイチ説明できないという方は、セルフチェックとしてこちらの記事の内容をチェックしてみるといいかも。
ここでいうレガシプログラマに該当するかもしれない。
#チェックリスト
レガシープログラマかどうかを判断する10項目 - give IT a try
レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ
自分はもろに当てはまっており、以下の5項目がヒット。
色々勉強が必要です。
該当したのはこのあたり。
.1 使われるローカル変数をすべてメソッドの最初に宣言する。
VBAのコードサンプルでよくこうなってたから真似していたかも。
.2 ローカル変数の宣言時に空文字(“”)や新しいオブジェクト(new Xxx())で初期化する。その後にすぐ別の値をセットする。
今の仕事でも指摘されました。メモリの無駄だからやめなさいと。
.5 基本データ型(stringやint)と配列だけでデータ構造を表現しようとする。
これもDTOを作れ!とよく指摘をもらうもの。
.7 クラスのフィールド変数をグローバル変数のように利用する。
これについてはロジックの組み方がイケてないから変数を置かざるを得なくなってる側面も否めませんが、どちらにせよするべきではないこと。
.9 クラスやクラスメンバの可視性を意識していない(privateメソッドがpublicになっている等)。
既存コード編集が多くて、ゼロからコードを書いたことがあんまりないからっていう理由もある。
全10項目のうち、半分が該当。
つまり、モダンなプログラミングからはかけ離れているという状態。
とりあえずこの全項目について非該当と胸を張って言えるようになりたい。