skillup

技術ブログ

プログラミング全般

命名規則について

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

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

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

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

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

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

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

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

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

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

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

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

短縮形を使う

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

不要な単語を避ける

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

フォーマットを決める

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

参考リンク

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

-プログラミング全般
-

執筆者:


comment

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

関連記事

no image

DIについての再考察

DIに関しては今までも何度か触れましたが、最終的には環境の差異を吸収できるなどが一番のポイントかと。 サンプルソース https://github.com/umanari145/effector 上記 …

no image

例外・エラーに関する考察

えー今現在、設計の仕事をしていますが、今までいい加減だったエラーの処理を見直すいいきっかけになってます。 半年前にも同じような記事書いてますねー。苦手意識は変わらないようです・・(汗) 例外処理に関し …

no image

変数の役割について

前回のエントリーの主眼は変数を置くことで、適切な情報量に分割し、コードを読みやすくしよう、ということでした。 今回はそれとは少し逆の観点でして、不要な変数を削除して、コードを読みやすくしよう、というこ …

no image

ExcelVBAでの他のアプリの起動

2日続けてExcelVBA。 やはり細かく分けてすぐにプロシージャごとにテストできるのはものすごく大きなメリットですね。本日は別のアプリ起動と操作に関して。 自分がやったことはWordとメモを起動して …

no image

マイクロサービスについて

マイクロサービスについて勉強したので少しメモを。 参考文献 Software Design 「2020年1月」 Contents1 マイクロサービスとは?1.1 具体例1.1.1 フロントエンドとバッ …

アーカイブ