foo () { int i; ... if (i == 0) { int l; ... } }この場合、iのスコープはfoo()の中全体、lのスコープはifの中となります。
さて、本題に戻りますが…
むしろ問題は、first/lastとつける人がいたりfirst/endとつける人がいたりすることによる混乱です。また、同じプログラマでも場面に応じて対義語を変えてしまったりすると、プログラムを読むときにオオワラワです。
対義語の例を挙げておきますので、命名の際に参考にしてみてください。
短い変数名は悪者か?
いいえ。
短い変数名が示すことは、自分が一時的な(スコープが狭い)変数だということです。
より長い名前は、まれにしか使用されない変数やグローバル変数に適し、短い名前は、ローカル変数やループ変数に適します。
しかし、短くても意味を表しているほうが望ましいことは言うまでもありません。
計算結果を格納する変数の名前
total, average, maximum,...などの計算結果を入れておく変数名は、そういったものを修飾子として付加すると理解しやすく、一貫性も保たれます。
Ttl, Sum, Avg, Max, Min, Rec, Str, Ptrなど、変数名の前か後ろに付けます。
前につけるか後ろにつけるかは、プログラム全体、プロジェクト全体を通して決めることが重要です。
たとえばスコア合計を表すのにScoreTtlだったかTtlScoreだったかとそのつど悩むのは馬鹿馬鹿しいですよね。
変数につける対の言葉
最初のデータをFirstData、最後のデータをLastDataと名づけたりします。
first/lastはわかりやすいですが、first/endは一般的ではありません(英語としては)。まあだからといって英語に忠実である必要はそれほどありません。…外国人の技術者が読まない限りですが(^^;
add/remove begin/end create/destroy
insert/delete first/last get/release
put/get up/down lock/unlock
min/max next/previous old/new
open/close show/hide source/destination
source/target start/stop
変数名の力へ戻る | _ | Top of Site |