iとjを見分ける労力=無駄【目がチカチカ】

1デフォルトの名無しさん
jの変わりにkを使ってる奴
xyzを使ってる奴
abcを使ってる奴
i ii iii viを使ってる奴
それは必然

2デフォルトの名無しさん:2009/05/28(木) 20:36:11
別に好きなようにすればいいよ。
でも、意味のない識別子にするとデバッグのときに追えなくなるから気を付けてね。
3デフォルトの名無しさん:2009/05/28(木) 20:39:37
いや、ijk以外はヘタクソだろ。
「こっちのほうが読みやすい」って変な工夫するはいらないから、素直に書いてほしい。
4デフォルトの名無しさん:2009/05/28(木) 20:42:48
いやいや、foreachでiもjも出番なし。
5デフォルトの名無しさん:2009/05/28(木) 20:54:03
FORTRANでもあるまいし
6デフォルトの名無しさん:2009/05/28(木) 22:29:52
でもiとjは使いやすいんだよな、慣れてるから
ただ最近はm使う。見やすいから
7デフォルトの名無しさん:2009/05/28(木) 22:34:17
見易さで言うとwとoもよさそうだな
8デフォルトの名無しさん:2009/05/28(木) 23:10:24
m を使うと n が判り辛い罠
9デフォルトの名無しさん:2009/05/29(金) 02:02:55
i:|1Ij;
10デフォルトの名無しさん:2009/05/29(金) 04:46:51
ai jeyでいいんじゃないの
11デフォルトの名無しさん:2009/05/29(金) 04:48:36
h i kを使ってるおれは馬鹿ですか?
p q rもいいとおもわれ
12デフォルトの名無しさん:2009/05/29(金) 04:49:04
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
13デフォルトの名無しさん:2009/05/29(金) 07:14:05
プログラム本体はaaa.exe
関数はaa()
変数はa
でもループカウンタはiだな。入れ子のときはk使うわ
14デフォルトの名無しさん:2009/05/29(金) 07:20:33
#define j i
15デフォルトの名無しさん:2009/05/29(金) 07:28:49
俺はプライベートでは
ii,jj,kkを使ってるな
16デフォルトの名無しさん:2009/05/29(金) 09:34:48
変な工夫しなくて、普通に書いてほしいよ。
いやマジで。
17デフォルトの名無しさん:2009/05/29(金) 12:00:04
プログラムは prog
関数は func()
変数は buf とか ret とか err とか
ループカウンタは i, j, k, m, n
18デフォルトの名無しさん:2009/05/29(金) 12:01:17
誰かプログラム専用フォントを再発明して、開発環境では常にそれを使用してほしいよ。
0の中に斜め線仕込むとか、全角記号は全角らしくでかでか極太とか
19デフォルトの名無しさん:2009/05/29(金) 12:21:43
プログラマーが好きなフォント
http://pc11.2ch.net/test/read.cgi/prog/1146992332/

>>1
削除以来出しとけよクズ
20デフォルトの名無しさん:2009/05/29(金) 12:23:00
>>18 全角記号なんて使うの?

普段開発にはMacを使ってるけど、Osaka等幅やMonacoは結構見やすい
気がする。0に斜線はいってるし、1とlとIが割とはっきり区別できる。
昔から使ってるから慣れきってるだけなんだろうけど。
21デフォルトの名無しさん:2009/05/29(金) 14:31:26
Osakaはいいね。プロポーショナルでも悪くないし。
22デフォルトの名無しさん:2009/05/30(土) 17:27:02
>ループカウンタはiだな。入れ子のときはk使うわ

