さて、いきなり脱線してしまいましたが、第3回です。
今回もネーミングのお話。
ローカル変数とグローバル変数
です。
僕はローカル変数には必ずw_を付けます。
グローバル変数にはGLB_を付けます。
モジュールローカルな変数にはMDL_を付けます。
こうすることによって、この変数はどこからアクセスできるのかが一目瞭然です。
関数や手続きでw_で始まる変数は、
値を代入していないとバグである可能性が高いです。
また、GLB_で始まる変数は、
他の関数や手続きで参照・更新されることを意識しなければいけません。
同様に、MDL_で始まる変数も
他の関数や手続きで参照・更新されることを意識しなければいけません。
余談ですがGLB_とMDL_の違いは、
MDL_は単一ソース内で参照・更新可能、
GLB_は複数ソース内で参照・更新可能、
という所です。
いちいち付けるのは面倒かもしれませんが、
予約語(言語に依存するもの、キットに含まれるもの、その他いろいろ)
と区別できる等のメリットがあるので、他人が読んでもわかりやすいものになります。
また、w_、GLB_、MDL_は僕のルールなので、別の文字列でも全然大丈夫です。
#僕がこの文字列にしたのは、grep(複数ソースから指定文字列を検索)した時に、
#よい結果が得られるからです。
最後になりますが、絶対ルールを守らないといけないのかということですが、
記事のタイトル通り「どうでもいいこと」です(笑)
ループカウンタにiとかjを使いますよね?
わざわざw_i,w_jにするのか?ってことです。
僕はしません!
ただ、重要なもの(ループ内のロジックが複雑で長いもの)であれば、i,jを使わず、
w_indexとかw_countなどを使います。
要は、i,jを使わずわざわざ名前を付けていることで注意を引くわけです。
この回はこの辺で ノシ