変数名について

2 min read読了の目安(約1500字

コードを書いていると必ず使用するのが変数
その変数の命名がとても大事だなと思ったので
復習も兼ねて纏めてみました!
まだ現場での経験がないのでもしこうした方がいいよと言うのがあれば
コメント頂けるとありがたいですm(_ _)m

これまでの変数名

$namae //パターン1
$var //パターン2
$data //パターン3
$user_id $userName // パターン4

### $namae //パターン1
これに関しては間違ってもやってはいけない。
個人的には自分しか見ないからって言う理由に対して日頃から
きちんと英単語で変数名をつける癖づけをする意味でも
やっておいてメリットしかないと思う。
ローマ字読みで変数名をつけたら指が吹っ飛ぶぐらいの気持ちがあっていい。

### $var //パターン2
これはしっかり英単語を使ってますね。
でもなんの意味を示しているのでしょうか?
variable? varanasi? variant?
「略して伝わるなら略す」と言う考え方が必要ですよね。
自分がわかるからではなく第三者が見てわかるかどうかを考える必要があると思います。

### $data //パターン3
そうです、データです。
いやそもそもプログラミングでデータを扱う以外に何があるの?
そんな感じでこちらは僕も多用していたのですが
ふと見返した時に「いや、なんのデータなんだよ」なったわけです。
自分にも他人にも優しくない変数名ですよね。

### $user_id $userName //パターン4
スネークケース、、と思いきやキャメルケース。
ここは自分でしっかりとルール決めをしておかないといけませんね
僕も気づけば混じってしまっていたので過去のコードを修正中です。

絶対の命名ルールを作る

まず必要なのが命名規則をしっかりと明確にしておこう。
会社でルールがあるのであればそれを遵守するのが人間だ。
でも中には生産性を上げるために改善した方がいいときもあるだろう
そんな時に
・日頃からルールを守る人からの提案

・日頃ルールを守らない人からの提案
であれば絶対に前者の方が話を聞いてくれるだろう
だって会社の要望に応えないで自分の要望なんて通るわけがない。
そんなわけで自分の中の命名規則を纏めてみた。

  • 変数名はスネークケースで統一
  • 一旦長くても伝わる英単語で明記(20文字ほど)
  • DBから取得したカラムであればそのカラム名を使用する

とりあえずはこんなところでしょうか。

命名する時に活用しているサイト

僕は英語がからっきしできないので
よくサイトを活用して命名をしています!
codic
このサイトのいいところが
複数形にする時に
「テーブルs」
と最後に[s]をつけると
複数形にしてくれたり
「メールを追加する」
とすると[add_email]と言ったような変換をしてくれるので
非常に助かってます。
是非とも活用してみてください!

最後に

僕はかれこれ1年以上プログラミングを学んできて
可読性を気にしてきましたが
初学者の方にはこの情報は参考までに留めて欲しいなと思ってます。
なぜなら命名に時間を使いすぎて
結局作りたかったシステムができなかったら
できなかったことに対してマイナスな感情を持ってしまうと思うので。
おすすめはとにかく動くシステムを完成させて
そこから要所を改善していくのがいいと思います!
ただし他人に見せるときはその人の時間を奪うことを考えて
最高の状態の物を見せるように!!