やっぱりそういう奴いるんだね。
安心したよ
23デフォルトの名無しさん:2009/05/31(日) 11:01:56
文字サイズでかくすれば、見間違えない
24デフォルトの名無しさん:2009/05/31(日) 13:26:49
プログラマなら、1文字識別子だけ大きなフォントで表示するエディタを
作る方向で解決しろよ。
25デフォルトの名無しさん:2009/05/31(日) 13:36:18
“ぐ”が大きい
26デフォルトの名無しさん:2009/06/01(月) 11:01:32
陰唇がハミ出してるんですね。
27デフォルトの名無しさん:2009/06/04(木) 23:13:30
(i)←まんこ
(j)←まんこから汁垂れてる
(k)←生えたて
(m)←mankoのm
(n)←こどものちんちん勃起中
28デフォルトの名無しさん:2009/06/06(土) 00:37:56
iとjは慣用されている文字だから、むやみに変えるべきではないよ。
ループ文のインデントの深さで見分けはつくでしょ。
29デフォルトの名無しさん:2009/06/06(土) 07:11:29
>>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にマジレスするとフォント変えろってことだけど。
30デフォルトの名無しさん:2009/06/07(日) 00:20:28
>>27
このまま誰にもレスされなかったらどういう気分になってた?
31デフォルトの名無しさん:2009/06/07(日) 00:24:59
iベトベト
jゼリー
と覚えればいい
32デフォルトの名無しさん:2009/06/07(日) 22:14:06
>>30
全米が泣いた
33デフォルトの名無しさん:2009/06/09(火) 02:57:42
iとかjってどういう経緯で使うようになったの?
34デフォルトの名無しさん:2009/06/09(火) 03:07:14
Iterator=繰返子
35デフォルトの名無しさん:2009/06/09(火) 03:24:06
ほぉ!
じゃぁiが本来の意味か。
j,kは邪道だな
36デフォルトの名無しさん:2009/06/09(火) 07:35:08
インクリメントじゃないの?
37デフォルトの名無しさん:2009/06/09(火) 07:41:27
integerでしょ。
38デフォルトの名無しさん:2009/06/09(火) 09:07:06
 iterationだろ?
39デフォルトの名無しさん:2009/06/09(火) 09:10:05
逝てらっしょん♪
40デフォルトの名無しさん:2009/06/09(火) 09:14:16
調べたら、教えて!gooにも同じ質問がw
http://oshiete1.goo.ne.jp/qa1485989.html

ここでもiteration, integer, increment が挙がってるけど結局どれが正しいのか・・・
まぁ、forループのカウンタとしてはiterationが一番しっくりくるけど
41デフォルトの名無しさん:2009/06/09(火) 10:28:33
index に決まってる。
42デフォルトの名無しさん:2009/06/09(火) 10:37:57
もともとFORTRANから来てる。
Iで始まる変数はintだったから、DOループにIを使ってたのが始まり。
43デフォルトの名無しさん:2009/06/09(火) 10:41:56
>>42

数学の方が古い。FORTRAN で I..N を整数にしたのは数学でそうする習慣が
あったから。

ttp://ja.wikipedia.org/wiki/%E6%97%8F_(%E6%95%B0%E5%AD%A6)

を見れば index に由来することがわかる。
44デフォルトの名無しさん:2009/06/09(火) 14:45:33
>>35
> j,kは邪道だな
jcも邪道。
45デフォルトの名無しさん:2009/06/09(火) 14:48:37
やっぱりjsだよね
46デフォルトの名無しさん:2009/06/09(火) 15:34:21
for(unko=1;unko<10;unko++)
for(kuso=1;kuso<10;kuso++)
for(geri=1;geri<10;geri++)
{
47デフォルトの名無しさん:2009/06/09(火) 16:16:34
geri=unko+kuso;
}
/* 無限ループって恐いな */
48デフォルトの名無しさん:2009/06/09(火) 23:51:48
仕方ないなぁ、おじちゃんがageてあげよう。今回だけだぞ♪
49デフォルトの名無しさん:2009/06/10(水) 07:38:54
50デフォルトの名無しさん:2009/06/11(木) 00:57:19
基本は i, j, k..

