変数名が決まらない問題、深刻です。
プログラミングの基礎の基礎を学び終えていざ実践!とテキストなしでコーディングをし始めていつも手が止まるところ、それは…変数名の命名。
コーディングで分からないところは調べれば大体のことが分かります。
ただ、当たり前ですが調べて出てきたサイトによってコードの書き方は似ていても変数名は違います。
そのためコードをコピーして使用させてもらうとしても、後から分かるような変数名を自分で考えておかないと仕様変更する際や不具合の修正をする際に本当に困ります。
※この記事にはアフィリエイトリンクを含みます。
紹介しているのは、実際に使って「よかった」と思った商品です。
リンク経由で商品を購入いただくと、筆者にごくわずかですが報酬が発生します。
ブログ運営の励みになりますのでご理解いただけると嬉しいです。
変数名ってすごく大事
「temp」「retval」ばかり使用して後から分からなくなる毎日
実務を兼ねて自分でコードを考えるようになると作成期限もあるし、仕組みや出現したエラーの対処等色々と考えることが出てくるため変数名をじっくり考える時間なんてなく、ついtempやdate、getpageという他と区別のつかない変数名ばかり使用するようになってしまいました。
短いプログラムであれば特に問題はないですが、長いプログラムになってくると変数も増えてくるため汎用的な変数名ばかり使用していると後から見返したときに「ここにはこの数字が入ってるから…こっちには…あれ…?」という感じでとても混乱する羽目になります。
命名ってなんでこんなに難しいの?
そこからは自分以外の人や未来の自分がすぐに理解できるような変数名を心がけるようになりました。
ただ…心がけるようにはなりましたが具体的にどう命名するのが正しいのか全く分からない。
それはもう毎回変数名迷子になってました。
扱うデータ名を英訳してそれっぽい変数名にしてみたり、挙句の果てには迷い過ぎてdate1、date2と汎用名を量産してみたりと…。
直近ではExcelVBAでmodule15くらいまであるプログラムを組んだのですが、完成後少しして不具合というか条件が不足していて後から変更する必要が出てきたのですが…
変数名が分かりづら過ぎて修正中の混乱がすごい!!!数か月前の自分何やってるんだ状態です(泣)
こんな感じで変数名考えるのが本当に苦手。
そんな時ふと目に留まった本が悩みにクリティカルヒットしました
変数名ってプログラマーを本職としてる人たちはどんな風に決めてるのか調べまくっていたある日のこと、ある1冊の本について紹介されていて、その本が妙に心に留まり購入してみました。
『リーダブルコード』というタイトルの本なのですが、これがもうドンピシャ!!
まだ読んでいる途中で最後までは読んでいないのですが、十数ページ読んだだけでも悩んでいる部分の考え方についてピンポイントで説明されていました。
本の内容ってこういうネット上でどこまで話して(ネタバレ)していいのか分からないため内容への言及はできませんが、変数名をどうしたらいいかという悩みを持つ人へはとてもおすすめします!
読んでから変わった、私の“命名のルール”
リーダブルコードを読んでまず思ったことは、私の思考がまだまだプログラマーになってなくて頭が堅いんだなぁです。
データ名を翻訳して英語の単語をもってくる、英語が得意なわけでもないのにそりゃあ後からややこしくなりますよね。これをまず大反省しました。
今までの私の命名はそれっぽいだけであって分かりやすさの欠片もなかったことに気づき、どうしても思いつかなかったときは最悪そのまま日本語をローマ字書きするなど未来の自分のことを考えて分かりやすさ最優先で決めるようになりました。
悩んでたけど、ちょっとだけ成長できた気がします
実務での経験値がそこまで高くないためまだまだ悩むことは良くありますが、リーダブルコードと出会ったことでこういう時はこう考えた方がいいかな?という考え方の指標ができました。
その考え方で命名した変数名がちゃんと分かりやすくなっているかどうかはまた数週間以上経過した後に見返してみての答え合わせとなるわけですが…。
それでも周りにプログラミング知識のある人がいない私にとってはこの本との出会いは運命と言っていいくらいに悩みを実務的観点で分かりやすく説明してくれる大先生となりました。
ネットで調べて解決することもいいですが、これだと思える1冊と出会い、その本を読み込むこともまた違った観点からの解決策が出てきて面白いなと思いました。
プログラミングの勉強って本当に奥が深いし終わりがなさそうですね。
最後に、本日紹介した本のURLを置いておきますので気になった方は確認してみてください!
コメント