skillup

技術ブログ

プログラミング全般

命名規則について

投稿日:2016年6月28日 更新日:

リーダブルコードシリーズ第2段、名称について。

コードにおいては名称がとても大切で、正しい命名づけなどはなかなか難しいです。

以下に大事で重要だと思ったポイントを。

具体的でわかりやすい名前を付ける

変数の名称ですが、汎用的すぎるもの(data,tmp,res)などは指している対象があいまいなため、名前をみただけでは何か判断できないことが多々あります。なるべく具体的な名称にしましょう。

また一貫性も大事で、データを取得する場合は、get+~、保存する場合はsave+~などに決めておきましょう。

名前の規則はスコープにも依存する

tmp(あるいはこのような汎用的な名称)は変数名に適していないと書きましたが、これらが必要な場合もあります。本当に一時的で変数の残存期間が数行ならtmpでも問題ないでしょう。

このように名称をどのように決めるかは変数の影響範囲であるスコープに大きな影響を与えます。スコープが大きい場合はできるだけ具体的な名称にすべきですし、そうでない場合はある程度、短い変数をつかってもよいでしょう。

長くなりすぎることを避ける

これ私の悪い癖なんですけど、変数名が長くなりすぎてしまうんですよね。その場合の対処法としてもリーダブルコードは下記のようなことをあげています。

短縮形を使う

短縮しても問題ない情報を短縮します。その場合、プロジェクト全体で短縮のルールなどが共有されている必要はありますが。あとは接頭語や接尾語などを付けるなども短縮化に一役買います。

不要な単語を避ける

名詞だけでつないでもOKな場合は動詞を削ってしまうなど、とにかく削れる単語がないかのチェックです。doみたいな動詞は汎用的すぎるのでいらないことが多いでしょうし、ConvertToStringはtoStringでもいいでしょう。

フォーマットを決める

これはあまりなかったです。例を挙げるとクラス変数ならアンスコをつけて、ローカル変数ならなにもつけない、といったルールを使えば簡単にクラス変数とローカル変数を区別することができます。

参考リンク

関数名によく使われる英単語(動詞)の意味とニュアンス

-プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

浮動小数点に関して

金額計算なんかでfloatを使うと誤差が出るっていうのは基礎的な話ではありますが、背景知識を含めて理解しておこうと思ったのでメモります。 Contents1 float,doubleでの誤差2 金額の …

no image

フォームの処理について

本日はフォームの処理に関して。主に一覧検索画面のフォームについてです。 フレームワークでフォームの処理をする場合、変数の初期値やバリデーションなどをあらかじめ読み込むオブジェクトを設定しておき、変数が …

no image

フレームワークのマイナーバージョンチェンジの影響に関して

ここ1年ぐらいPHPのフレームワークはLaravelを使っていますが、マイナーバージョンの影響に悩まされることがたまにあります。 以前、遭遇した事象としてはログイン連携が急にできなくなりました。 La …

no image

emptyの扱いに関して

PHPで空白や存在確認として便利なemptyですが、乱用すると意図しない動きをすることがあるケースが多々あります。 Contents1 emptyの挙動に関して2 数値の03 検索などの全判定と値のな …

no image

データ構造の基礎知識 中編 ハッシュ

前回の続きです。 前回は配列、連結リストについて学習したので今回はハッシュについて学習します。 Contents1 ハッシュとは?1.1 メリット1.2 デメリット ハッシュとは? key-value …

アーカイブ