arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

命名規約について

命名規約について。
javaの命名規約って素晴らしいなと。文字のスタイルで何か想像つくし。

十分短く十分長い変数名をスコープごとに使用する。
一般的に、ループカウンタには1文字、条件やループ変数には1単語。
メソッドには1-2単語、クラスには2-3単語、グローバル変数には3-4単語を使用する。

具体的な(specific)名前を使用する。例えば、”value”、”equals”、”data”といった変数名はいかなる場合も有効ではない。

意味のある(meaningful)名前を使用する。変数名は、格納する値を表すのに正確な説明であるべきだ。

変数名を”o_”、”obj_”、”m_”などから始めない。変数名に、自身が変数であると自己言及するタグは必要ない。

自社の命名規約に従い、アプリケーションを一貫した変数名で書く。例えば、txtUserName、lblUserName、cmbSchoolType、といったふうに。
そうしなければ、可読性は下がり、検索/置換ツールは有効ではなくなる。

プログラミング言語の標準に従い、大文字/小文字の文字列を一貫しないまま使用しない。
例えば、 userName、UserName、USER_NAME、m_userName、usernameなどの混在だ。Javaの例を挙げる。
Camel Case(Upper Camel Case)をクラスに使用する。VelocityResponseWriter
Lower Case(Lower Camel Case)をパッケージに使用する。com.company.project.ui
Mixed Case(aka Lower Camel Case)を変数に使用する。studentName
Upper Caseを定数に使用する。MAX_PARAMETER_COUNT = 100
Camel Caseをenumクラスに使用し、Upper Caseをenum値に使用する。
‘_’ を定数とenum値以外のいかなる場所でも使用しない。(これらは定数だ。)

同じ変数を同じクラスの異なるコンテキストで使用しない。
例えば、メソッドとコンストラクタ、クラスなどだ。そうすれば、よりシンプルに理解しやすく保守もしやすくすることができる。

同じ変数を、メソッドや条件などの異なる目的で使用しない。代わりに、新しく別の名前の変数を用意する。このことは、理解しやすさや保守のしやすさにも重要だ。

ASCIIではない文字を変数に使用しない。それらは君のプラットフォームでは動作するかもしれないが、他のプラットフォームでは動作しない可能性がある。

長すぎる変数名を使用しない(50文字とか)。長すぎる名前は醜悪で、読むのが困難なコードだ。その上、いくつかのコンパイラでは文字数制限(character limit)により動作しない。

命名のための自然言語を一つに決めてそれを使用する。
例えば、英語とドイツ語の混在した名前は調和がとれず、読みずらい。

意味のある名前をメソッドに使用する。
名前はメソッドの正確な動作(action)を具体的に表し、大抵の場合、動詞で始まる(createPasswordHashなど)。

自社の命名規約に従い、アプリケーションを一貫したメソッド名で書く。例えば、getTxtUserName()、getLblUserName()、isStudentApproved()などである。そうしなければ、可読性は下がり、検索/置換ツールは有効ではなくなる。

プログラミング言語の標準に従い、大文字/小文字の文字列を一貫させないままで使用しない。例えば、getUserName、GetUserName、getusernameなどの混在だ。Javaの例を挙げる。
Mixed Caseをメソッド名に使用する。 getStudentSchoolType
Mixed Caseをメソッドパラメータに使用する。 setSchoolName(String schoolName)
意味のある名前をメソッドパラメータに使用する。そうすればドキュメントがない場合でも自身をドキュメンテーションすることになる。

変数とメソッドの命名ベストプラクティス15 – 杉風呂2.0 – A Lifelog –
http://d.hatena.ne.jp/suginoy/20120226/p1

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

28. 2月 2012 by arison
Categories: 日記, プログラミング | Tags: , | Leave a comment

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください