1 :
デフォルトの名無しさん :
2009/05/28(木) 20:26:08 jの変わりにkを使ってる奴 xyzを使ってる奴 abcを使ってる奴 i ii iii viを使ってる奴 それは必然
別に好きなようにすればいいよ。 でも、意味のない識別子にするとデバッグのときに追えなくなるから気を付けてね。
いや、ijk以外はヘタクソだろ。 「こっちのほうが読みやすい」って変な工夫するはいらないから、素直に書いてほしい。
いやいや、foreachでiもjも出番なし。
FORTRANでもあるまいし
でもiとjは使いやすいんだよな、慣れてるから ただ最近はm使う。見やすいから
見易さで言うとwとoもよさそうだな
m を使うと n が判り辛い罠
i:|1Ij;
10 :
デフォルトの名無しさん :2009/05/29(金) 04:46:51
ai jeyでいいんじゃないの
11 :
デフォルトの名無しさん :2009/05/29(金) 04:48:36
h i kを使ってるおれは馬鹿ですか? p q rもいいとおもわれ
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
プログラム本体はaaa.exe 関数はaa() 変数はa でもループカウンタはiだな。入れ子のときはk使うわ
#define j i
俺はプライベートでは ii,jj,kkを使ってるな
変な工夫しなくて、普通に書いてほしいよ。 いやマジで。
プログラムは prog 関数は func() 変数は buf とか ret とか err とか ループカウンタは i, j, k, m, n
18 :
デフォルトの名無しさん :2009/05/29(金) 12:01:17
誰かプログラム専用フォントを再発明して、開発環境では常にそれを使用してほしいよ。 0の中に斜め線仕込むとか、全角記号は全角らしくでかでか極太とか
>>18 全角記号なんて使うの?
普段開発にはMacを使ってるけど、Osaka等幅やMonacoは結構見やすい
気がする。0に斜線はいってるし、1とlとIが割とはっきり区別できる。
昔から使ってるから慣れきってるだけなんだろうけど。
Osakaはいいね。プロポーショナルでも悪くないし。
22 :
デフォルトの名無しさん :2009/05/30(土) 17:27:02
>ループカウンタはiだな。入れ子のときはk使うわ やっぱりそういう奴いるんだね。 安心したよ
文字サイズでかくすれば、見間違えない
プログラマなら、1文字識別子だけ大きなフォントで表示するエディタを 作る方向で解決しろよ。
“ぐ”が大きい
陰唇がハミ出してるんですね。
(i)←まんこ (j)←まんこから汁垂れてる (k)←生えたて (m)←mankoのm (n)←こどものちんちん勃起中
iとjは慣用されている文字だから、むやみに変えるべきではないよ。 ループ文のインデントの深さで見分けはつくでしょ。
>>28 お前…ぜんぜん本質をわかってないな。
for(i=0;i<10;i++)
for(j=0;j<i;j++)
a=b[j]+c[i]+d[j][j][i];
これのi,jの見分けとインデントとどう関係があんだよ。
>>1 にマジレスするとフォント変えろってことだけど。
>>27 このまま誰にもレスされなかったらどういう気分になってた?
iベトベト jゼリー と覚えればいい
iとかjってどういう経緯で使うようになったの?
Iterator=繰返子
ほぉ! じゃぁiが本来の意味か。 j,kは邪道だな
インクリメントじゃないの?
integerでしょ。
38 :
デフォルトの名無しさん :2009/06/09(火) 09:07:06
iterationだろ?
逝てらっしょん♪
40 :
デフォルトの名無しさん :2009/06/09(火) 09:14:16
index に決まってる。
もともとFORTRANから来てる。 Iで始まる変数はintだったから、DOループにIを使ってたのが始まり。
やっぱりjsだよね
for(unko=1;unko<10;unko++) for(kuso=1;kuso<10;kuso++) for(geri=1;geri<10;geri++) {
geri=unko+kuso; } /* 無限ループって恐いな */
48 :
デフォルトの名無しさん :2009/06/09(火) 23:51:48
仕方ないなぁ、おじちゃんがageてあげよう。今回だけだぞ♪
w
基本は i, j, k.. ときどき i0, i1, i2, ... てやってる
数字くっつけると見づらくないか i ii iii とかどうよ
k12x10漢字ってフォント使ってるよ。
53 :
デフォルトの名無しさん :2009/06/22(月) 22:04:02
この問題ってぶっちゃけ「つべこべいわずにドット0.303の30インチ1920x1080くらいを使え」ってこと?
メガネ作り直せって話じゃね?
55 :
デフォルトの名無しさん :2009/06/23(火) 07:46:37
ループカウンタはカウンタってわかる方がいいと思うからijklにしてるわざと
そのijklがiiklなのかjiklなのかilkjなのかわかりにくいという話ではw
コーディングスタイルとかルールは、よっぽどセンスと見識があるやつ以外は 自分で考えるとかやめてほしい。 普通に書いてほしいよ。 だめなやつほど、いろいろこねくり回して変なの考える。
static int MyFunc(int arg, int arg2, inr arg3) { return 0; } 利点: 関数名の先頭がかならず行頭に一致するので、定義部を探しやすい(正規表現で一発) 欠点: 短い型名、短い関数名、少ない引数のときになんか見た目がヤダ
>58 正規表現で一発でない定義部って、引数を複数行に分ける書き方のこと? 俺は、出来る限りプロトタイプ全体を一行で書きたい派。あまりに長いのは仕方なく分けることもあるけど。 grep等を掛けたとき、出てくるのは出来ればプロトタイプ全体であって欲しい。 後からその行付近をエディタで見て、static int の部分を確認するのは二度手間に感じる。
今時定義検索にgrep使う男の人って…
int の t と r を見分ける労力、の話かと思った
inr?
それは気付かねえわwww
正規表現で探せる、探せないの問題ではなくて、 ^MyFunc だけでマッチするから楽ってことでしょ
ああ、定義部「のみを」マッチさせるのが楽ってことね
GNUはフォーマットがキモい…
tabemono gero unko これならすぐにわかる。 食べ物がゲロになってウンコになるわけだから、何番目のループかすぐわかる
70 :
デフォルトの名無しさん :2009/06/25(木) 18:33:40
仮にunkoに3が入ってたら何を表すの?
>>65 それだと "MyFunc" を含む関数定義を探す時に面倒なんだよね。
"FooMyFunc" もあれば "MyFuncBar" もあるみたいな時に。
例えば GUI アプリでウィンドウを作成する関数は大抵の場合、
"CreateWindow" という文字列を含んでいるんだけど、それが
"MyCreateWindow" だったり "AppCreateWindow" だったり
すると ^CreateWindow では引っ掛けられなくなる。
iilijiiijiijiijiijiijiiijijlijijilijijiijijiijijiijijiijijijijliiiijiiljijiijijijiji jijijijijijijijijijijijijijijijijijijijijijjijijijijlijijijijijijliijjijiijjiljiji jjjjjjjjjjjjjjjjjljjljjjljjjjjjjjjjjjjljjjjjjljjjjjjjjljljjjjjjjjjjjljljjjjjjjjjjjjljjjjj ijijjijjijljlijijjijjijijijjijijjijjijjijijjijijjijjiijjjijjijjjijjijjjijjijjijjj jijijijijijijijlijijijijijlijijijijijijijijijljijjijijjjijijlijijijijijijijijlijlijij
つ ^[:word:]*MyFunc
jijijjiiiiijijiiijijijjjijjjjjjjjiiiiijijijiiijijjjjjjiijiijjjjjjjiiiijijijjiiij jjjjijijjijijiiijjjjijijijijjjiijijijjijijiijiijijjijjjijijjjjijjijjijjijjiiijij jiiiiijijjjjjjijijiijiiiijijiijjjijiiijjjijjijijijijijjijijijjjijijjjijijjiiijji ijjjiiiiijijiiiijjjiijjiijjjjijjijijiiijjjiijjiijjjjijiijiijijiiiijjiiiiiiijjjji ijjjijjijiijjjiiijiiijijjjiijiijjjijjjjijiijjjijjiijjiijiiijijjijiijjiijijiiiiji ijiijiiijijiijjiijiiijiijjjjjijjjijjjiiiijijjiijiijiiijjijjijiijjjjjjjijjjijijjj iijiiiiijiijjjjijjjjijjijijjiiijjjjjjjijjjiiijjjjjijjjjjiijiiijjijiijijjiiiiiiii ijijijijiiiiiiiiijijjjjjiiiijijiiijjijijjiijjiiiiiiiijjjjiijijijjiiiiijiijiijiji iijjiijjiijijjijjijjjijjijjiiiijiijiijjiijiijjjjjjjjiiiiijiiijijiijiijiiiiiiiiij iijjjiiiijjiijijjiijjijjiiijjjiijjjiiijjjjijijiiijjjjjiijjjiijiiijjjjjijijijjjji ijijiiiijjjiiijjjiiiiijiiiiijiijiiiiiijijjijiiijiiijjjiiiiiijiiijjiiiijjijjiiiji jijiiijiiijijjijijjjjiijjjjijijiiiiiiiijijjiiijjjijiiijjjjjijjjiijijijiijiiiiiii
というか、forが3重以上になったらそもそも別関数にするよね ローカル関数が定義できるような言語だったら、引数で環境を引き継ぐ必要がないから、なおさら。
3重ループなら t r f とか t m n がいいんじゃないのかな。 tk utu kine もいいかも
処理そのものが3次元な何かを対象にしてたら珍しくも無いんじゃないか? そういう場合は処理分けるのは違う気がする。
三重ループじゃないけど、教科書によく載ってるバブルソートとかでも i j k の三つは必要だよね。
いいえ。 -- procedure bubbleSort( A : list of sortable items ) defined as: for each i in 1 to length(A) - 1 do: for each j in 2 to length(A) - i + 1 do: if A[ j ] < A[ j - 1 ] then swap( A[ j ], A[ j - 1 ] ) end if end for end for end procedure -- 制御変数はたった二つで事が足りていますね。
>79 全く話し変わるけど、そのコードの言語は何?
ここまでJを大文字にする派が一人も居ないだと
規約とか、言語によっては仕様で 変数名を大文字で開始ってのはできないことがあるからなぁ そうでなくても勘違いを招きそうであんまりやりたくない
最近は、識別子をUnicodeで自由に書ける言語も多いから、アイ、ジェイでOK
84 :
デフォルトの名無しさん :2009/07/15(水) 17:49:02
結局、この手の問題って、 ドットインチを大きくできれば、それでいい。なんだよなあ。 いろいろ考えるよりも、 大きなモニターをおけるスペースを空けることを考えたほうが早かったりする。
ijのためだけに他の文字もでかくなるのはいやだ
windows じゃどうかしらんが、X だとエディターのフォントを 全部ボールドにすれば OK の場合もある
87 :
デフォルトの名無しさん :2009/07/15(水) 23:14:42
フォントを変えればいいだけじゃない?
ラテン語系みたいな未熟な言語・文字でプログラム書くから悪いんだよ その点、漢字なら問題無い
土と士とか、臼と白とか漢字でもいちゃもんつけられそうな気がするけど。
行間ギリギリにデスセンダ充てれるエディタを誰か作ればいいんだよ。
>>89 臼が出てくるプログラムとは、はてさて私には想像もできないのです。
courier new 最強
ループカウンタなんて、使う必要が無い。 内部イテレータが無い言語なんて、ありえないでしょ。
> ループカウンタなんて、使う必要が無い。 「入力がある状態になるまで何回ループ回ったのか」 とかの、ループカウントそのものが重要な場合どないすんの?
重要なら、意味のある名前をつければいい。
そもそも1文字の変数名は保守性を下げる ソース中のどこでこのカウンタを使ってるのかサーチできないじゃん
9割方はfor (int i = 0; の形で使って有効範囲はforの中だけになるだろ。そこまで絞れれば十分だと思うけど。
>>98 こんなソースも実在する。
--
void func()
{
int i;
i = anotherFunc();
if (i != 0) return;
for (i = 0; i < N; ++i) {
...;
}
}
>>98 仮にfor文内だけだとしても
検索して機械的にヒットするのと目視で確認しなきゃいけないのとじゃ
速度も確実性も劣るじゃん
単語単位での検索と組み合わせればいいのでは。
それでも1文字だと物理的に空間を取らないから目に入りづらいとか
そこまで言われたら返しようがないけど。
>>99 それが残りの1割でしょ
iの使用禁止のとこで、for文でloopCounterとか機械的に使ってるとこもあるけど それ意味あるのか、と思うけどな・・・
iとjが見分けにくいなら、jとk使えばいいじゃない。 ・・・え、なんか違う?
カウンタとしてjなんてほとんど使ったことないなあ。 2つ以上カウンタが必要な場面では、ちゃんと名付けてやることが多いわ俺は。 例えばxとyとか、rowとcolとか。
よっぽど小さいフォントでない限り、等幅ならiとjが見分けづらいということはないと思うんだけど。 「意味のある名前をつける」は俺も賛成だけど、 i、j、kには「意味」はなくても「意図」は込められてるよ。 極めて一時的な変数である、という意図が。 ロジックの都合上出てきた、「名前のつけづらい変数」に 無理やり名前をつけるのはちょっとしたストレスではある。
106 :
デフォルトの名無しさん :2009/08/13(木) 20:21:58
a, b, c, dにした方が可読性が上がる。 過去の根拠不明瞭な因習にとらわれることなく 真によいものを採用して行こうぜ。
可読性はかわらないだろ。 逆になにか意図があるのかと、考えなくちゃならない。a,b,cとか。
但しPerlで$aや$bを使ってはならない
Perlは一文字の変数にはいろんな意味があるからね…
perlの$aと$bってソート用に使うやつくらいだと思ってたけど、 増えたのかな?
$aと$b以外は記号ばっかじゃないかな ただ$c辺りはいつか使われそうで恐いから使ってないが
老眼プログラマーには i と j はキツイんだよ
iiiijiiiiijjjiiijijijijijiiiijjijijijijjjjiiiiiijjjjiiiiiiiiijjjjjjjjjjijjijijijijjijjijiijijijijijiji
116 :
デフォルトの名無しさん :2011/11/20(日) 11:21:51.10
見づらいね
117 :
デフォルトの名無しさん :2012/08/31(金) 08:30:08.07
iiiijiiiiijjjiiijijijijijiiiijjijijijijjjjiiiiiijjjjiiiiiiiiijjjjjjjjjjijjijijijijjijjijiijijijijijiji
118 :
uy :2012/08/31(金) 08:55:45.79
j使う奴はただのバカだろ 効率の悪いバカだよ
119 :
デフォルトの名無しさん :2012/09/02(日) 00:54:22.40
l(エル)と1(いち)も紛らわしい。例えば、関数名smp_lとか(サンプル関数のlongバージョンのつもりが、バージョンワンと取り違えたり)。
0(ゼロ)とO(オー)、8(ハチ)とB(ビー)あたりも紛らわしい 識別しやすいフォントを作ってほしいね 昔のパソコンのフォントのゼロは斜線入りでオーと区別が付くようになってたけど 同様に数字は斜線を入れるとかでいいんじゃないかな
121 :
デフォルトの名無しさん :2012/09/03(月) 11:21:57.81
死ねゴミ
つーか、そろそろ文字という制限から出るべきだと思う いつまでテキストエディタに足をひっぱられているのか。 ブロックも、図な
古参のプログラマーは、イテレータ処理で、iとかjとかよく使うよね。 つまり、おじさんってこと
もともとJはIの変形として生まれた。同様にVはUの変形として。
寧ろ、vが先で、二つ重なってwに、丸まってuになったと見るべき。 つまり、BVLGARIは英語ではBulgariとも表記する。 ついでにもう一言。 英語ではwを「二重のU」の意味で「ダブル・ユー」(double u)と発音するが、 フランス語イタリア語とも、「二重のV」と言う意味で"double v'e", "doppio vu"と読む。
語頭などで子音として用いるための変形UがVだと思ってたんだが、逆なのかな? IとJはIが先のはず。
ローマの建築物や碑文でも見てみるといいよ