ときどき i0, i1, i2, ...
てやってる
51デフォルトの名無しさん:2009/06/11(木) 10:44:35
数字くっつけると見づらくないか
i ii iii
とかどうよ
52デフォルトの名無しさん:2009/06/15(月) 14:01:42
k12x10漢字ってフォント使ってるよ。
53デフォルトの名無しさん:2009/06/22(月) 22:04:02
この問題ってぶっちゃけ「つべこべいわずにドット0.303の30インチ1920x1080くらいを使え」ってこと?
54デフォルトの名無しさん:2009/06/22(月) 22:08:32
メガネ作り直せって話じゃね?
55デフォルトの名無しさん:2009/06/23(火) 07:46:37
ループカウンタはカウンタってわかる方がいいと思うからijklにしてるわざと
56デフォルトの名無しさん:2009/06/23(火) 10:06:32
そのijklがiiklなのかjiklなのかilkjなのかわかりにくいという話ではw
57デフォルトの名無しさん:2009/06/23(火) 10:32:42
コーディングスタイルとかルールは、よっぽどセンスと見識があるやつ以外は
自分で考えるとかやめてほしい。
普通に書いてほしいよ。
だめなやつほど、いろいろこねくり回して変なの考える。
58デフォルトの名無しさん:2009/06/23(火) 12:38:14
static int
MyFunc(int arg, int arg2, inr arg3)
{
 return 0;
}

利点: 関数名の先頭がかならず行頭に一致するので、定義部を探しやすい(正規表現で一発)
欠点: 短い型名、短い関数名、少ない引数のときになんか見た目がヤダ
59デフォルトの名無しさん:2009/06/23(火) 13:25:51
>58
正規表現で一発でない定義部って、引数を複数行に分ける書き方のこと?

俺は、出来る限りプロトタイプ全体を一行で書きたい派。あまりに長いのは仕方なく分けることもあるけど。
grep等を掛けたとき、出てくるのは出来ればプロトタイプ全体であって欲しい。
後からその行付近をエディタで見て、static int の部分を確認するのは二度手間に感じる。
60デフォルトの名無しさん:2009/06/23(火) 13:30:13
今時定義検索にgrep使う男の人って…
61デフォルトの名無しさん:2009/06/23(火) 13:36:33
int の t と r を見分ける労力、の話かと思った
62デフォルトの名無しさん:2009/06/23(火) 13:44:59
inr?
63デフォルトの名無しさん:2009/06/23(火) 13:46:10
>>58 のarg3
64デフォルトの名無しさん:2009/06/23(火) 13:53:59
それは気付かねえわwww
65デフォルトの名無しさん:2009/06/23(火) 13:54:22
正規表現で探せる、探せないの問題ではなくて、
^MyFunc
だけでマッチするから楽ってことでしょ
66デフォルトの名無しさん:2009/06/23(火) 13:56:51
ああ、定義部「のみを」マッチさせるのが楽ってことね
67デフォルトの名無しさん:2009/06/23(火) 14:05:40
68デフォルトの名無しさん:2009/06/23(火) 14:27:07
GNUはフォーマットがキモい…
69デフォルトの名無しさん:2009/06/24(水) 12:20:57
tabemono
gero
unko

これならすぐにわかる。
食べ物がゲロになってウンコになるわけだから、何番目のループかすぐわかる
70デフォルトの名無しさん:2009/06/25(木) 18:33:40
仮にunkoに3が入ってたら何を表すの?
71デフォルトの名無しさん:2009/06/25(木) 18:56:08
>>65
それだと "MyFunc" を含む関数定義を探す時に面倒なんだよね。
"FooMyFunc" もあれば "MyFuncBar" もあるみたいな時に。

例えば GUI アプリでウィンドウを作成する関数は大抵の場合、
"CreateWindow" という文字列を含んでいるんだけど、それが
"MyCreateWindow" だったり "AppCreateWindow" だったり
すると ^CreateWindow では引っ掛けられなくなる。
72デフォルトの名無しさん:2009/06/25(木) 21:44:33
iilijiiijiijiijiijiijiiijijlijijilijijiijijiijijiijijiijijijijliiiijiiljijiijijijiji
jijijijijijijijijijijijijijijijijijijijijijjijijijijlijijijijijijliijjijiijjiljiji
jjjjjjjjjjjjjjjjjljjljjjljjjjjjjjjjjjjljjjjjjljjjjjjjjljljjjjjjjjjjjljljjjjjjjjjjjjljjjjj
ijijjijjijljlijijjijjijijijjijijjijjijjijijjijijjijjiijjjijjijjjijjijjjijjijjijjj
jijijijijijijijlijijijijijlijijijijijijijijijljijjijijjjijijlijijijijijijijijlijlijij
73デフォルトの名無しさん:2009/06/26(金) 10:29:56
つ ^[:word:]*MyFunc
74デフォルトの名無しさん:2009/06/27(土) 17:01:18
jijijjiiiiijijiiijijijjjijjjjjjjjiiiiijijijiiijijjjjjjiijiijjjjjjjiiiijijijjiiij
jjjjijijjijijiiijjjjijijijijjjiijijijjijijiijiijijjijjjijijjjjijjijjijjijjiiijij
jiiiiijijjjjjjijijiijiiiijijiijjjijiiijjjijjijijijijijjijijijjjijijjjijijjiiijji
ijjjiiiiijijiiiijjjiijjiijjjjijjijijiiijjjiijjiijjjjijiijiijijiiiijjiiiiiiijjjji
ijjjijjijiijjjiiijiiijijjjiijiijjjijjjjijiijjjijjiijjiijiiijijjijiijjiijijiiiiji
ijiijiiijijiijjiijiiijiijjjjjijjjijjjiiiijijjiijiijiiijjijjijiijjjjjjjijjjijijjj
iijiiiiijiijjjjijjjjijjijijjiiijjjjjjjijjjiiijjjjjijjjjjiijiiijjijiijijjiiiiiiii
ijijijijiiiiiiiiijijjjjjiiiijijiiijjijijjiijjiiiiiiiijjjjiijijijjiiiiijiijiijiji
iijjiijjiijijjijjijjjijjijjiiiijiijiijjiijiijjjjjjjjiiiiijiiijijiijiijiiiiiiiiij
iijjjiiiijjiijijjiijjijjiiijjjiijjjiiijjjjijijiiijjjjjiijjjiijiiijjjjjijijijjjji
ijijiiiijjjiiijjjiiiiijiiiiijiijiiiiiijijjijiiijiiijjjiiiiiijiiijjiiiijjijjiiiji
jijiiijiiijijjijijjjjiijjjjijijiiiiiiiijijjiiijjjijiiijjjjjijjjiijijijiijiiiiiii
75デフォルトの名無しさん:2009/06/29(月) 15:19:41
というか、forが3重以上になったらそもそも別関数にするよね

ローカル関数が定義できるような言語だったら、引数で環境を引き継ぐ必要がないから、なおさら。
76デフォルトの名無しさん:2009/06/30(火) 02:59:46
3重ループなら
t r f
とか
t m n
がいいんじゃないのかな。
tk utu kine
もいいかも
77デフォルトの名無しさん:2009/06/30(火) 07:38:22
処理そのものが3次元な何かを対象にしてたら珍しくも無いんじゃないか?
そういう場合は処理分けるのは違う気がする。
78デフォルトの名無しさん:2009/06/30(火) 09:34:27
三重ループじゃないけど、教科書によく載ってるバブルソートとかでも
i j k の三つは必要だよね。

