変数名募集。

短いプログラムを書いていると、変数名を決めるのが面倒です。予約語と被らないようにするのも面倒です。でもたまにローマ字の変数名を見ると、イラッとします。
(関係ないですけどPHPの$って優れものですよね。よく記述し忘れますけど。)

言語も、使う場面も何でもいいです。
オススメできる変数名と、使い道と、少し捻ってあるものは由来も教えて下さい。
出来れば三つ以上お願いしますね。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/11 00:20:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:matsu-boolean No.1

回答回数43ベストアンサー獲得回数7

ポイント35pt

今時流行らないハンガリアン表記法なのですが…自分がよく使いがちなのは以下の感じです。

nIdx : ループによく使うあれです。二重ループは、なにも思いつかないと nIdx2 なんてしがちですが、あまり良くない習慣なのでしょうね。

sText : なにか、適当な文字列を入れる時に名前が思い浮かばないとつけるやつです。1つの単語だけと分かっているときは sToken とかしたりします。

sLine : ファイルなどから1行読み込んだ時に入れる変数です。

sResult : ハンガリアンなので接頭詞はいろいろ変わりますが、関数(メソッド)の戻り値になる予定の値のワーク変数です。

Value : JavaとかでいわゆるSetterメソッドなどで、値を一個だけ受け取るメソッド(関数)の引数なんかに使います。

id:ingot07

多重ループは何も考えずにi,j,k、文字列はstrにしてますね…。確実に慣習に毒されてます。


token、拝借していきます。charよりは打ちやすくて良いです。

ファイルの読み込みは、ループ中でtempに入れてる、かな?

あー、ありますあります。resultに演算の結果とか、戻り値を格納するのは。resultって打ってて気持ちいいんですよね。

valueだとかdataだとかhogeだとか、これといって意味のない変数を使っていると段々頭が悪くなっていくようでとても楽しいです。

2008/02/04 11:37:30
id:makiton No.2

回答回数23ベストアンサー獲得回数3

ポイント35pt

個人的によく使っているルールを。

  • foreachやfetchで1要素抜き出すときは、もとの配列名の先頭一文字を使う

スコープが小さいときは混乱する危険性が比較的小さいので、短い変数名を使います。

foreach($records as $r){
 print $r;
}

  • オブジェクトのインスタンスはオブジェクト名にする
$user_agent = new UserAgent();
$object = new Object();

  • 変数の中身と意味をあわせる

往々にして予約語と衝突するので、適当な文字数で区切ります。

function func() // "func"tion 変数じゃないですが
{
    $ret = 'return value'; // "ret"urn value 
    return $ret;
}
for($index=0; $index<MAX; ++$index){...}
$counter = 0;
while(($counter++)<MAX)){...}
$separate_character = '/';
$tokens = split($separate_character, $text); //配列の場合は複数形

なんか漠然とした例になってしまいました。すみません。

そういえば、コードコンプリートという本に変数名の決め方についての記述があります。

自分はまだ読んでないんですが、参考になるかも知れません(少し高いですが)。

http://radiofly.to/nishi/programming/c-naming.html

Code Complete第2版〈上〉―完全なプログラミングを目指して

Code Complete第2版〈上〉―完全なプログラミングを目指して

  • 作者: スティーブ マコネル
  • 出版社/メーカー: 日経BPソフトプレス
  • メディア: 単行本

id:ingot07

変数名は割と語感で覚えているので、user_agent と UserAgent が同一ソース内に出てくると、当方の脳内メモリがオーバーフローしてしまいます…


func() はアリですね。

ただ、retは、別の意味に聞こえてしまうので、resを使ってます。


お薦めの書籍は、何か、通貨単位が間違ってんじゃないかと思うような値が付いてますが…

2008/02/06 17:07:03
id:KUROX No.3

回答回数3542ベストアンサー獲得回数140

ポイント10pt

よくない例なのかも分からないけど、

ローカル変数で使い捨てする場合に

w ->ワーク変数

c ->char

s ->string

o ->object

-------------

長いオブジェクト名を省略して書くときに、クラス名の頭文字だけ。

これも局所的に使う場合だけ

u = new UserAgent();

-------------

母音を無視して3文字程度にするとか

vct = new Vector();

obj = new Object();

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません