一文字変数を使うバカは人生の敗北者part1

■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
垢版 |
2013/03/30(土) 11:01:29.14
int i;←バカ意味わかんねーよ
2013/04/03(水) 13:01:05.28
>>199
C の仕様に依存していることを指摘して何の意味があるんだ?
2013/04/03(水) 13:38:56.30
Cの仕様で「未規定」の動作に依存していることが指摘されているんだが。
2013/04/03(水) 13:42:45.76
だからそれを指摘したところで意味がないだろ?
2013/04/03(水) 14:03:39.60
バグを指摘することに意味がない?
バグだらけのアプリを使い続けることに何の苦痛も感じない変な人か?
2013/04/03(水) 14:52:47.73
そもそも未規定ではないし
2013/04/03(水) 15:13:50.92
JIS X 3010-1993 より
6.3 式
(略)
構文で示されているか(注35),又は(関数呼出し演算子 (),&&,||,? : 及びコンマ演算子に
対して)後で規定する場合を除いて,部分式の評価順序及び副作用が生じる順序は
未規定とする。
(以下略)
2013/04/03(水) 15:16:06.45
そこ全然違う話
2013/04/03(水) 16:15:02.86
じゃあ、| の右辺と左辺の評価順が規定されているという証拠を出せよ。
2013/04/03(水) 17:20:52.18
言語仕様自体は未規定でも各コンパイラが決めてるだろ
2013/04/03(水) 19:32:48.03
コンパイラが決めてる(決めなきゃならない)のは、規格で「処理系定義」となっていること。
「未規定」の事項は、例えばこの例なら左右のどちらが先かランダムであっても、規格上は問題ない。
2013/04/03(水) 19:47:53.10
はいはい
じゃあそのランダムな処理系の具体例を出して
2013/04/03(水) 19:57:38.01
だから未規定じゃないってば
2013/04/03(水) 20:36:38.57
>>211
バージョンアップで非公開仕様が変わって嵌ったことがない幸せな人なんだねw

>>212
| と || を混同してない?
2013/04/03(水) 20:54:09.01
しつこいなぁ
キミが信じようが信じまいが、どんなコンパイラでも同じ解釈なんだよ
2013/04/03(水) 20:59:18.64
>>213
非公開仕様じゃないし
2013/04/03(水) 21:08:58.53
じゃあ | の左右の評価順序を、コンパイラの仕様としてドキュメンテーションされてる例があるなら出してみろよ。
どっかの言語設計者みたいにソースコードが仕様とか言うなよw
2013/04/03(水) 21:12:40.88
なんでもかんでもドキュメンテーションされている世界、いいよね。
2013/04/03(水) 21:13:51.85
>>216
>>211
2013/04/03(水) 21:16:03.22
規格とdefacto standardどっちが強い的な話?
2013/04/03(水) 21:22:03.64
ランダムであっても問題はない それはわかる
だが動きがランダムになるコンパイラはないだろ
あるなら持って来いよ
可哀想だからバージョンアップで変わった例でも容認してやる
さっさと持って来い
221おじゃばさま
垢版 |
2013/04/03(水) 21:35:00.81
>>200
実際に使われるのは配列をなめるパターンが多いが、
ループは必ず1つの配列をなめるために使われるとは限らない。
そのため、配列とは無関係な名前をカウンタに使った。
カウンタには配列が分かる名前でなく、ループが分かる名前にすべきと言いたかった。
もし1つの配列をなめる処理ならは、cntでもいいと思う。
2013/04/03(水) 21:38:57.71
>>221
cnt?countryの略か?なんで国が回るんだ?
223おじゃばさま
垢版 |
2013/04/03(水) 21:45:23.62
>>222
カウンタだよ、iとおなじ。
俺はiじゃなくて、cntつかう。
2013/04/03(水) 21:48:38.61
>>223
だったらcounterだろ。何cntって。countinueだかcountryだか
わからんじゃん。バカ?
2013/04/03(水) 21:51:38.19
cntならだいぶ市民権を得ていると思うが、
自分勝手に単語略すのはやめてほしいよな。
2013/04/03(水) 21:58:55.46
cntがcountryだとwバカだこいつw
227おじゃばさま
垢版 |
2013/04/03(水) 22:08:02.35
>>220
俺が昔調べた限りでは、評価順は左から右だった。
調べたのは、gcc/Linux、cc/Solaris、aCC/HP-UX、VC/Windows。
不定要素で違いがあったのは、関数引数の実行順ぐらいだったな。
2013/04/03(水) 22:12:42.58
「非公開仕様じゃないし」ていうから「公開されてる仕様ある」んだろ?
229おじゃばさま
垢版 |
2013/04/03(水) 22:18:23.04
結局、一文字変数の利点は、本人が見やすいだけか?
2013/04/03(水) 22:34:15.41
昔からの慣例なんだから、別に問題ない

それを否定する目新しい事のほぼ100%は、すたれて行く
2013/04/03(水) 22:34:55.85
他人も見やすい
2013/04/03(水) 22:36:02.99
昔からの慣例とか、せめて100年は続いてから言ってくれよ。
現状慣例でも何でもなく、そういうのが読みやすい奇特な人が
いて、奇特な人の信者がいるというだけのこと。
2013/04/03(水) 22:47:45.29
AND/ORの評価順はUNIXシェルが左からって規定されてるからそれで一般的なんじゃないの
2013/04/03(水) 23:08:46.92
>>232
ドッグイヤー換算なら十分じゃね?
2013/04/03(水) 23:54:03.39
何でもかんでも1文字を否定する人は鳥頭なん?
つか、寿命の短いローカル変数に冗長な名前を付ける事は、
手を抜いて短い名前にするメリットに勝るほどの利点なくね。
2013/04/04(木) 01:37:16.77
偏るのイクナイ
2013/04/04(木) 01:46:50.59
行数の少ないループカウンターでのみ一文字はありって話しだったのに
他の変数まで一文字にするって話なら俺は乗れんわ
2013/04/04(木) 07:48:28.64
分かりやすいって話なら、日本語使えよ
239おじゃばさま
垢版 |
2013/04/04(木) 08:17:54.57
>>235
よく分からんが、一文字変数の方がコーディングしやすいって事かな。
2013/04/04(木) 08:39:07.85
>>111
有識者がコードレビューする事で
イレギュラーに関しては確実に潰せるよ

ルールに従えないなら製造工程から外すしか無い
241おじゃばさま
垢版 |
2013/04/04(木) 20:26:27.34
>>240
警告してもコーディング規約に従わない人は、
時間外で修正させれば良い。
俺も昔やらされた。
2013/04/04(木) 21:51:45.39
ネストしたループで配列の添え字に i と j を使うのは禁止。
ii 、jj ならまだタイポを見つけられるがそれでも同時に使うのは控える事。
2013/04/05(金) 01:33:28.22
3D座標系以外のネストしたループは大抵別の方法がある
2013/04/05(金) 10:57:04.37
int count;
for(count=0;count<10;count++)
var = array[count];

めちゃくちゃコード効率悪いね
i,j,kは添字の基本ルールだよ
2013/04/05(金) 12:36:01.52
プログラミングは数学なんだから、慣習も数学に則ったものが多いのだよ
i, j, kの使用は集合論からの慣習
ほんと、馬鹿な文系は迷惑だ
2013/04/05(金) 14:23:44.91
自分とわかるやつだけわかればいい
コミュ力のない理系の考えそうなことだ
2013/04/05(金) 14:38:39.38
コミュ力とか言って逃げる奴が来ましたーw
248仕様書無しさん
垢版 |
2013/04/05(金) 15:40:39.09
最後にiは勝つ
249おじゃばさま
垢版 |
2013/04/05(金) 19:59:31.67
>>244
今はそんな使い方はしないな。
foreach(var in array)

逆に言うとカウンタを使う時は、
単純なループではないから、
分かる名前を付けた方がいいだろう。
250おじゃばさま
垢版 |
2013/04/05(金) 20:04:49.97
PGには理系の能力も文系の能力も必要だから、両方やれよ。
いつまでも学生みたいな事、言ってるなよ。
2013/04/05(金) 22:25:54.12
>>249
C言語はそういう書き方はできない。

最近の言語ではそういう省略された書き方ができる。
その省略されてもいいようなものに、
ちゃんとした名前をつけろと言っているわけだ。

ここからもループ変数の名前は
適当でいいことがわかる。
252おじゃばさま
垢版 |
2013/04/05(金) 22:48:23.67
>>251
俺も配列をなめるだけのカウンタなら、cntでいいと思う。

ちなみに、
C#やC++はC言語に入らないのか?
2013/04/05(金) 22:50:38.52
その通りだな
ループ変数は単独で用いられるものではなく、配列等とセットで意味をなすもの
array[i] で意味が分かれば十分
254おじゃばさま
垢版 |
2013/04/05(金) 23:01:54.94
>>253
でもiは使わないな。
入門C言語で勉強した新人っぽい。
2013/04/05(金) 23:23:19.45
i はよく見るが cnt なんて見たことないな
2013/04/05(金) 23:37:15.70
cntって二文字しか節約できてないのだが
予約語回避なのか?w
2013/04/05(金) 23:55:08.23
最近のC++はforeach使えるよ
258おじゃばさま
垢版 |
2013/04/06(土) 07:20:38.48
>>256
これは個人的な趣味だが、
countはフィールド変数や、メソッドの一部に使い、cntは自動変数に使っている。
2013/04/06(土) 08:44:30.44
ぶっちゃけ3文字略馬鹿のほうが一文字変数よりうざいな
cntとかflgとかtmpとか使ってる奴のコードは大抵解析が面倒なコードになってるイメージある

なんていうか、そういう名前を好んで使う奴って、
何のカウンタなのか、何のフラグなのかをコードで表現してないコード書きまくるから、解析に手間かかるんだよな
260仕様書無しさん
垢版 |
2013/04/06(土) 08:55:34.32
for で i を使うのを玄人っぽくないからって理由で否定してる人から滲み出るにわかっぽさ感じる

実際問題、一文字変数名にしても俺々略字にしても、それ自体は問題じゃない
なにが格納されててどう使われてるのかが、すぐに読み解ければローカル変数名なんて何でも構わん

重要なのは、後から前情報なしでコードを見て脳内で仕様に戻す作業がどれくらいやりやすいかってとこだろ

昨今の開発環境じゃ、メモリ確保とか開放なんかはきっちり意識する必要少ないし、
メソッド分けて呼びまくったりもパフォーマンスに大きな差なんて出ない

省略された変数名が把握しづらくてコードの見通しが悪いようなら、
まずは変数名を変更するよりスコープの狭いメソッドに処理を分割するほうが、リファクタリングとしては正解
261おじゃばさま
垢版 |
2013/04/06(土) 10:44:44.67
>>260
コードが長くなったら、メソッドに分割しろって言ってる?
2013/04/06(土) 10:55:55.45
for(int OneTimeLoopCounter=0;OneTimeLoopCounter<100;OneTimeLoopCounter++){

}

String u; // ログインユーザID
2013/04/06(土) 12:28:05.84
極端な例だけで考えるのは否定派の頭悪いのと同レベル
2013/04/06(土) 15:32:35.31
コーディング規約なんて飾りです
265おじゃばさま
垢版 |
2013/04/06(土) 20:38:28.46
チームで新規のプロジェクトをやる時は、誰かが最初にサンプルプログラムを作る。
そのサンプルはコーディング規約をクリアし、新人にも理解しやすい物ではなくてはならない。
当然、ヘッダと各種コメントも記載するし、代表的な処理の部分を作る。
これをベースに皆がコーディングするので重要だ。
266仕様書無しさん
垢版 |
2013/04/06(土) 20:38:35.95
i,j,kをループ変数として使うのは、デフォです。
cntも偶に使うな。
俺は[]の中にLoopなんて使いたくないな。
何処を指しているかが掴みづらくなる。
267おじゃばさま
垢版 |
2013/04/06(土) 21:03:04.66
>>266
Loopって変数名か?
268おじゃばさま
垢版 |
2013/04/06(土) 21:38:38.90
じゃ、単純なループのカウンタにi、jは許容で、それ以外は一文字変数は非許容という事で。
2013/04/06(土) 21:44:37.53
一文字変数名で分からなくなるよう糞コードだったら、そのコード自体がウンコードってだけだろ
見通しが格段に悪くなる使い方なら何文字だろうが糞だし、見通しがよければどんな略でも構わん
ループだけOKとかそういう変な視点でアホな事言ってる奴等はいったいどういう頭してるんだ
2013/04/06(土) 21:46:11.36
こんな議論を延々やってるくらい、時間に無頓着な連中が、
一文字変数を全否定している。

クソ下らんことをさも画期的な方法論みたいに騒ぎ立てて、
みっともないったらありゃしない。

どうせしばらくしたら、また違う方法論を声高に叫んでるに
違いない。
2013/04/06(土) 21:50:52.01
<こんな議論を延々やってるくらい、時間に無頓着な連中が、
<一文字変数を全否定している。

どちらかというと肯定派のほうが熱弁を振るっているように見えますが
2013/04/06(土) 22:01:33.95
>>269
一文字なら普通にわかんなくなるだろ
どんだけ簡単なプログラムばっか書いてんだよ
2013/04/06(土) 22:04:08.45
>>270
スレが伸びるのは意見が均衡してるってことだよ
熱くなってるのは両方ともだろ
「否定派は時間に無頓着、肯定派は時間の使い方が上手い」にはならんだろ
2013/04/06(土) 22:05:23.57
>>272
複雑な問題を簡単に理解出来るところまで細分化する事がソフトウェアの設計だ
275仕様書無しさん
垢版 |
2013/04/06(土) 22:24:24.59
>>267
予約語になっている言語もあれば、変数名として使える言語もあるだろ。
俺は、[]の中に5文字以上の変数は使いたくない
2013/04/06(土) 22:25:57.96
>>268
元々はそこすら認められないアホがたてたスレなんだが?
議論してるのは「単純なループのカウンタにi、jは許容」できるかできないかってこと
だからおまえはズレてると言ってるんだよ
さっさと巣へ帰れ
2013/04/06(土) 22:25:59.95
>>272
使ってる言語や開発環境にもよるが、OOPが一般的になった以降に出た言語使ってるなら、
よほど冗長なメソッド作ってる馬鹿じゃない限り、複雑で読み解けない処理なんて書く機会ないだろ。