79デフォルトの名無しさん:2009/06/30(火) 09:58:31
いいえ。
--
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
--
制御変数はたった二つで事が足りていますね。
80デフォルトの名無しさん:2009/06/30(火) 11:17:49
>79
全く話し変わるけど、そのコードの言語は何?
81デフォルトの名無しさん:2009/07/15(水) 04:35:52
ここまでJを大文字にする派が一人も居ないだと
82デフォルトの名無しさん:2009/07/15(水) 11:09:14
規約とか、言語によっては仕様で
変数名を大文字で開始ってのはできないことがあるからなぁ
そうでなくても勘違いを招きそうであんまりやりたくない
83デフォルトの名無しさん:2009/07/15(水) 14:51:22
最近は、識別子をUnicodeで自由に書ける言語も多いから、アイ、ジェイでOK
84デフォルトの名無しさん:2009/07/15(水) 17:49:02
結局、この手の問題って、
ドットインチを大きくできれば、それでいい。なんだよなあ。
いろいろ考えるよりも、
大きなモニターをおけるスペースを空けることを考えたほうが早かったりする。
85デフォルトの名無しさん:2009/07/15(水) 17:51:36
ijのためだけに他の文字もでかくなるのはいやだ
86デフォルトの名無しさん:2009/07/15(水) 22:25:42
windows じゃどうかしらんが、X だとエディターのフォントを
全部ボールドにすれば OK の場合もある
87デフォルトの名無しさん:2009/07/15(水) 23:14:42
フォントを変えればいいだけじゃない?
88デフォルトの名無しさん:2009/07/15(水) 23:52:44
ラテン語系みたいな未熟な言語・文字でプログラム書くから悪いんだよ
その点、漢字なら問題無い
89デフォルトの名無しさん:2009/07/16(木) 04:13:59
土と士とか、臼と白とか漢字でもいちゃもんつけられそうな気がするけど。
90デフォルトの名無しさん:2009/07/16(木) 04:53:33
行間ギリギリにデスセンダ充てれるエディタを誰か作ればいいんだよ。
91デフォルトの名無しさん:2009/07/16(木) 09:02:38
>>89
臼が出てくるプログラムとは、はてさて私には想像もできないのです。
92デフォルトの名無しさん:2009/07/16(木) 18:09:55
courier new 最強
93デフォルトの名無しさん:2009/07/16(木) 22:58:43
ループカウンタなんて、使う必要が無い。
内部イテレータが無い言語なんて、ありえないでしょ。
94デフォルトの名無しさん:2009/07/16(木) 23:56:04
>>91
自動餅搗き器の組み込みとか
95デフォルトの名無しさん:2009/07/17(金) 00:09:03
> ループカウンタなんて、使う必要が無い。
「入力がある状態になるまで何回ループ回ったのか」
とかの、ループカウントそのものが重要な場合どないすんの?
96デフォルトの名無しさん:2009/07/17(金) 01:00:30
重要なら、意味のある名前をつければいい。
97デフォルトの名無しさん:2009/07/31(金) 02:59:03
そもそも1文字の変数名は保守性を下げる

