skillup

技術ブログ

プログラミング全般

命名規則について

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

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

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

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

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

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

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

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

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

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

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

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

短縮形を使う

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

不要な単語を避ける

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

フォーマットを決める

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

参考リンク

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

-プログラミング全般
-

執筆者:


comment

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

関連記事

no image

フォームの処理について

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

no image

PHPの例外クラスについて

PHPの例外クラスについて今まで一方的にExceptionで受けており、それ自体は問題なさそうですが、 一応再度確認。 Contents1 エラークラスの分類2 Throwableに関して3 Exce …

no image

コーディングについての気づき

現在の現場でコーディング関連で勉強になっているポイントについてまとめてみようかと思います。 Contents1 自動化2 命名3 責務の分離4 その他 自動化 規約エラーなどなるべく自動化できるものは …

no image

アクセストークンの分類について

認可情報を取得する際に、ID &パスワードではなく、アクセストークンで認証を行うサービスは多いと思うのですが、アクセストークンにも色々ありますので、再度まとめておこうと思います。 以前まとめた …

no image

Observeパターンについて

Contents1 Observeパターン2 他の対策2.1 プログラムで頑張って制御2.1.1 メリット2.1.2 デメリット2.2 Databaseのtirggerを使う(DB更新系のみ)2.2. …

アーカイブ