プログラミングで変数をiから始めるのやめてくれませんか?www

スポンサードリンク


スポンサードリンク

プログラミングで変数をiから始めるのやめてくれませんか?www

1: 名無しのニュー速クオリティさん 2021/03/23(火) 15:39:02.628 ID:0RSHGv4dM.net
iから始まったらj,k,lという順番になり、
じゃあaから始めれば良かったじゃんてなるじゃん?





引用元: http://viper.2ch.sc/test/read.cgi/news4vip/1616481542/

閲覧注意!激ヤバ!本当に怖い話




2: 名無しのニュー速クオリティさん 2021/03/23(火) 15:40:05.116 ID:Hugvmunj0.net
Hから始める恋があってもいいよな




3: 名無しのニュー速クオリティさん 2021/03/23(火) 15:40:10.816 ID:Qkot67Hpr.net
えーだってだってぇ




4: 名無しのニュー速クオリティさん 2021/03/23(火) 15:40:11.879 ID:O57rUD/i0.net
(V)   (V)
.ミ(´・ω・`)ミ  たし蟹




5: 名無しのニュー速クオリティさん 2021/03/23(火) 15:40:30.718 ID:jwujrq+B0.net
多重ループでiとか無意味な変数名を使うようなコーディング規約を使うな




6: 名無しのニュー速クオリティさん 2021/03/23(火) 15:41:38.627 ID:PXOX9dH60.net
最近だと拡張for文とかstreamが推奨されてるからそもそもそんな変数作る必要なくね




19: 名無しのニュー速クオリティさん 2021/03/23(火) 15:58:25.810 ID:lGTOQdVA0.net
>>6
C90で開発してる人もいるんですよ




8: 名無しのニュー速クオリティさん 2021/03/23(火) 15:42:17.697 ID:CTyPGelr0.net
iは掛け合わせるとマイナスになるから…

変数はaからじゃね?
ループ系の変数はiから始めるけど




9: 名無しのニュー速クオリティさん 2021/03/23(火) 15:44:08.090 ID:bdpNQ+qra.net
1文字の変数とかfor文くらいでしか使わんし、for文のネストはせいぜい3段階までだからi, j, kで十分。




11: 名無しのニュー速クオリティさん 2021/03/23(火) 15:45:36.880 ID:LEMz8VsE0.net
今のままで十分だけど、わかればなんでもいいとは思う
ベストな方法とは思わないけど、悪くはない




12: 名無しのニュー速クオリティさん 2021/03/23(火) 15:46:32.443 ID:6B3qDUAo0.net
MSX BASIC から考えなしに i 使ってたけど int の i なんだよな




13: 名無しのニュー速クオリティさん 2021/03/23(火) 15:47:12.294 ID:5dhPaNN20.net
iはimishin_na_kankeiの略なので譲れない




14: 名無しのニュー速クオリティさん 2021/03/23(火) 15:48:34.495 ID:CTyPGelr0.net
思い出した
会社のコーディング規約で1文字変数禁止されたわ
int、lng、dbl、strとかって頭に種別付けて変数も何に使うか明記してたわ
ループの変数だとint○○Cnt、int××Cntとかって
頭で必ず宣言してループ時のみの宣言は禁止された




15: 名無しのニュー速クオリティさん 2021/03/23(火) 15:48:48.905 ID:bdpNQ+qra.net
数学の数列・行列・テンソルの添字すらijkだし。




16: 名無しのニュー速クオリティさん 2021/03/23(火) 15:51:11.552 ID:CTyPGelr0.net
元々はintegerのiだって先輩に言われたけど本当のところは知らん




24: 名無しのニュー速クオリティさん 2021/03/23(火) 16:08:43.562 ID:mO6l/pZE0.net
>>16
iterationだと思ってたけど






17: 名無しのニュー速クオリティさん 2021/03/23(火) 15:53:28.416 ID:Eiq5y3np0.net
全置換して好きなの使えや




18: 名無しのニュー速クオリティさん 2021/03/23(火) 15:56:10.837 ID:2gn4crRXH.net
周りに合わせるわ
意固地に独自路線の規約にするほうが悪




20: 名無しのニュー速クオリティさん 2021/03/23(火) 16:00:27.223 ID:Mvapw7uV0.net
寿命が長い変数には1文字命名をしない(ループカウンタは別)
が一般的だと思ってた




21: 名無しのニュー速クオリティさん 2021/03/23(火) 16:03:51.373 ID:G39Rp2Zy0.net
fortranでiからはじまる変数は宣言しなくても整数型として使えた




32: 名無しのニュー速クオリティさん 2021/03/23(火) 16:15:52.755 ID:1TskAOwC0.net
元はFortran
>>21
これ




22: 名無しのニュー速クオリティさん 2021/03/23(火) 16:06:25.171 ID:2H5HeAjJ0.net
ide補完強いし一文字にするメリットあんま無いよな




23: 名無しのニュー速クオリティさん 2021/03/23(火) 16:06:54.354 ID:dchRa/lA0.net
プログラミング業界なんかに入るのを辞めろ




26: 名無しのニュー速クオリティさん 2021/03/23(火) 16:11:27.264 ID:G4kGaxeo0.net
indexのiだろ?




27: 名無しのニュー速クオリティさん 2021/03/23(火) 16:11:55.120 ID:B54TsY1w0.net
教本が無意味にiを使っていることに起因する




28: 名無しのニュー速クオリティさん 2021/03/23(火) 16:12:17.318 ID:u+uTHMcz0.net
まあiならFORループだって誰でもわかるからいいと思うけどなあ




29: 名無しのニュー速クオリティさん 2021/03/23(火) 16:12:36.667 ID:Qkot67Hpr.net
forEach(e => {})

のeはだめ??element,item,dataとか?




30: 名無しのニュー速クオリティさん 2021/03/23(火) 16:14:43.554 ID:YVUEcW4Z0.net
ハンガリアン記法だっけ?
整数ならiQuantity、文字列ならsProductNameみたいに頭になんか付けるの
C#とかJavaとか型のしっかりした言語でやる意味は良くわからんけど




34: 名無しのニュー速クオリティさん 2021/03/23(火) 16:17:24.918 ID:X/QeKDht0.net
>>30
変数みただけでなんの型かわかるから
便利だよ

同じ名前の変数で
数値比較するためやソートのために
型変化して使うとかあると
こんがらがる




31: 名無しのニュー速クオリティさん 2021/03/23(火) 16:15:28.379 ID:u+uTHMcz0.net
歴史的にはINTEGERだぜ
増分が2だろうがマイナスだろうがiを使うし








カテゴリ:  PC  


この記事へのコメント

1.  Posted by  名無し   投稿日:2021年03月25日 17:40

検索しづらいから一文字は使わない

2.  Posted by  名無しクオリティ   投稿日:2021年03月25日 17:42

IJKなんてループのカウンタくらいでしか使わなくない?

3.  Posted by  名無し   投稿日:2021年03月25日 17:49

数学的なところはさておき、プログラムにおける意味としてはindexとかiterateとかintとかその辺りでしょ

i単独は余程単純なループじゃなければ御法度感あるけど、i_xxとかなら問題ないんじゃないの
まあ分野の流儀によるけど

4.  Posted by  名無し   投稿日:2021年03月25日 17:49

ループカウンタである事を明示するためにiを使う(iteratorかindexかは意見が分かれるかも)
ループカウンタではない変数にiとか命名する奴とか
intの頭文字だろとか言ってる奴は勉強し直してくれ

5.  Posted by  名無しクオリティ   投稿日:2021年03月25日 17:52

>>21
じゃあなんでなんでI〜Nを暗黙で整数型にしたかというと、みんなが添え字にIを使っていたから。という

6.  Posted by  名無しクオリティ   投稿日:2021年03月25日 17:56

俺が受けた第二種情報処理のC言語の問題は i、j、k 使っためんどくさいループの問題だった。
ちゃんとした名前つけろよたわけが。

7.  Posted by  名無し   投稿日:2021年03月25日 18:01

経緯とか意味とかすごくどうでもいい。知ってても何の役にも立たん。
ループカウンタに a とか意味不明な変数や長ったらしい変数名使う方が悪。使うのは i だけで良い。
カウンタが必要なループの中にそのまま別のカウンタを使うループを入れ子にするのを今すぐやめろ。
メソッド分割するか、入れ子にしないといけない処理設計を最初から見直せ。

8.  Posted by  名無し   投稿日:2021年03月25日 18:04

for文の変数に数文字の変数使われたんじゃそれがfor文以外で宣言してる変数なのかと勘違いするやんか

(i)ってなってたらあぁ、これはforで回されて中身変わっていく奴なんやなって一目でわかる
まぁforあんま使わんけどな

9.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:05

iphoneがまだiモードだったときの名残やで

10.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:06

言いたい事はすごく同意できるけど
どいつもこいつも攻撃的過ぎて草生える
仕事に抑圧され過ぎだろ

11.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:06

変数は英単語で書かないと引継ぎできないぞ

12.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:15

別に困ったことはねえ
画像ではy,x,cとかするけど
入れ子になってもせいぜい3個ぐらいやん

13.  Posted by  名無し   投稿日:2021年03月25日 18:23

>>3
pythonは使わないならアンダーバーっていうおきまり

14.  Posted by  名無し   投稿日:2021年03月25日 18:39

iはindexやからiなんやで。
意味付けができる変数なら、少し長くても意味がある単語にするのがいいよ。

15.  Posted by  名無し   投稿日:2021年03月25日 18:40

1990年頃はディスプレイ画面が横半角80文字×縦24行とかラインプリンタが1行132文字で長い変数名にすると改行改ページで読みにくくなった
開発場所でXwindow使ってても実機のコンソールは80×24で日本語表示出来ないとか
一目でカウンタと分かる変数は一文字にして
コメントに頼らない方が読みやすかった

16.  Posted by  名無し   投稿日:2021年03月25日 18:45

スレタイと1の内容がそもそも曖昧だから
ループカウンタの話かプレフィックスの話かがわからん

17.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:46

有名な話だと思うけど、数学でi,j使ってるから

18.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:49

うちは早々に変数名から型を削除した
桁が足りなくて型変更が必要になりミスってバグるから
まーそんなことが原因でバグるわけじゃないけどな
設計がいいかげんだからバグる

19.  Posted by  名無しクオリティ   投稿日:2021年03月25日 18:51

積分で i to N 使うでしょ?
反復以外に使うのがおかしいとは思いますが、そこが判らないでプログラム組めるのかなぁ。
ま、最近はイテレータでインデックス検索出来るので大丈夫か。

20.  Posted by  名無し   投稿日:2021年03月25日 18:52

x,yは縦横軸、mは文字列とかにしてる。

21.  Posted by  名無し   投稿日:2021年03月25日 19:05

hensu1、hensu2みたいな糞変数名やめーや

22.  Posted by  名無しクオリティ   投稿日:2021年03月25日 19:14

昔はみんなNを使ってたな

23.  Posted by  名無しクオリティ   投稿日:2021年03月25日 19:26

iとjまでならいいけど、kまで使うコードは
本番環境には、絶対に突っ込ませない。

大抵クソコード・オレオレコードだから、トラシューの時詰む。
それくらいのことは理解してレビューしてくれ。

24.  Posted by  名無しクオリティ   投稿日:2021年03月25日 19:29

数学はkじゃないの?
n=kが成り立つときのn=k+1を証明せよ
みたいに使うじゃん。
数学のどこにiが出てくるんだよ。複素数平面じゃあるまいし。

25.  Posted by  名無しクオリティ   投稿日:2021年03月25日 20:58

Cは確か、型指定なしでiから始まる変数は自動でintになるんじゃなかったっけ、
ループのカウンタとかで暗黙的に使われてたの始まりと記憶している。

26.  Posted by  名無し   投稿日:2021年03月25日 21:03

>>10
まあそれなりに渡り歩いてたら誰しもクソ命名で苦しんだ経験の一度や二度あるからな
親が殺されたどころか自分が殺されかけてるから憎悪のレベルが違う

27.  Posted by  名無しクオリティ   投稿日:2021年03月25日 21:39

本来のハンガリアンは型情報じゃなくて意味を変数名に組み込むものだったと何度言えば
例えば幅のXはwidthX、位置のXはpointXとしておけば
「widthX, pointYを起点に線を〜」とかいう記述が出てきたら即
「このクソコードを書いた奴は誰だぁっ!」と言える

28.  Posted by  名無しクオリティ   投稿日:2021年03月25日 21:42

歴史の順番的に、integerやindexやiterateだからなんて考えて名付けするような時代よりも、「整数はiからnまでが当たり前!」の時代の方が先だったよ。

29.  Posted by  名無し   投稿日:2021年03月25日 21:46

indexのiだと思ってる

30.  Posted by  名無しクオリティ   投稿日:2021年03月25日 21:46

forならiだけどそれ以外ならそもそも意味わかるような名前じゃ無いと

forでもjはともかくkまで行くと入力データの3乗の処理だからあっという間に
動かなくなるぞ

31.  Posted by  名無し   投稿日:2021年03月25日 21:48

全然知らないけど日本語のプログラミング言語ってないの?
どうせ日本国内でしか使わないのにわざわざ英語にする必要なくね?

32.  Posted by  名無しクオリティ   投稿日:2021年03月25日 21:49

スコープで閉じて外に出ない変数なんだからなんでも良いだろ
ヘッダ・Javadoc・API仕様書だけ見てろよ

33.  Posted by  名無しクオリティ   投稿日:2021年03月25日 21:59

>>10
ほんとこれww

34.  Posted by  名無しクオリティ   投稿日:2021年03月25日 22:44

>>31
ぴゅう太のG-BASICとかでプログラミングするの嫌だぞ

35.  Posted by  名無し   投稿日:2021年03月26日 00:45

iをあとから他の文字置換したいということがあって
母音の1文字だったから大変だった
それ以降countIとかiiiiとか置換しやすい名前にしてる

36.  Posted by  名無しクオリティ   投稿日:2021年03月26日 01:09

変数の頭にnとかつけんわ

37.  Posted by  名無しクオリティ   投稿日:2023年11月01日 22:27

繰り返しのiとか教本の練習以外で使う機会があるというほうが驚きだわ。
社内の規約とかで禁止したりするだろ。


コメントの投稿