スキルのない初心者とか、使えないオッサンは、そんな感じの多機能メソッドみたいな糞コード書いてたりするけど、
あんたは別にそういうコード書いてるわけじゃないんだろ?
それとも組み込み業界だったり、制限きついハード向けの、パフォーマンス要求の高いゲームとか作ってる系の人?
278仕様書無しさん
垢版 |
2013/04/06(土) 22:29:04.87
配列自体あんまり使わないっていうか、使う場合はニッチな処理くらいだから、
大抵スコープ狭いし凝った変数名をindexの変数名として使う機会ないな
集合データを扱うならコレクション使うし
279仕様書無しさん
垢版 |
2013/04/06(土) 22:32:17.85
ループのカウンタに5文字以上宛てるって、
ただの繰り返しに意味なんて殆どないだろ。
280おじゃばさま
垢版 |
2013/04/06(土) 22:39:00.87
>>276
とりあえず、269と話合ってくれないか?
281おじゃばさま
垢版 |
2013/04/06(土) 22:50:00.85
>>275
いや、何で先頭が大文字なのかなと。
2013/04/06(土) 23:11:36.28
>>277
そりゃ読み解けないような複雑なメソッドは書かないが
それなりの数の変数が必要になる場合はあるだろ
それがaとかbとかじゃ困るんだよ
283仕様書無しさん
垢版 |
2013/04/06(土) 23:17:22.72
>>281
>>176のコメントを読んでいたから
あと、x86のアセンブラで「LOOP」という(疑似?)命令があった気がする。
2013/04/07(日) 00:01:05.09
このスレの主旨は、
「場合によっては一文字変数を許容する派」
「いかなる場合においても一文字変数を拒否する派」
の論争だろ?
で、後者は今のところスレ主しかいない感じだが
そもそも一文字変数を全否定されると、使い捨てのラムダ式とか非常に面倒くさいんだが
2013/04/07(日) 00:18:02.23
後でラムダ式の中が複雑になったらどうする?
2013/04/07(日) 00:23:54.63
>>273
意見が均衡している=必ずしも否定出来ない

なので、言い出しっぺであるところの否定派の前提が
崩れてるんだが
2013/04/07(日) 00:25:57.23
>>285
またそれか
書き直せよ
288おじゃばさま
垢版 |
2013/04/07(日) 00:27:06.13
>>284
いや、カウンタ以外の一文字変数肯定派も1人しかいないようだぞ。
2013/04/07(日) 00:28:51.36
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
2013/04/07(日) 00:30:19.15
>>288
だからこのスレの趣旨はって言ってんだろ
んな糞は黙殺すりゃいいんだよハゲ
2013/04/07(日) 00:35:44.98
>>289
まさにこれだよね。熱くなり方が一緒
2013/04/07(日) 10:10:30.38
ちなみに、このスレたてたの俺だけど
俺自体は一文字絶対禁止論者でも何でもなく、元スレで優勢だった
一文字変数おk派が食いつきやすそうなスレタイにしてみただけ。

元スレでは両派を演じて一生懸命喧嘩になるように頑張ったりしてたから、
まあここまで話が長く、そして意味がないものになったのは感無量である。
293おじゃばさま
垢版 |
2013/04/07(日) 10:39:33.66
>>292
じゃ、一文字絶対禁止論者はおらんのか?
2013/04/07(日) 10:57:44.11
こんどは「いかに大所高所から物を言えるか」合戦ですかw
2013/04/07(日) 12:03:33.74
煽るなら途中で止めんなやボケカス
2013/04/07(日) 15:17:39.61
javaとか.netから入った人は一文字変数とか馴染みが薄いのかな

純然たるC言語とかループカウンタにijlとか当たり前体操だと思うが
2013/04/07(日) 20:02:33.87
>>296
関係ないというか、逆に見慣れてるでしょw

Javaだと例外処理のtry-catchで普通に一文字変数eがでてくるし、
.NET(C#)だとダブルクリックで自動生成されるイベントハンドラに
EventArgs eって書いてある。

さて、一体一文字変数使うなとは何の言語かな。
298おじゃばさま
垢版 |
2013/04/07(日) 22:56:23.40
>>297
いや、完全否定派はいないみたいだぞ。
2013/04/07(日) 23:45:59.75
>>298
すくなくともこんな糞スレ立てた>>1は完全否定派だろ
300おじゃばさま
垢版 |
2013/04/08(月) 08:29:53.22
>>299
292で違うと言っているようだか。
2013/04/08(月) 10:02:53.98
個人的には、i,j,k,x,y,zはほとんどの場合で問題ないと思うねぇ。
あと、get setとかイベントとかで使うスコープがわかりやすい引数用のパラ。
慣例化できて、複数の機能を持たなければぶっちゃけ1文字でも読むのに困らん。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況