ソース中のどこでこのカウンタを使ってるのかサーチできないじゃん
98デフォルトの名無しさん:2009/07/31(金) 03:37:42
9割方はfor (int i = 0; の形で使って有効範囲はforの中だけになるだろ。そこまで絞れれば十分だと思うけど。
99デフォルトの名無しさん:2009/07/31(金) 07:19:34
>>98
こんなソースも実在する。
--
void func()
{
int i;
i = anotherFunc();
if (i != 0) return;
for (i = 0; i < N; ++i) {
...;
}
}
100デフォルトの名無しさん:2009/07/31(金) 10:12:54
>>98
仮にfor文内だけだとしても

検索して機械的にヒットするのと目視で確認しなきゃいけないのとじゃ
速度も確実性も劣るじゃん
101デフォルトの名無しさん:2009/07/31(金) 14:06:57
単語単位での検索と組み合わせればいいのでは。

それでも1文字だと物理的に空間を取らないから目に入りづらいとか
そこまで言われたら返しようがないけど。

>>99
それが残りの1割でしょ
102デフォルトの名無しさん:2009/08/02(日) 15:32:42
iの使用禁止のとこで、for文でloopCounterとか機械的に使ってるとこもあるけど
それ意味あるのか、と思うけどな・・・
103デフォルトの名無しさん:2009/08/02(日) 21:03:23
iとjが見分けにくいなら、jとk使えばいいじゃない。

・・・え、なんか違う?
104デフォルトの名無しさん:2009/08/02(日) 21:09:38
カウンタとしてjなんてほとんど使ったことないなあ。
2つ以上カウンタが必要な場面では、ちゃんと名付けてやることが多いわ俺は。
例えばxとyとか、rowとcolとか。
105デフォルトの名無しさん:2009/08/09(日) 10:19:01
よっぽど小さいフォントでない限り、等幅ならiとjが見分けづらいということはないと思うんだけど。

「意味のある名前をつける」は俺も賛成だけど、
i、j、kには「意味」はなくても「意図」は込められてるよ。
極めて一時的な変数である、という意図が。

ロジックの都合上出てきた、「名前のつけづらい変数」に
無理やり名前をつけるのはちょっとしたストレスではある。
106デフォルトの名無しさん:2009/08/13(木) 20:21:58
a, b, c, dにした方が可読性が上がる。
過去の根拠不明瞭な因習にとらわれることなく
真によいものを採用して行こうぜ。
107デフォルトの名無しさん:2009/08/13(木) 20:57:41
可読性はかわらないだろ。
逆になにか意図があるのかと、考えなくちゃならない。a,b,cとか。
108デフォルトの名無しさん:2009/08/13(木) 22:51:22
但しPerlで$aや$bを使ってはならない
109デフォルトの名無しさん:2009/08/13(木) 22:54:47
Perlは一文字の変数にはいろんな意味があるからね…
110デフォルトの名無しさん:2009/09/06(日) 08:57:32
perlの$aと$bってソート用に使うやつくらいだと思ってたけど、
増えたのかな?
111デフォルトの名無しさん:2009/09/06(日) 21:03:19
$aと$b以外は記号ばっかじゃないかな
ただ$c辺りはいつか使われそうで恐いから使ってないが
112デフォルトの名無しさん:2010/09/15(水) 10:18:47
老眼プログラマーには i と j はキツイんだよ
113デフォルトの名無しさん:2010/09/20(月) 12:32:11
iiiijiiiiijjjiiijijijijijiiiijjijijijijjjjiiiiiijjjjiiiiiiiiijjjjjjjjjjijjijijijijjijjijiijijijijijiji
114デフォルトの名無しさん:2010/10/15(金) 05:46:44
http://dl1.getuploader.com/g/nix/11/font.png

上、日本語等幅 (全角の1/2幅)
下、プロポーショナル
115デフォルトの名無しさん:2011/04/13(水) 03:28:42.56
>>112
ド近眼でも見づらい
116デフォルトの名無しさん:2011/11/20(日) 11:21:51.10
見づらいね
117デフォルトの名無しさん:2012/08/31(金) 08:30:08.07
iiiijiiiiijjjiiijijijijijiiiijjijijijijjjjiiiiiijjjjiiiiiiiiijjjjjjjjjjijjijijijijjijjijiijijijijijiji
118uy:2012/08/31(金) 08:55:45.79
j使う奴はただのバカだろ
効率の悪いバカだよ
119デフォルトの名無しさん:2012/09/02(日) 00:54:22.40
l(エル)と1(いち)も紛らわしい。例えば、関数名smp_lとか(サンプル関数のlongバージョンのつもりが、バージョンワンと取り違えたり)。
120デフォルトの名無しさん:2012/09/02(日) 18:02:59.49
0(ゼロ)とO(オー)、8(ハチ)とB(ビー)あたりも紛らわしい

識別しやすいフォントを作ってほしいね
昔のパソコンのフォントのゼロは斜線入りでオーと区別が付くようになってたけど
同様に数字は斜線を入れるとかでいいんじゃないかな
121デフォルトの名無しさん:2012/09/03(月) 11:21:57.81
死ねゴミ
122デフォルトの名無しさん:2012/09/03(月) 11:57:34.13
つーか、そろそろ文字という制限から出るべきだと思う
いつまでテキストエディタに足をひっぱられているのか。
ブロックも、図な
123デフォルトの名無しさん:2012/09/03(月) 12:35:05.68
古参のプログラマーは、イテレータ処理で、iとかjとかよく使うよね。
つまり、おじさんってこと
124デフォルトの名無しさん:2012/09/03(月) 16:07:50.47
もともとJはIの変形として生まれた。同様にVはUの変形として。
125デフォルトの名無しさん:2012/09/03(月) 17:35:07.19
寧ろ、vが先で、二つ重なってwに、丸まってuになったと見るべき。
つまり、BVLGARIは英語ではBulgariとも表記する。
ついでにもう一言。
英語ではwを「二重のU」の意味で「ダブル・ユー」(double u)と発音するが、
フランス語イタリア語とも、「二重のV」と言う意味で"double v'e", "doppio vu"と読む。
126デフォルトの名無しさん:2012/09/03(月) 18:36:02.18
語頭などで子音として用いるための変形UがVだと思ってたんだが、逆なのかな?
IとJはIが先のはず。
127デフォルトの名無しさん
ローマの建築物や碑文でも見てみるといいよ