見出し画像

変数名が長くなってしまう症候群

皆さん、リーダブルコードってご存じですか?
コーディングにあたっての、よりよいコード記述するための教科書的なやつです。
まぁ、プログラム組んだことがある人ならば、一度は見たことがあるでしょう。
もちろん私も持ってます。
この本を読んで意外だなーって思ったのは、割と最初のほうにある「汎用的な名前を避ける」です。
汎用的な名前というのは、temp、foo、あとこの本の作者的にはgetもよろしくないらしいです。

以上を踏まえて本題。
私にはどうやら変数やクラスの名前を作る時に、名前が長くなってしまう癖があるのです。

百聞は一見に如かず。
少しご覧頂きたい。

//メインウィンドウを取得するクラス
public class MainWindowsGetClass
{
    public void MainWindowsGetProcess(){
            ~中略~
        }
}

//インスタンス
var MainWindowsGetClassIns = new MainWindowsGetClass();
MainWindowsGetClassIns.MainWindowsGetProcess();

~中略~
richTextBox1.Text = richTextBox1.Text + MainWindowsGetClassIns.processText[arrayNum] + "\n";

お分かり頂けただけましたでしょうか?
正直自分でもこれはちょっと笑ってしまいますね。
なぜこうなってしまったかというと、既存のクラスがあって、そのクラスをもとに別でクラスを作ろうと思ったらこうなってしまったのです。

既存のクラスがこちら。

//全てのウィンドウを取得するクラス
public class WindowsGetClass
{
        public void WindowsGetProcess() {
                ~中略~
        }
}

 //インスタンス
var WindowsGetClassIns = new WindowsGetClass();
WindowsGetClassIns.WindowsGetProcess();
~中略~
richTextBox1.Text = richTextBox1.Text + WindowsGetClassIns.processText[arrayNum] + "\n";

そう、「MainWindowsGetClassIns」は、変数名を命名するのがめんどくさいので、「WindowsGetClassIns」の頭に「Main」をつき足しているだけなのである。

うーん、なんか良い方法が無いものか。
これは私自身の癖であることが一番の理由なので、私が悪いです。

てゆーか元からしてよく分からないコードになっている気がする。
これからもっと精進していきたいところです。

この記事が気に入ったらサポートをしてみませんか?