1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ] 文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、 どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド
352 名前:仕様書無しさん mailto:sage [2012/04/13(金) 22:13:55.77 ] >>315 やだよ一時変数で済むもんワザワザ宣言するなんて あと、具体的な名前書いても条件が画面右寄りになることで到底分かりやすくなったとも思えん while( 0 < GetMessage( &message, 0, 0, 0 ) ){}
353 名前:仕様書無しさん mailto:sage [2012/04/13(金) 23:05:38.21 ] hoge == 0 でも 0 == hoge でも何とかなるのだが、 hoge == 0 で統一されたソースに 0 == hoge で 追加修正された時はイラッつとした
354 名前:仕様書無しさん mailto:sage [2012/04/13(金) 23:48:50.81 ] まだそのネタが続いてるのか 0 == hoge か hoge == 0 かなんてどうでもいい >>311 の頭おかしいのは > 「私は比較と代入を間違える可能性があります」 > と宣言してるようなもんで、他の部分もちょっと信用ならないよねーという の部分 もっと言うと、>>311 は一切typoしない、typoする奴は信用ならねーって言ってること
355 名前:仕様書無しさん mailto:sage [2012/04/14(土) 00:00:15.21 ] 両者を納得させるために hoge == A は (hoge - A) == 0 にしようず
356 名前:仕様書無しさん mailto:sage [2012/04/14(土) 01:27:09.14 ] >>339 ちなみに、「sizeof 識別子」と「sizeof(型)」は別物ですよ? 混在してると解り難いってゆーなら括弧必須のルールでもいいけど。
357 名前:仕様書無しさん mailto:sage [2012/04/14(土) 01:29:53.09 ] >>352 while (GetMessage(&message, 0, 0, 0) > 0) { } ふぅ。
358 名前:仕様書無しさん mailto:sage [2012/04/14(土) 01:47:16.66 ] 100%ミスしない人間が存在しているという前提がもう頭おかしいだろ。 0==hogeが見難いのは単なる慣れ。 オレの気に入る書き方以外はクソとかどんだけ自己中なのか。
359 名前:仕様書無しさん mailto:sage [2012/04/14(土) 02:18:18.91 ] >>358 >>334
360 名前:仕様書無しさん mailto:sage [2012/04/14(土) 02:29:41.11 ] そうかいちゃダメな理由になってないだろうww
361 名前:仕様書無しさん mailto:sage [2012/04/14(土) 02:47:50.81 ] そうだね。
362 名前:仕様書無しさん mailto:sage [2012/04/14(土) 04:40:43.71 ] 0==hogeって書く奴は定数がdefineされててもFUGA==hugeってやるんだよな。キモイ… つか、==じゃない比較演算子もそうすんの?HOME>=hageとか。==だけ?
363 名前:仕様書無しさん mailto:sage [2012/04/14(土) 05:22:19.96 ] >>362 不等号に関しては、複数並ぶときに向きを揃えるっていう 数学的なお約束があるんで、それに合わせることも多いんじゃね。 定数1 <= 変数A && 変数A <= 定数2 みたいに。
364 名前:仕様書無しさん mailto:sage [2012/04/14(土) 05:24:52.86 ] >>358 スレタイ読め
365 名前:仕様書無しさん mailto:sage [2012/04/14(土) 06:25:36.06 ] 。・゚・(Д゚(0==(´∀` ) これをグループ内で提案したらものすごく気持ち悪がられた 本質的に「わざと違和感を抱かせてミスを防ぐ」トリックだから やむをえないかもしれない
366 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:10:49.83 ] それは慣れていない所だから有効なんだろう。 違和感が無くなるほど使用されている現場ならミス防止には役に立たない。 削除の時の確認ダイアログと同じ話。
367 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:28:16.94 ] >365 >本質的に「わざと違和感を抱かせてミスを防ぐ」トリックだから >やむをえないかもしれない そんな理由付けが許されるならば、 int func0005() とかも許されるな。 「これも、わざと違和感をもたらせてミスを防ぐトリックですよ」とか 「関数名がもたらす思い込みを排することでミスを防いでいます」とか。
368 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:38:57.26 ] >>367 違和感を抱かせて「あぁ。そういうことね」と思い出させる。 0==hogeを見れば、「hogeに代入しないように」ということを思い出す。 さて、int func0005() 違和感は感じるが、肝心の「思い出す」ことはなんだ?
369 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:52:09.53 ] hogeには代入してもいいんじゃないの? 代入したくないんだったらconstでも付けとけばいい話では。 (言語によってはできないのもあるのかな)
370 名前:仕様書無しさん mailto:sage [2012/04/14(土) 10:27:21.14 ] if( 0 == hoge ) はほとんどお目にかかった事無いから気にして無い。 if( hoge = 0 ) はWarning出てるのに放置されてたのをこの前見かけた。 Warning出てるのにコミットする奴にイラッつとする。
371 名前:仕様書無しさん mailto:sage [2012/04/14(土) 10:56:45.31 ] >>368 「動作を知りたければ仕様書にあたれ」とか?
372 名前:仕様書無しさん mailto:sage [2012/04/14(土) 11:09:30.40 ] だいたいそんな言語を使うほうが悪い VB使えよ
373 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:33:07.09 ] だめだ、このスレは汚いソースコード位イライラする
374 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:34:52.32 ] イライラじゃなくイラッつとしなくちゃダメだろ
375 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:36:56.40 ] ☆ × ' . × x ` . x ヽ . ☆ X ,. -. ‐'´ ̄``丶、 ノ} X /} /: : : : : : : : : ーヘ × / //: : : :l: .:. .} | . : : : : } . . ゜ _ノ_,ム′: : : |:::::::/! l.::. : ! /: :\ , ☆ _/ /,. -‐〉 : : :_ !:;イ¬.|:i::: |i.|. :.i::: : : ヽ ; ☆ . . ,. '´!{ ゝ-‐''^¨二.ノ:〔__− V!::!LTV{::: : : :.', ×x . ぃ .イ::. : : |⌒` }:リ'示Y1:: : : i } x × . '´ ,. 介iー-、 {:::::::::. : : ! ^' ヒ'リ ',.|:::. :.. :.!リ X X / /ヽ' L! ヽ. Y::::i::::. .::. |r:ゥ- 、' `^ /:::l::::.::::.x:リ′ ; ☆ イラッ☆ x / / /⌒ヽ 込Jヽ:ト:{>、:ィ八_ ,.‐く イ:ィ:::!x::X::/ ゛ i'´ /-r‘ー、 ヘ-┴‐〉 `'i¬ ヘ.__{:::::::}.彳〔__レ1::ル'゜ ゜ . ー 、 --−'´ コ:..:.}: \ 丶 .l | -、匸⌒´:_;-、ノ }_ ´ ゜ ×. `ヽ、 └;.:. .. } 〉 ヽ.| 〈__:,.イv/´〕、冫`i x ☆ ` ¬ゥ´:..:....:..:..:..: ,ノ、 \ { ! {.{j_/,ィう′ ! x ' Y:..:..:..X:..:..:.∠.._ ヽ.} |. } `マ^V | X , ゛ヽ:..:..:..:../ ,.⊥_ /小\¬-{ ∨ヘ._,. -‐¬、 ☆ ` ー′ j:..:..:..:Y´:´/ハ卜':..! :ヽ ∧::ヘ .:..:... } /:..:..:..:..j/:..:.`:..:´:..:..i :..:ト-_ノ マ'’:..:..:..:..ヘ
376 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:44:31.81 ] >>357 それ何が見やすいの?
377 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:47:34.30 ] おまいらなんでC前提なん
378 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:53:40.47 ] 他の言語と違って、標準的なコーディングスタイルってものがないから。
379 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:58:37.37 ] そんな言語早く捨ててしまえ
380 名前:仕様書無しさん mailto:sage [2012/04/14(土) 13:11:52.79 ] 比較演算に順序が決まってる言語なんてそもそも有っただろうか
381 名前:仕様書無しさん mailto:sage [2012/04/14(土) 13:53:02.05 ] >>368 >違和感は感じるが、肝心の「思い出す」ことはなんだ? 一言では言い表せない、その関数の振る舞い全て。 >>371 その通り。
382 名前:仕様書無しさん mailto:sage [2012/04/14(土) 14:06:32.51 ] >>381 そう思うならプログラムなんて適当に書けば? ここにいる必要ないし、この板にいる必要もない。 プログラマ辞めちまえよ。
383 名前:仕様書無しさん mailto:sage [2012/04/14(土) 14:11:37.03 ] >>381 真性の馬鹿だな。死んで欲しい。
384 名前:仕様書無しさん mailto:sage [2012/04/14(土) 14:25:13.34 ] >>381 > 一言では言い表せない じゃあダメだろw 一言で言い表せることが重要なんだから。
385 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:06:28.29 ] イラッつとした相手が上司だったり先輩だったりすると何て言えばいいかわからない
386 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:15:42.21 ] >>382-384 お前は何と戦っているんだ?
387 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:17:27.90 ] >>385 イラッとしたら何か言わなくてはいけないという 法律でもあるのか?
388 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:23:41.06 ] 普通イラッてしたら イラって言うだろ? 昨日も満員電車で イラって何回も言ったわ
389 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:30:20.61 ] 昔ある中華料理のチェーン店でバイトしてたせいか 内装の同じ店に行くと新しい客が来たとき「イラッ」って言ってしまう
390 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:59:30.27 ] >>388 うわーキモいw そういう中二病のやついたなー学生の時w
391 名前:仕様書無しさん mailto:sage [2012/04/14(土) 18:25:54.65 ] >>388 言わねえよww
392 名前:仕様書無しさん [2012/04/14(土) 18:26:10.67 ] >>55 同意 >>249 あくせる >>289 解釈の自由度が下がる=誤解が減る
393 名前:仕様書無しさん mailto:sage [2012/04/14(土) 18:28:55.84 ] >>386 イラッつとしたら人に当たり散らすタイプなんだろう。 >>385 言い返す権利はないのよ?(´・ω・`)
394 名前:仕様書無しさん mailto:sage [2012/04/14(土) 18:54:49.16 ] >>389 しゃーせー
395 名前:仕様書無しさん mailto:sage [2012/04/14(土) 19:18:26.96 ] >>381 は敢えて仕様書を読ませる為に プログラムを読みにくくすると言ってるんだぞ。 まるでコボラーだな。
396 名前:仕様書無しさん mailto:sage [2012/04/14(土) 20:06:14.10 ] ソース暗号化しといて、readmeに「複合鍵は仕様書の中に隠されているよ!頑張ってね☆ミ」で解決
397 名前:仕様書無しさん mailto:sage [2012/04/14(土) 21:10:03.59 ] while (GetMessage(&message, 0, 0, 0) > 0) { } が while( 0 < GetMessage( &message, 0, 0, 0 ) ){} になるだけで仕様書読まなきゃならんのか
398 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:32:45.64 ] >>395 もう関数名を「仕様書嫁123」とかにすればいいのに。
399 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:37:11.11 ] コンパイルしてしまえばコーディングスタイルなんて気にしなくてもよくなるだろ
400 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:43:49.11 ] そゆこという奴よくいるよな
401 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:44:20.94 ] コンパイルした後のコードを読んで修正してメンテナンスし続けるのならそうかもなw
402 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:54:21.47 ] >>395 有象無象のソルジャーというか土方というか、そういうのを束ねて開発する 方法論としてはアリだと思うがな。やらされる立場になったら負けということで。
403 名前:仕様書無しさん mailto:sage [2012/04/14(土) 23:03:55.99 ] やる立場になっても負けだろw
404 名前:仕様書無しさん mailto:sage [2012/04/15(日) 01:09:35.10 ] 男ならコードで語れや
405 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:19:30.14 ] if (VeryLongoLongFunctionName(var1,var2,var3,var4) > 3) みたいにクソ長い名称と比較するときは、定数を左辺に置いたほうが見やすい。
406 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:26:58.70 ] int value = VeryLongoLongFunctionName(var1,var2,var3,var4); if (value > 3) こうすればいいだけ
407 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:35:57.19 ] そもそも関数名すら読まないのかと疑いたくなる
408 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:46:23.75 ] 引数が多くて横に長くなる時にどう書いたら見やすいかでイラッつとする。 func( var1, var2, var3 ); funcがやたら長い名前だと何か変な感じになるしで困る。
409 名前:仕様書無しさん mailto:sage [2012/04/15(日) 16:19:41.22 ] func( val1, val2, val3, val4, val5, val6, val7, val8) { } って書けばいいだけ
410 名前:仕様書無しさん mailto:sage [2012/04/15(日) 17:30:55.79 ] Bazooka bazooka = new Bazooka("89mm"); bazooka.setDigree(60f); bazooka.setRoll(25f); bazooka.setPitch(0f); bazooka.setExpression(0.5f); bazooka.setPos(0f, 0f, -0.5f); bazooka.setColor(1.0f, 1.0f, 1.0f, 1.0f); bazooka.isMorningBazooka(false); bazooka.setTarget("Kycilia Zabi"); Result result = bazooka.shot();
411 名前:仕様書無しさん mailto:sage [2012/04/15(日) 19:29:26.29 ] >>406 いちいち変数に入れるなよイラッとする
412 名前:仕様書無しさん mailto:sage [2012/04/15(日) 19:33:24.86 ] >>411 デバッガ使わない (使えない) 人特有の症状だね>一時変数を嫌う
413 名前:仕様書無しさん mailto:sage [2012/04/15(日) 19:56:25.02 ] おまえがいってるのは一時変数じゃないだろ それはともかく、whileやifの条件ならどっちの分岐に進んだか、 ループを抜けたか抜けないかで判断できる。 それによほどしょぼいデバッガーじゃなけりゃ戻り値確認できるし。
414 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:06:06.00 ] >>409 こいつ馬鹿 >>410 何回も変数書いてバカっぽい。 どんだけタイピング好きなの?
415 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:25:38.67 ] このスレのほとんどはGoにすれば解決しそうだな。
416 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:33:30.55 ] メソッドチェインにするか
417 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:33:53.56 ] >>414 うん、それで? 続き言わないとお前が恥をかくよ。
418 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:39:41.62 ] >>414 は構造体に入れて渡すと言いだす
419 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:41:52.50 ] 構造体にいれたら 関数のインターフェース変わるじゃんw
420 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:49:56.05 ] カリー化しようよ
421 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:56:44.35 ] じゃあ俺チキンカリー
422 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:56:56.57 ] 毎回引数が変わるのにカリー化するのか? カリー化がわからない人へ。 class Foo { Foo(x, y, z); } ↓Foo(コンストラクタ)をカリー化すると class Foo { Foo(x, y) { Foo(x, y, 1) } Foo(x, y, z); } こうなります。これがカリー化ですw
423 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:59:25.22 ] おおー、よく使うけど呼び名知らなかったわ
424 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:00:41.71 ] デフォルト引数でいいやん
425 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:04:36.87 ] >>422 違うだろ。 これだよ。 void foo(x, y, z) ↓ カリー化 #define foo1(x, y) foo(x, y, 1) 関数fooの引数のいくつかを埋めた、 ”新しい関数を作る”こと
426 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:09:58.81 ] >>425 変わらんだろ
427 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:13:27.79 ] つかいま出てるのってカリー化モドキだよな F(1, 2, 3, 4, 5); F(1)(2)(3)(4, 5); 本来のカリー化なら呼び出し方を変えられるだけ 新しい関数を定義する必要はない 1つ関数を定義すれば自動で2通りの書き方ができる
428 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:37:46.36 ] >>427 ほう、それは便利だ! なにが?
429 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:47:58.06 ] F(1, 2, 3, 4, 5); F(1)(2)(3)(4, 5); 単に数学の概念上この2つが別である事がおかしいって話だよな プログラム的にはこれが出来るとアダプター作る手間が省けて格段に楽になるんだが
430 名前:仕様書無しさん mailto:sage [2012/04/15(日) 22:01:57.19 ] 実際にはアダプタ作るとか ラッパー関数作れば終わりなんだけどな。
431 名前:仕様書無しさん mailto:sage [2012/04/15(日) 22:02:21.06 ] 引数の数を変えるだけの場合。
432 名前:仕様書無しさん mailto:sage [2012/04/15(日) 22:48:31.36 ] 引数の多い関数が嫌だ。 引数が多いだけならともかく、多機能にして省略可能な引数を作るクズを絞め殺したい。
433 名前:仕様書無しさん mailto:sage [2012/04/16(月) 00:22:40.42 ] 「コーディングスタイル」以外の話はスレ違いですよ莫迦共。
434 名前:仕様書無しさん mailto:sage [2012/04/16(月) 00:53:37.95 ] ぬるほど
435 名前:仕様書無しさん mailto:sage [2012/04/18(水) 14:38:45.93 ] int GetSize()という関数を使うのに if (!GetSize()) { … }
436 名前:仕様書無しさん mailto:sage [2012/04/18(水) 15:37:32.74 ] >>435 ああ、これはイラッつとするな
437 名前:仕様書無しさん mailto:sage [2012/04/18(水) 19:50:50.31 ] >>435 Javaで、java.beansを使うわけでもなく、 それどころかCかC++なのにいちいちGet付けてんのがイラッとする。 Qtやらboostみたいにobject.Size();か、〜Size( object );でいいだろうに。
438 名前:仕様書無しさん mailto:sage [2012/04/18(水) 21:35:43.22 ] >>437 には同意 だが、 if (! foo.size()) { // fooが空でないときの処理 } の書き方は全く問題なし
439 名前:仕様書無しさん mailto:sage [2012/04/18(水) 21:50:25.96 ] え? >>438 コメントかコードのどちらかが間違ってるんじゃね?
440 名前:仕様書無しさん mailto:sage [2012/04/18(水) 23:13:07.07 ] >>439 そのsize()はboolean型で、オブジェクトが空のときにtrueを返すという仕様という罠。
441 名前:仕様書無しさん mailto:sage [2012/04/18(水) 23:15:14.67 ] >>435 とりあえず、Gが大文字なのがイラッつとする
442 名前:仕様書無しさん mailto:sage [2012/04/18(水) 23:26:48.71 ] それは言語によって推奨されとる命名規則が違うんでなんとも
443 名前:仕様書無しさん mailto:sage [2012/04/19(木) 07:03:01.65 ] Type.newと書ける言語でもないのに 関数名のキャメルケースがコンストラクターの キャメルケースと違うのがイラッとする const Example &object = Type(); const Example &object = Function();
444 名前:仕様書無しさん mailto:sage [2012/04/20(金) 05:38:44.65 ] どうでもいいが、 for (i = 0; i < point; i++) {...} は許せるが、 for (i = 0; point > i; i++) {...} はイラッとくる。 あと、K&Rスタイルじゃないコーディングもイラッと来るおっさんですが。
445 名前:仕様書無しさん mailto:sage [2012/04/20(金) 06:59:50.72 ] ラムダ式とプロパティの存在
446 名前:仕様書無しさん mailto:sage [2012/04/20(金) 18:04:11.69 ] void illatz(int n, int step) { printf("%d, ", n); if (n < 2) { printf("%d step\n", step); return; } ++step; n = n%2 ? 3*n+1 : n/2; illatz(n, step); }
447 名前:仕様書無しさん mailto:sage [2012/04/20(金) 19:59:13.79 ] 見やすく書く、 呼び出し構造を追いかけやすくする インデントを揃える こういう書き方ができない奴は プログラマに向いていない。 美意識が無いやつは消えろ。
448 名前:仕様書無しさん mailto:sage [2012/04/20(金) 20:04:12.06 ] hoge禁止 fooは許せるがhogeはイラッつとする俺だが、表立ってhogeを禁じられるのはそれはそれでイラッつとする
449 名前:仕様書無しさん mailto:sage [2012/04/20(金) 20:06:43.00 ] fooとかbarは西洋かぶれっぽくて嫌味が。
450 名前:仕様書無しさん mailto:sage [2012/04/20(金) 23:55:09.79 ] >>448 お前hageだな?w
451 名前:仕様書無しさん mailto:sage [2012/04/21(土) 00:16:12.53 ] は、は、は、はげちゃうわ!
452 名前:仕様書無しさん mailto:sage [2012/04/21(土) 11:07:27.55 ] まあまあ アイスでも食って落ち着こうぜ ttp://www.haagen-dazs.co.jp/
453 名前:仕様書無しさん mailto:sage [2012/04/21(土) 12:52:00.49 ] 俺は薄いだけだからセーフだな
454 名前:仕様書無しさん mailto:sage [2012/04/21(土) 17:15:03.61 ] ホリエモン 元ニート でググれ やばすぎwwwwwwwwwwwwwwwwwwwwwwwwww
455 名前:仕様書無しさん mailto:sage [2012/04/21(土) 18:57:29.69 ] a.set(b.getHoge()) こういう戻り値を直接引数に渡しているコード デバッグしずらいんだよね
456 名前:仕様書無しさん mailto:sage [2012/04/21(土) 19:43:40.18 ] どうすべきだと思う? いったん器に入れてから食う?
457 名前:仕様書無しさん mailto:sage [2012/04/21(土) 20:29:54.84 ] デバッガを変える
458 名前:仕様書無しさん mailto:sage [2012/04/21(土) 21:43:37.82 ] うーん、読みやすいと思うんだけどねー
459 名前:仕様書無しさん mailto:sage [2012/04/21(土) 22:53:11.51 ] デバッガ使わないやつはまったく使わないからな。 オレなら一時変数に1度いれるようにする。
460 名前:仕様書無しさん mailto:sage [2012/04/22(日) 06:52:26.52 ] 場合によるが大抵は一時変数にいれるな
461 名前:仕様書無しさん mailto:sage [2012/04/22(日) 18:58:57.81 ] 俺も一時変数に入れる
462 名前:仕様書無しさん mailto:sage [2012/04/22(日) 19:02:15.91 ] >>456 戻り値を表示できるデバッガを使うのが一番楽
463 名前:仕様書無しさん mailto:sage [2012/04/22(日) 19:29:33.48 ] int getHoge(){ return Fuga; } ってのがヘッダに書いてあってもデバッグし辛い時があるけど、諦めてる。
464 名前:仕様書無しさん mailto:sage [2012/04/22(日) 21:44:00.17 ] それはインライン展開があるからしょうがない。 でも行を分けてないとデバッグしにくいよね。使わないやつには判らんだろうが。
465 名前:仕様書無しさん mailto:sage [2012/04/22(日) 21:56:01.47 ] printfデバッグだって変数につっこまなきゃできないぞ
466 名前:仕様書無しさん mailto:sage [2012/04/23(月) 00:33:12.37 ] 一時変数にいれる一手間を加えると美味しいソースが出来るの? 同じ味が出せるなら手抜きした方がいいと思うんだけど。
467 名前:仕様書無しさん mailto:sage [2012/04/23(月) 00:38:58.96 ] > 一時変数にいれる一手間を加えると美味しいソースが出来るの? 簡単に味見ができる。
468 名前:仕様書無しさん mailto:sage [2012/04/23(月) 00:52:14.87 ] そんなに手間かなあ?
469 名前:仕様書無しさん mailto:sage [2012/04/23(月) 04:46:41.50 ] そんなに手間っていうより、無駄な手間って感じ。 関数名が正しければ一時変数にいれない方が文章として読みやすいし。 あと、処理系によつまては処理が早そうだし。 と書いたけど、俺も一時変数にいれた方がその後のコードが読みやすくなる場合は一時変数にいれてるな。 入れる入れないの判断基準が「デバッグ出力しやすいか」ってのと「読みやすいか」ってのとの違いか。
470 名前:仕様書無しさん mailto:sage [2012/04/23(月) 07:43:18.44 ] 副作用を消せば返ってくる値が同じなので変数に入れる必要すらなくて ただ関数の結果をピークすればいい。
471 名前:仕様書無しさん mailto:sage [2012/04/23(月) 08:01:12.26 ] >>464 コンパイラにまかせろよ ライブラリとして外部に譲渡すること考えたらキモチ悪いだろ
472 名前:仕様書無しさん mailto:sage [2012/04/23(月) 13:55:23.45 ] 一時変数に入れるのはいいが、temp だの value だの ret なんて名前だったり、const つけてなかったりしてるとイラッつとする。
473 名前:仕様書無しさん mailto:sage [2012/04/23(月) 22:00:40.40 ] >>472 そんな奴が一時変数の効能考えて使ってるとは思えないわw
474 名前:仕様書無しさん mailto:sage [2012/04/23(月) 22:32:09.16 ] 中途半端な変数使うぐらいなら観察用関数使った方がましだわ 名前考えるのマンドクセ template<class type> type &Check( type &value ) { return value; } template<class type> const type &Check( const type &value ) { return value; } FunctionB( Check( FunctionA() ) );
475 名前:仕様書無しさん mailto:sage [2012/04/23(月) 22:44:57.33 ] >>474 そうするくらいならFunctionAの結果を直接見るよね
476 名前:仕様書無しさん mailto:sage [2012/04/23(月) 23:11:32.50 ] 今どき戻り値が見れないデバッガとか何を使ってるの? 16bit環境?
477 名前:仕様書無しさん mailto:sage [2012/04/24(火) 01:00:11.79 ] パートナー
478 名前:仕様書無しさん mailto:sage [2012/04/24(火) 10:32:44.75 ] >>474 これはイラッとするわ
479 名前:仕様書無しさん mailto:sage [2012/04/27(金) 18:52:57.59 ] if(!strcmp(foo,bar)){
480 名前:仕様書無しさん mailto:sage [2012/04/27(金) 21:16:24.59 ] strcmpが真偽値を結果とするような関数じゃないから不自然だね。仕方ないね。
481 名前:仕様書無しさん mailto:sage [2012/04/28(土) 06:30:45.48 ] #define 麿 malloc #define おじゃる free
482 名前:仕様書無しさん mailto:sage [2012/04/28(土) 11:01:56.73 ] >>479 ふつーに使う
483 名前:仕様書無しさん mailto:sage [2012/04/28(土) 11:37:23.29 ] switch( mode ){ case eHoge: mode++; break; case eHoge+1: mode++; break; case eHoge+2: mode = eFuga; break; case eFuga: mode++; break; case eFuga+1: break; }
484 名前:仕様書無しさん mailto:sage [2012/04/28(土) 13:21:59.68 ] >>480 真偽値などという型がないCが不自然なのであって Cとしてはあれで正しい、といえなくもない。
485 名前:仕様書無しさん mailto:sage [2012/04/28(土) 13:36:00.81 ] strequal関数を作ればいいだけの話 どちらが大きいか比較して 真だった場合。 意味がわからないだろ。 if(strcmp(a,b)) とはそのように読む。 どうしてもstrcmpを使いたいなら==0とするのが正解。 0をSTRMATCHと定義し、==STRMATCHとするのがベター
486 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:40:19.32 ] >>484 不自然か?真偽値なんて、真偽値がオブジェクトだったり、 オーバーロードが必要と言う理由じゃなければ独立した型である必要ないだろ 単なる名前付けした定数で充分なぐらいじゃん
487 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:42:23.28 ] 真偽値という別の名前を与えている以上 別のものであると我々人間が解釈しているのですよ。 コンピュータに合わせない。 人間に合わせる。
488 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:48:31.46 ] 未だ真偽値という分け方自体が最善かすら揉めてるのにw
489 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:51:37.24 ] 真偽値というか、ifの文脈で明らかにおかしいだろ
490 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:07:33.70 ] 外国人にはこのように見えています もし(文字列比較(a,b)の否定) なら
491 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:17:02.25 ] コードかきなれてるやつで、自然言語に近づけたいと 思ってるヤツなんてほとんど居ないだろ 慣れて気になるのは合理的か、回りくどくないか(考える手間が増えないか) ぐらいだろ
492 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:21:04.96 ] じゃあなんで関数名、変数名、キーワードは 英語なんですか? 英語=自然言語ですよ。
493 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:24:41.47 ] >>492 名前だけだろ 文章の体をなしてない
494 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:24:54.62 ] if(!strcmp(foo,bar)){ これで、実効時間が一クロックでも違うのなら意味があると思うけど、 == 0 と変わらないのであれば、採用するメリットがない。
495 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:24:59.39 ] >>492 英語じゃなくてもいいけど
496 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:26:26.29 ] >>493 でも、名前は英語ですよね。 その名前から連想できるものは何でしょうか? そこは変わらなはずですが。 むしろ、自然言語から連想できるように キーワードを選んでいるわけだけど。
497 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:28:25.70 ] 例えばifという名前が、繰り返すという意味だったりしたら わけがわからないことになる。 そんな事するぐらいなら、ifもforもやめて、 A01、B02 とかいうキーワードの方がまだまし。 でもそうしないで、ifという単語を割り当てているというのは、 ifという単語の本来の意味が重要だってこと。
498 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:28:31.58 ] >>493 Javaなどでは、オブジェクト.動詞目的語 という命名規則が普通ですね。
499 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:50:55.83 ] >>496 日本語でも、イスラム語でもフランス語でもいいぞ。
500 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:53:58.39 ] >>496 構文に自然言語を求めてないと言ってるんだが。 大体、Unixのソースコードとか英語名称に準拠してるか? アルファベット使ってるだけで略語だらけじゃねぇか。 アルファベット使ってりゃ自然言語だというなら、そりゃ全部自然言語だろうよ。
501 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:00:09.18 ] 馬鹿って絶対に自分の非を認めないよね 故に馬鹿なのか
502 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:04:07.16 ] 英語で書いてある部分なんて機能が解るシンボルとしてしか見ないな 言語自体が英語らしいかどうかなんてどうでもいいや COBOL見たいなの見せられたら吐き気がするし
503 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:05:57.41 ] >>500 > 構文に自然言語を求めてないと言ってるんだが。 あなたわかってるじゃないですかw 自然言語を求めてないのは構文でしょう? 単語には自然言語を求めてるんですよ。
504 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:06:45.08 ] 略語も自然言語。自然言語の略語。
505 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:22:10.58 ] >>492 は、「アルファベット」を見ると「英語」と言ってしまう ローマ字未修得の小学生、あるいは戦中派に違いない。
506 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:25:09.14 ] >>505 え? 普通言語って英語を元にしてるでしょw
507 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:27:30.60 ] 俺の大得意な言語は 日本語を元にしてますよ。 なんてなーwwww
508 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:32:49.85 ] >>506 UKとUSAの人間が読めなくても英語なのか?
509 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:33:55.58 ] >508 if が読めないのですか?
510 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:34:11.97 ] string や compare が読めないのですか?
511 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:34:34.45 ] TSUNAMI, HENTAIは英語だけど Heigh Visionは日本語という不思議。
512 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:35:51.86 ] 英語が分かる人 「strcmpって何?」 「string compare の略だよ」 「なるほど!」
513 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:36:21.62 ] >>509 "if"だけじゃなぁ。interfaceの略かもしれんし、 イタリア語かもしれんし、フランス語かもしれんし。
514 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:36:57.36 ] >>511 英語わからないならムリしないほうがいいよw
515 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:38:06.09 ] >>509 ifとかdefaultとか予約語じゃない言語もいっぱいあるぞ 関数型系とかSmalltalkの派生とか
516 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:38:10.51 ] >>513 英語と考えれば辻褄が合うでしょw だからほとんどの言語=英語が元になっているわけです。
517 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:39:29.02 ] >>516 if( a == b ) これをよめるヤツはプログラマーぐらいだろ
518 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:40:07.42 ] >>515 予約語かどうかは本質じゃねーw プログラム言語はほとんど英単語が 元になってるってことだろ。 英単語そのものか、英単語の略語ばかりだ。 よってコーディングする時は 英語の意味を考えなさいということ。
519 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:41:12.04 ] >>517 ifが英語だからプログラマーは読めるよね。 gtaweg( a == b) これ、読めるかい?
520 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:41:29.02 ] >>518 cat と cdr はどういう意味?
521 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:42:12.07 ] >>519 言語仕様読めば解るんじゃね?
522 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:43:51.60 ] >>519 プログラマー外の英語圏の人間はすぐ解らんだろうと いう意味で書いたんだが
523 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:43:51.88 ] Lisp の car や cdr が、以下の略であることぐらい、Lisp をかじったことのある人なら知っているでしょう。 Contents of the Address part of Register number Contents of the Decrement part of Register number
524 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:44:53.93 ] >>522 そりゃそうだろ。 そんな話はしていない。 ほとんどのプログラム言語は 英語が元になってることに異論はないね?
525 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:45:31.86 ] >>523 やっぱりcatやcdrも英語の略なんだね。
526 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:48:37.26 ] >>524 COBOLレベルなら英語が元になってるとは言えるかもしれんが シンボルだけ英語使ってるものを英語が元になってると言われると 違和感が有るぞ
527 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:49:23.26 ] > シンボルだけ英語使ってる あ、認めたw シンボルだけじゃなくて 意味も英語の意味を使ってる。
528 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:51:22.35 ] 文法は英語じゃなくが 単語は英単語だし 意味も英単語だ。 なのだからその意味に当てはまらない使い方をしたらダメ。
529 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:56:57.83 ] >>528 > 意味も英語だけど int 変数 = 0; classs Type { public Type(){} } 英語の意味でどう読むんだ?
530 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:59:31.80 ] >>527 俺は構文が英語じゃないから、言語全体は自然言語に近い必要はないと いう意味でしかレスしてない。名前云々のレスといっしょにすんな。
531 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:04:57.39 ] >>529 変数は日本語ですが? int ・・・ integerの略。なるほど整数か! class ・・・種類 Type・・・型 public・・・公開 英語だと考えれば、辻づまがあう。
532 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:05:54.91 ] >>531 単語の意味じゃなく英文として読めよ
533 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:06:08.67 ] >>530 俺は単語が英語だから その英語の通りの使い方をしろと言ってる。
534 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:07:24.65 ] >>532 なぜ英文として読まないといけないの? 俺は最初から構文は英語じゃないが 単語が英語であり、 その意味のとおりに使えと言ってるだけですが?
535 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:13:37.49 ] >>534 俺は最初から構文は英語じゃないからコードが英文に準じる必要はないと言っている まぁ、>>500 で余計なことは書いたが。
536 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:15:42.11 ] なら単語が英単語になっている理由は?
537 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:15:57.31 ] 英単語の意味を無視していいなら、 英単語を使う理由はない。
538 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:19:33.03 ] 名前と構文をごっちゃにするなって ダンボールに英語のラベルはってあったら、 ダンボールが英語に準拠してんのかよ
539 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:21:25.05 ] そうですが何か
540 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:21:47.37 ] つられて英語と書いてしまったが そもそも、自然言語に準じる必要が無いといだけで 英語かどうかは重要じゃないだろ。
541 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:28:03.72 ] >>539 XSLTとXMLの仕様をごっちゃにしてそうな発言だな
542 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:30:35.83 ] 多分最近のaviにはH.264が入ってることが多いから >>539 にとってaviはH.264がなんだろうな
543 名前:仕様書無しさん mailto:sage [2012/04/28(土) 18:55:32.75 ] ダンボールの中身が英語に準拠しているかもしれないと期待することは出来るかな
544 名前:仕様書無しさん mailto:sage [2012/04/28(土) 20:41:52.10 ] プログラムは自然言語ではないが 自然言語に似せて書くのが上手い書き方だろ。 何故なら、コンピュータが読むものであると同時に、人間が読むものでもあるからだ。
545 名前:仕様書無しさん mailto:sage [2012/04/28(土) 21:33:26.78 ] >>544 「個人的見解」って頭につけといた方がいいですよ。
546 名前:仕様書無しさん mailto:sage [2012/04/28(土) 21:34:38.61 ] >>545 まずお前から実践なw
547 名前:仕様書無しさん mailto:sage [2012/04/28(土) 21:53:43.30 ] >>544 人間が読む場合と、コンピュータが読む場合があるところまではいい。 ただし、人間が読む場合は、人間らしい人間が読む場合と、コンパイラみたいな人間が読む場合と、宇宙人が読む場合があるんだよな… 「個人的見解だが」 すべての人間に読みやすいプログラムというものは存在しないと思う。 なので、読む人に合わせた書き方が求められる。 これは、もはやソースコードを介したコミュニケーションであって、そういう意味では、やはりプログラマは物書きだなーと思うし、コミュニケーション能力が求められる仕事だなと思う。
548 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:17:18.20 ] >>547 すべての人間ではなく、 大部分の人間といえばいいだけの話。
549 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:40:44.94 ] >>544 COBOLが読みやすいか? ならCOBOL使えばいい。 ひまわりでもかまわんぞ
550 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:51:04.29 ] >>549 www.aoky.net/articles/why_poignant_guide_to_ruby/chapter-3.html
551 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:56:54.08 ] >>550 すごいな。 たまたま英文風に読める文章を 持ってきて全てを語るなんてw
552 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:58:44.27 ] >>550 そのページが読みにくいのはなんでだ?w
553 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:04:43.00 ] >>550 は 自然言語とプログラム言語は白と黒のようにはっきり分かれておらず プログラマは皆、灰色の領域で仕事をしているのだと判らせてくれる。
554 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:05:57.12 ] >>550 >['toast', 'cheese', 'wine'].each { |food| print food.capitalize } 英文まねても読みづらいだけだな。
555 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:07:10.90 ] >>554 そもそも英語が読みやすい言語かっつうのもあるしな
556 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:11:55.82 ] しかし、単語は英単語であり、 その英単語の意味通りを使い方をしているのは どの言語も同じなのだ。
557 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:25:22.95 ] 何が問題か解ってないコミュ障が居るな
558 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:30:53.03 ] じゃあ、話を最初に戻そう if(!strcmp(foo,bar)){ 問題はこれ。 strcmpは文字 比較の略であり、 ifはもし。 つまり、「もし(文字比較)なら」 という意味になるので、これはイラッとするコーディングである。
559 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:33:13.51 ] この話に対して、プログラム言語は、 英語の文法と違うとか的外れのこといいだして、 そうじゃなくて、単語は英語であり 単語の意味通りの使い方をするべきという 話だよって教えてるだけ。 それを分からず、文法が〜文法が〜と 的外れのことを言い続けてる。
560 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:38:06.42 ] >>558 ! が Not ならいいの?
561 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:43:31.70 ] 違うね、ごめん。
562 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:00:23.13 ] >>559 英単語と名前の話が一番ずれてる
563 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:02:23.85 ] >>559 >つまり、「もし(文字比較)なら」 >という意味になるので、これはイラッとするコーディングである。 問題は、文としての書き方なのに何でお前は名前に拘ってんだ?
564 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:08:33.22 ] > 問題は、文としての書き方なのに どこ見てそう思いましたか?
565 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:09:46.10 ] >>564 「もし(文字比較)なら」
566 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:10:20.91 ] strcmpの戻り値が真偽値ではない、 真偽値ではないものを、もし(if)で使うなという 話ですよね?
567 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:11:05.12 ] >>564 文の話じゃねーよ。 真偽値を返さないものを ifで使うのが気持ち悪いという話だよ。
568 名前:567 mailto:sage [2012/04/29(日) 00:11:30.38 ] × >>564 ○ >>565
569 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:12:46.49 ] なぜ真偽値じゃないものをifで使うのが気持ち悪いかというと ifが、もし〜なら という意味だからでしょうね。
570 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:17:59.45 ] >>567 だからif文の中で真偽値を返さないものを返してる文の書き方がおかしいんでしょ
571 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:21:13.19 ] >>570 文がおかしい? じゃあ、どういう文ならおかしくないというの? ”文”ですよね?
572 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:28:03.95 ] >>571 真偽値を返す関数を使った文だったらよろしいんじゃないでしょうか
573 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:29:31.39 ] >>572 つまり、式を変えるってことですねw あれ?文の話じゃなかったのかいw
574 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:31:34.03 ] 直感と反するのが気持ち悪い 一緒だったらって判定に!使うな
575 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:32:25.05 ] strcmpは「一緒だったら」ではなく、 「比較したら」
576 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:37:31.36 ] >>573 文として分かり辛いから文の中の式を直すってのがおかしいか?
577 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:38:41.57 ] もし(おなじである(a, b))なら なら気にならない。
578 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:39:49.83 ] >>576 文はおかしくなかったから、文はそのままで 式を書きなおしたんだろw お前、文がなにかわかってるのか? if文の定義・・・if (条件式) 真文 仕様書見てもこんな感じでしか書いてないぞ。
579 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:40:38.23 ] >>577 つまり、英単語の意味と合っていないということか。
580 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:40:50.64 ] >>575 大元のif文はどう見ても一致してるかの判定 それ以外の意図で書いてたらなお悪い
581 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:40:53.63 ] もし(ひかくする(a, b))なら だとわかりにくい さらに もし(文ひか(a, b))なら だからもう死ね
582 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:43:04.40 ] >>578 仕様書には書いてないから実現は可能だが、プログラムには意図を込める事が出来る。 プロなら使わない手はない。
583 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:44:04.46 ] >>582 で、何が言いたいの?
584 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:44:39.33 ] >>583 より分かりやすく書けって話だよ。
585 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:45:43.69 ] >>580 > 大元のif文はどう見ても一致してるかの判定 もし(否定 比較する(a,b)) これを「aとbが一致した場合」と解釈するのは難しい。
586 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:47:20.56 ] もし( 比較する(a,b) == 差が0なら) こう書けばわかりやすい。
587 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:49:40.01 ] >>585 書き方のぜひはともかく文字列一致判定の定型文だろ
588 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:52:37.27 ] >>586 どんな顔してこんな当たり前の書き込みするのか興味深い
589 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:59:33.34 ] >>587 こんなのを定型文と言わなきゃいけない事自体がおかしい。
590 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:00:23.87 ] >>588 え? 当たり前のことを言ったような顔を しているだけですが・・・?
591 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:05:32.77 ] >>578 if文 = if statement CやC++だと、そもそも式も文も同じ意味なんだが
592 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:10:42.27 ] C/C++のif文は、値を返さないので式として使えませんよ? if式っていうのはこういうものです。(Scalaの例) val msg = if (true) "true dayo" else "false dayo"
593 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:12:18.69 ] >>591 文と式の違いも知らん奴が さっきから喚いていたんだなw
594 名前:仕様書無しさん [2012/04/29(日) 01:37:33.40 ] 日本語として正しいテキストのやり取りでこれだけ揉めてるんだから、 言語としての正しさは、意思疎通の効率化の一要素でしかないってのを 自ら証明してる罠
595 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:37:58.64 ] >>594 日本語でおk?
596 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:40:09.09 ] >>595 日本語の議論でもこれだけ揉めるのだから、やはりプログラムは奥深くて楽しい。
597 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:40:59.74 ] What's your point?”
598 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:48:55.76 ] 何か伸びてると思ったら、何の話してんの?
599 名前:仕様書無しさん mailto:sage [2012/04/29(日) 03:27:22.81 ] 毎年この時期は色々とアレな人が湧くなあ、というお話。
600 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:25:20.32 ] ↑ここまでイラッとするレススタイルの話 ↓ここからイラッとするコーディングスタイルの話
601 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:27:33.91 ] 終了
602 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:30:53.97 ] >>598 理系のボクにはよくわからないお話。
603 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:32:15.06 ] >>602 理系とか関係なく 単にあなたがお馬鹿であるだけ。
604 名前:仕様書無しさん mailto:sage [2012/04/29(日) 18:30:27.78 ] 三項演算ってのがあってだな・・・
605 名前:仕様書無しさん mailto:sage [2012/04/29(日) 18:31:41.69 ] それで?
606 名前:仕様書無しさん mailto:sage [2012/04/30(月) 11:28:44.34 ] ハンガリアン記法を使うなら使うで統一してればまだいいが、 ハンガリアンな変数名とそうでない変数名が混在しているソースコードはバカだと思う。
607 名前:仕様書無しさん mailto:sage [2012/04/30(月) 14:32:32.64 ] b p m_ g_ だけ付けてる。
608 名前:仕様書無しさん mailto:sage [2012/04/30(月) 14:57:12.58 ] それはハンガリアンではない
609 名前:仕様書無しさん mailto:sage [2012/04/30(月) 15:26:03.24 ] >>606 ハンガリアン記法で統一されていても、記法が実態と合っていないと、 もっとイラッつとする。不具合修正後にたまに見かけるんだが……。
610 名前:仕様書無しさん mailto:sage [2012/05/01(火) 04:35:45.89 ] システムハンガリアンをコーディング規約に盛り込む連中は漏れなく無能。
611 名前:仕様書無しさん mailto:sage [2012/05/01(火) 09:48:20.21 ] プログラムのお勉強的な意味でどうしてこんな事が必要だったのかを 若手に学習させるためにシステムハンガリアンは割りと良いんだよなw
612 名前:仕様書無しさん mailto:sage [2012/05/01(火) 13:26:21.50 ] システムハンガリアン使ってるヤツは、ハンガリアン使うときどうするんだ? 例えば、↓とかどう修飾してる? ptX; // ポイント単位のX軸 cmX; // センチメートル単位のX軸 dbY; // デシベル単位のY軸
613 名前:仕様書無しさん mailto:sage [2012/05/01(火) 13:35:03.26 ] fPtX nCmX dDbY
614 名前:仕様書無しさん mailto:sage [2012/05/01(火) 13:42:21.92 ] イラッとするな
615 名前:仕様書無しさん mailto:sage [2012/05/01(火) 14:30:32.62 ] 他人のコーディングスタイルは常にイラッつとするものなんだよ
616 名前:仕様書無しさん mailto:sage [2012/05/02(水) 21:39:30.85 ] なにがハンガリアンだよハムスターかよ! 俺はローマ字で変数を使うからな!
617 名前:仕様書無しさん mailto:sage [2012/05/02(水) 22:13:12.04 ] だったら日本語でかきゃいいのに 最近のコンパイラーは日本語使えるんだぞ #define 整数 int #define 無 void #define 本体 main #define 戻す return 整数 本体(無) { 整数 値 = 0; 戻す 値; }
618 名前:仕様書無しさん mailto:sage [2012/05/02(水) 23:35:31.92 ] キモイwww
619 名前:仕様書無しさん mailto:sage [2012/05/03(木) 00:05:17.09 ] そうか? 英語で命名しても認識する時は日本語だからそんなに気にならないけど。
620 名前:仕様書無しさん mailto:sage [2012/05/03(木) 03:58:47.27 ] なでしこ思い出した
621 名前:仕様書無しさん mailto:sage [2012/05/03(木) 04:01:24.82 ] ひまわりでやれ
622 名前:仕様書無しさん mailto:sage [2012/05/03(木) 04:29:44.89 ] >>617 マクロの謝った使用法の中でも最悪だなこれ。
623 名前:仕様書無しさん mailto:sage [2012/05/03(木) 05:00:42.74 ] 変数名に$aとか$bとかマジ勘弁
624 名前:仕様書無しさん mailto:sage [2012/05/03(木) 05:13:27.17 ] >>623 VMS「…(´・ω・`)」
625 名前:仕様書無しさん mailto:sage [2012/05/03(木) 10:37:35.39 ] >>623 でも $i は良いんでしょ?
626 名前:仕様書無しさん mailto:sage [2012/05/04(金) 13:03:50.07 ] $iiiまでは許してくれ。
627 名前:仕様書無しさん mailto:sage [2012/05/05(土) 04:07:53.59 ] $とか通るのかよ。アセンブラでおかしくなるだろ?
628 名前:仕様書無しさん mailto:sage [2012/05/05(土) 06:16:15.35 ] phpならきっと・・・
629 名前:仕様書無しさん mailto:sage [2012/05/05(土) 19:21:20.26 ] むしろPHPでは$つけわすれるのがエラーの筆頭だろ
630 名前:仕様書無しさん mailto:sage [2012/05/05(土) 23:03:56.89 ] Perlも?
631 名前:仕様書無しさん mailto:sage [2012/05/07(月) 03:22:45.46 ] Perlは頭に何付けるか考えなきゃいけないから 他の言語を直前までやってたときに新規でソースファイル起こしたときの最初の数分だけかな忘れるのは
632 名前:仕様書無しさん mailto:sage [2012/05/07(月) 03:52:46.25 ] #define ZERO 0 #define ONE 1 #define TWO 2 … #define ELEVEN 11 驚愕したそして 12以降は普通に使われていた 俺は泣いた
633 名前:仕様書無しさん mailto:sage [2012/05/07(月) 07:09:08.37 ] よくあるコード改善本の指摘に「できるだけマクロを使うな(コンパイラを働かせろ)」というのがあるけれど 実際どれくらいメリットがあるのだろう・・・?
634 名前:仕様書無しさん mailto:sage [2012/05/07(月) 19:42:52.59 ] 「マクロを使わない=コンパイラを働かせる」 の意味がわかんないんで教えて
635 名前:仕様書無しさん mailto:sage [2012/05/07(月) 20:36:38.67 ] Cの本読めば最初の章に出てくるだろ マクロの部分を処理するのは、コンパイラではなくプリプロセッサ (気を利かせることができて賢い)コンパイラを使え = (単純で馬鹿な)プリプロセッサを使うな
636 名前:仕様書無しさん mailto:sage [2012/05/07(月) 21:30:39.56 ] てか、マクロを多用するコードの方がコンパイラの仕事が増えるような気が。
637 名前:仕様書無しさん mailto:sage [2012/05/07(月) 21:34:21.83 ] 一緒だと思う。
638 名前:仕様書無しさん mailto:sage [2012/05/07(月) 22:28:35.51 ] マクロ展開した後のソースがどんだけデカくなるのか見たことないのかよ! コンパイラさん凄い頑張ってんぞ!
639 名前:仕様書無しさん mailto:sage [2012/05/07(月) 23:53:37.14 ] >>633 知らない方がいいよ。それを知ったとき、おまえは地獄にいる。
640 名前:仕様書無しさん mailto:sage [2012/05/07(月) 23:56:57.94 ] >>636 ようは、コンパイラをプログラマの道具として使えってことだよ。 コンパイラが分かる形にしておくと、 コンパイルした時にミスを色々教えてくれる。 静的型付け言語ならではの、コンパイラを使った 快適プログラミングテクニックが生かせる。
641 名前:仕様書無しさん mailto:sage [2012/05/08(火) 10:40:28.54 ] プリプロセッサを働かせずにコンパイラを働かせろということだと思うが、 コードの肥大を防ぐのが目的なのかなんなのか
642 名前:仕様書無しさん mailto:sage [2012/05/08(火) 10:47:16.38 ] マクロは基本的に定数定義とか、移植性の向上のために使ってるな。
643 名前:仕様書無しさん mailto:sage [2012/05/08(火) 12:20:14.89 ] マクロ禁止って暗にCをディスってるような気がする。 C++かC#陣営の策略に違いない。
644 名前:仕様書無しさん mailto:sage [2012/05/08(火) 16:18:08.66 ] コメントは40カラム目から
645 名前:仕様書無しさん mailto:sage [2012/05/08(火) 17:30:22.51 ] >>644 うわ、それ強制されたことあるわ
646 名前:仕様書無しさん mailto:sage [2012/05/09(水) 07:53:56.36 ] switchには必ずdefaultをつけるべし ifには必ずelseをつけるべし
647 名前:仕様書無しさん mailto:sage [2012/05/09(水) 08:32:49.88 ] それ嫌いだわぁ else書いといて中身無しとか せめてプログラミング作法くらいは皆読んで欲しいところだ
648 名前:仕様書無しさん mailto:sage [2012/05/09(水) 11:01:52.47 ] switch () { default: ; } これはあり。というか、俺はいつもそうやってる。 defaultの考慮漏れはしていないし、defaultではやることないよという表明。 > ifには必ずelseをつけるべし これはあまり見たこと無いな。 「if〜else if〜には必ずelseをつけるべし」なら、見たことあるし、俺も実践してる。 switchのdefaultと同じ理由。
649 名前:仕様書無しさん mailto:sage [2012/05/09(水) 11:27:41.36 ] たまに頭が回らん時とか、if文の条件が書きづらい時とか if( !(条件) ){ 処理 } ってしないで if( 条件 ){}else{ 処理 } って書くのも他人から見たらイラッつとさせてるんだろうなと思った。
650 名前:仕様書無しさん mailto:sage [2012/05/09(水) 21:39:26.50 ] >>633 1.オーバーロード可能になる 2.using宣言、もしくは名前空間の別名で短い名前が使える この2点だけでも結構楽になる。
651 名前:仕様書無しさん mailto:sage [2012/05/09(水) 23:27:06.14 ] リポジトリからソースを落とすとThumbs.dbがついて来た。 システムに必要なファイルだろうから消すなだと。
652 名前:仕様書無しさん mailto:sage [2012/05/10(木) 22:36:52.26 ] >>649 何もやることないよ というより 書き忘れたのかと思ってしまう。
653 名前:仕様書無しさん mailto:sage [2012/05/11(金) 00:07:09.59 ] >>648 > defaultの考慮漏れはしていないし、defaultではやることないよという表明。 オレだったら、それはコメントに記述するなあ
654 名前:仕様書無しさん mailto:sage [2012/05/11(金) 00:34:49.93 ] そういえば以前の上司がどうしても『defaultは最後に書け』と言ってゆずらなかったな。
655 名前:仕様書無しさん mailto:sage [2012/05/11(金) 00:56:41.06 ] デフォルトに出会った時点で分岐終了するウンココンパイラなかったっけ
656 名前:仕様書無しさん mailto:sage [2012/05/11(金) 01:16:38.05 ] 名付けて、運コンパイラ
657 名前:仕様書無しさん mailto:sage [2012/05/11(金) 14:08:06.49 ] >>653 defaultが無いとwarning出す静的解析ツールとかありがちなんで、俺はコードで書く。
658 名前:仕様書無しさん mailto:sage [2012/05/11(金) 17:24:17.65 ] >>653 俺はdefaultに assert(false) を入れとくなあ。 ミスの検出にも役立つし。
659 名前:仕様書無しさん mailto:sage [2012/05/11(金) 17:28:42.09 ] そこに assert(false); // 来ないはず とか書いてあるソースは見た事ある。 来ないはずの所に来るバグがあるって事なんだろうな、と思った。
660 名前:仕様書無しさん mailto:sage [2012/05/11(金) 17:54:19.52 ] >>658 いや、来ないのでは無くて、来ることもあるが処理は無しよ、って意味なんだけど。 来ないはずならエラー処理入れるわ。
661 名前:仕様書無しさん mailto:sage [2012/05/11(金) 21:13:10.20 ] いいこと考えた assert(true); // 入れとけばいいんじゃねw
662 名前:仕様書無しさん mailto:sage [2012/05/12(土) 00:02:23.15 ] 定義増えた場合の取りこぼし対策でASSERTいれるのはアリ
663 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:08:02.61 ] でふぉるとさんはどんな条件にも引っ掛からなかったダメな子を許容してくれるお姉さんキャラ たまに「絶対に書いておけ」と言う参考書がある為に //ここに来る事は無い と言う書き残しをして居る時があるが nullやDBNull判定をすり抜けて来た0や空白さんがたまに来る 初期値はシステムで統一しろ
664 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:28:51.61 ] ifにelseは必要ない。 なぜなら、条件を満たしているか?という質問をするならば みたいしていない場合が存在するのは明らかだから。 switchに関しては、case一個だけ書くことなんてまずない Aの場合、Bの場合、Cの場合、じゃあそれ以外はどうなるんだ? ということになる。 取りうる値がA、B、Cの三つしかないというのであれば、 Aの場合、Bの場合、それ以外(default)。でいいはず。 defaultがないということは、なにか意味があるということなので それを明記するのが良い。
665 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:31:07.25 ] >>659 assertionはdefaultだけで使うものではない。 何のためにassertionを使っているかを考えれば分かる。
666 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:52:54.88 ] >>664 >ifにelseは必要ない。 お前は何を言っているんだ
667 名前:仕様書無しさん mailto:sage [2012/05/12(土) 05:50:36.01 ] bool値を返す関数で bool func(){ if(exp){ return true; }else{ return false; } }
668 名前:仕様書無しさん mailto:sage [2012/05/12(土) 05:52:39.62 ] 途中で書き込んでしまった。。 bool値を返す関数で bool func(){ if(exp){ return true; }else{ return false; } } って書いてるのがイラッとする。
669 名前:仕様書無しさん mailto:sage [2012/05/12(土) 06:49:59.39 ] >>666 あれじゃないか○○であるの条件のelseは明示的に書かれていないだけで○○ではないのif文 つまり読みやすいとは別として理解しやすいと言う部分、何がしたいかをはっきりさせたい場合はifを2回書いた方がいい つまりelseは要らない
670 名前:仕様書無しさん mailto:sage [2012/05/12(土) 06:55:40.08 ] >>669 「それ以外」の条件をいちいち列挙するの?面倒くせえ
671 名前:仕様書無しさん mailto:sage [2012/05/12(土) 08:26:14.32 ] 面倒くさいだけじゃ済まないぞ わざわざ別に書いてる位だから、本当は別の条件があるのに記述漏れがあんじゃねーかって疑念が湧くし、 ifに入る条件がより限定されるような修正する際に、 else使うなら一箇所の修正だけで済むものを、使わない場合はelse相当のif文も修正が必要になる どう考えてもバグの誘因になる 言語仕様でelseが無いとか、switchのdefaultが無いならともかく、 言語仕様としてあって、更にそれを使うのに適した場面なら、それを使う方が良いと思う まぁ、全部にelseやdefaultを入れろって縛りはどうかと思うけど
672 名前:仕様書無しさん mailto:sage [2012/05/12(土) 09:42:39.16 ] >>668 どう書けばいいのでしょう・・・ ご教授していただけると嬉しいです
673 名前:仕様書無しさん mailto:sage [2012/05/12(土) 10:23:26.26 ] return (bool)exp; だろ?
674 名前:仕様書無しさん mailto:sage [2012/05/12(土) 10:29:07.54 ] else書くなって言ってるんだろ
675 名前:仕様書無しさん mailto:sage [2012/05/12(土) 13:21:10.78 ] gotoは基本的に使用しないこと ただしエラー処理や多重ループから抜ける場合などは使用した方が見やすくなる ・・・ったく、いつまでクヌースの呪縛に捕らわれてんの? 全面禁止だろ、いまどき
676 名前:仕様書無しさん mailto:sage [2012/05/12(土) 14:00:43.31 ] >>675 全面禁止ってことは、 breakもcontinueもreturnもダメってこと? これらはgotoと同じ事出来るんだけど。
677 名前:仕様書無しさん mailto:sage [2012/05/12(土) 14:25:20.15 ] いや、だからだよ 今の言語はブロック制御に則ったジャンプ命令があるのに いつまでALGOL時代の「goto」という命令に捕らわれてるんだって意味
678 名前:仕様書無しさん mailto:sage [2012/05/12(土) 14:34:49.81 ] >>675 いつまで構造化プログラミングの呪縛に縛られてるの?
679 名前:仕様書無しさん mailto:sage [2012/05/12(土) 15:23:16.21 ] >>678 アウフヘーベンするならともかく、goto使うところに戻るんじゃただの退化じゃん。
680 名前:仕様書無しさん mailto:sage [2012/05/12(土) 15:47:39.09 ] >>677 それらで出来ないことだって有るだろ。
681 名前:仕様書無しさん mailto:sage [2012/05/12(土) 16:08:22.41 ] >>679 今更gotoがどうとかどっちでもいいじゃん
682 名前:仕様書無しさん mailto:sage [2012/05/12(土) 16:55:46.12 ] >>673 return (exp) ? true : false; かな でも、おれ、三項演算子好きじゃない こまった・・・
683 名前:仕様書無しさん mailto:sage [2012/05/12(土) 17:30:18.41 ] 三項演算子を好んで使うやつなんか存在するのか?
684 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:02:26.13 ] bool func(){ bool result = false if(exp){ result = true; } return result; }
685 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:08:45.16 ] return exp;
686 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:13:32.23 ] >>683 エレキ屋あがりが「オブジェクトファイルを開いてみろ!if-elseと比べてこんなにシンプルだぞ!」と しきりに勧めてくるのだが・・・・・実際どうなんだろうと思う
687 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:38:40.32 ] 最近カンスト付きの加減算で好んで使ってたりしてる。 無理に使えとは言わないw num = ((num+hoge) > max) ? max : (num+hoge);
688 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:08:11.15 ] ifが戻り値を返したいって時は 三項演算子使うだろ。 var a; if(exp1) { a = 1; } else if(exp2) { a = 2; } else { a = 3 } var a = (exp1) ? 1 : (exp2) ? 2 : 3; どっちが見やすいかなんて一目瞭然だと思うが?
689 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:15:57.08 ] >>688 複数の判定がいるならswichかテーブル使ってしまうなぁ
690 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:19:05.66 ] 三項演算子を使って一行で書ける時はよく使う。 >>688 はイラッ
691 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:21:21.33 ] >>689 switchだって戻り値返せないだろ? var a; switch(exp) { case cond1 : a = 1; break; case cond2 : a = 2; break; default : a = 3; break; } var a = (exp == cond1) ? 1 : (exp == cond2) ? 2 : 3; 値を返すならこっちのほうがシンプル
692 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:23:03.00 ] 処理を分岐させたいなら if、switch 条件に応じて値を返したいなら 三項演算子
693 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:42:10.01 ] 一番のネックは三項演算子をやたらに憎む奴らが多い事なんだよな まあ、IFの変わりに使うひとが大量に居たせいだと恨んでるけとw
694 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:05:26.98 ] 三項演算子くらいラムダ式に比べたらまだまだまだまだ可愛い。
695 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:07:43.98 ] >>693 関数型言語では三項演算子(風)の記述が主流 三項演算子を嫌うような老害は このあと消える。
696 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:09:47.61 ] 老害って言葉好きだね。いつまでケツが青いままのつもり?
697 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:14:04.30 ] >>676 一緒じゃねぇよ全然ちげぇよ。 ダイクストラが提起した問題は、gotoそのものや、ジャンプじゃない。 処理ブロック(forやifといった分岐反復のまとまり)のネストを無視して、 処理ブロックから、処理ブロックに飛べる事が問題なんだ。 なんでgotoがあるのにbreakやcontinueがあるか解ってんのか?
698 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:15:36.69 ] >>688 3講演子の条件式をカッコでくくってんのがイラっとする
699 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:18:57.46 ] >>698 カッコがないと見難い
700 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:20:09.10 ] >>697 ダイクストラが提起した問題は、gotoそのものや、ジャンプじゃない。 処理ブロック(forやifといった分岐反復のまとまり)のネストを無視して、 処理ブロックから、処理ブロックに飛べる事が問題なんだ。 だから、処理ブロックから、処理ブロックに飛ぶようなことをしなければ gotoを使ってもいい
701 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:22:12.48 ] x = 10 + ( n ? n / 100 : 0 ); こういうことしたいとき、条件にかっこつけやがると x = 10 + ( ( n ) ? n / 100 : 0 ); こんな感じでカッコが二重になんのが非常に見づらい
702 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:22:42.49 ] >>700 そうだよ
703 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:24:24.94 ] >>700 だからCにもgotoが残ってる ネストを飛ぶとき警告だすぐらい仕様にいれても よかったとはおもうが
704 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:24:46.55 ] 当たり前だろw 条件式が変数一つの時に カッコつけるなよw (exp)という書いてある時のexpってのは 変数の意味じゃないだろ。
705 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:25:39.55 ] >>675 結局お前、否定されたぞw goto全面禁止とかありえないってさ。
706 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:29:38.06 ] >>703 警告出すのは、ネストの中に入る時だろ? ネストから出るときは、returnなどと一緒なので問題ない。
707 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:30:44.82 ] >>706 ネストからネストに飛ぶときの話
708 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:31:40.42 ] IClass a = (state) ? new ClassA() : new ClassB(); みたいに「確実に何か代入されるけど条件によって違う」場合に使うんじゃないかなぁ
709 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:32:39.01 ] >>704 式だろうと見づれぇよ x = 10 + ( ( n > 0 ) ? n / 100 : 0 ); こっちの方が明らかにすっきりするわ x = 10 + ( n > 0 ? n / 100 : 0 );
710 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:37:03.95 ] >>708 大抵変数作るのがめんどい時だろ。演算子なんだから。 function( 5 > n ? 1 : 9 ); とか ( max > n ? alpha : beta ).Execute(); みたいな場合。
711 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:37:47.22 ] x = 10 + n > 0 ? n / 100 : 0 ; 見難い
712 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:38:15.20 ] >>707 > ネストからネストに飛ぶときの話 ”ネストから” ってのは必須条件?
713 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:40:26.30 ] x = (n > 0) ? n / 100 + 10 : 10;
714 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:42:26.39 ] >>710 それはifでやれよ…
715 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:45:29.39 ] >>712 ネストを1段上げる、ネストを1段下げるなら goto使わんでも出来るし問題にならんだろ
716 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:47:09.13 ] >>713 そんな書き方すんならifつかえよ
717 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:49:00.52 ] >>716 「ここで確実にxが変わる」ってわかるじゃないか 「if使え」っていうことはわかんないのか。困ったな
718 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:51:14.52 ] >>717 カッコつけてブロックでインデントするぐらいならif使えといってんの 見づらいだろ
719 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:53:09.54 ] x = ((10 + n > 0) ? n / 100 : 0); みづらい・・・ カッコが好きならいっそ全部くくりゃいいのに x = ((10 + n > 0) ? (n / 100) : (0));
720 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:58:03.94 ] >>718 ifだと if (n > 0) { int x = } else { int x = } って書けないじゃん 先にint xって書いても節でxx = って書くかもしれない もちろんコンパイラがワーニング出すけど
721 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:00:41.19 ] >>714 面倒だろ。特にメンバー関数なんかは、引数2回書くのがだるい。 かといって、オブジェクトをifでポインターに入れて、 そのあとメンバー関数呼び出すのも面倒い。 ( max > n ? alpha : beta ).Execute( arg_first, arg_second, arg_third );
722 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:03:46.98 ] 他人に見せるか他人のを読むかという前提で 「おれがめんどくさい」っていわれたら もう何も言うことはない
723 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:04:16.78 ] >>715 なんの話してるの? gotoで警告出す時の条件の話でしょ。 使わない時の話はしてないよ。
724 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:04:32.84 ] >>720 んな事はどうでもよくて、カッコつけて見づらい書き方するんなら 三項演算子つかうの止めろと言ってるんだよ
725 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:06:01.68 ] 条件式や値のコードが極端に長くないなら、 処理を分岐させたいなら if、switch 条件に応じて値を返したいなら 三項演算子 この2つで決めればいいだけだろ。
726 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:07:20.76 ] >>724 カッコつけて見やすくする書き方なら 問題ないでしょw
727 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:07:59.44 ] >>724 変な書き方してたら「何か変なことしてるな」ってわかるじゃん 1行でさらっと流したら絶対見落とすぜ
728 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:08:48.84 ] >>723 gotoつかってネスト上げたり下げたりするのは、 他の構文と同じだから、警告だすなら ネストからネストに飛ぶ時だけでいいでしょって話。
729 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:10:41.61 ] >>727 x = n > 0 ? n / 100 + 10 : 10; こうだったら文句いわんよ
730 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:12:30.19 ] 条件に括弧つけるのはif文の代わりって意味なんじゃないの? 俺ならbool値にも括弧つけるよ (flag)? って
731 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:14:08.44 ] 三項式はメンバ変数のコンストラクタ渡しとかで使う
732 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:14:12.54 ] >>728 だから、”ネストから”ってのは要らないよね? 単に「ネストに入るときだけ」に警告でいいよね? って話。
733 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:16:39.41 ] >>729 x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : defvalue; こんな感じですか? カッコつけたほうがいいよ。
734 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:18:39.26 ] x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 nantoka / 100 + defvalue2 : defvalue; こんな感じですか? カッコつけたほうがいいよ。
735 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:19:08.41 ] 訂正 x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 ? nantoka / 100 + defvalue2 : defvalue; こんな感じですか? カッコつけたほうがいいよ。
736 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:20:35.76 ] x = (((10 > a) ? a / 4 : 0)>((5 > b) ? b : 0) ? (( c == d) ? 4 : 2 ) : (( e || f ) : 3 : 1 );
737 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:20:38.32 ] x = (0 < nantoka && nantoka < 100) ? nantoka / 100 + defvalue : (100 <= nantoka && nantoka < 200) ? nantoka / 100 + defvalue2 : defvalue; こんな感じですか?
738 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:21:41.88 ] やっぱりカッコ多すぎると分かり辛いな
739 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:22:24.89 ] >>732 ネストに入るだけなら問題ないって
740 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:24:58.07 ] >>735 nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 ? nantoka / 100 + defvalue2 : defvalue; ?で切ればいいだけだからすぐ解るじゃん カッコあると余計迷う
741 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:26:16.70 ] >>736 x = ( (10 > a) ? a / 4 : 0 ) > ( (5 > b) ? b : 0 ) ? ( (c == d) ? 4 : 2 ) : ( (e || f ) ? 3 : 1 );
742 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:26:50.03 ] >>737 最初と条件違うじゃねぇか。間違えるならカッコつけんなよ。
743 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:29:49.62 ] x = 10 > a ? a / 4 : 0 > 5 > b ? b : 0 ? c == d ? 4 : 2 : e || f ? 3 : 1;
744 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:30:20.32 ] >>740 見難い
745 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:35:12.76 ] 三項演算って言語によって動作が違うから困る
746 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:35:19.87 ] >>741 どの部分が条件文なのかが見やすいね。
747 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:41:15.20 ] 長い三項演算子を一行で書く奴が馬鹿ということでw
748 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:49:00.22 ] >>741 x = ( 10 > a ? a / 4 : 0 ) > ( 5 > b ? b : 0 ) ? ( c == d ? 4 : 2 ) : ( e || f ? 3 : 1 );
749 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:51:18.27 ] ?より左が全部?より右の条件だって知らない人おおいの?
750 名前:仕様書無しさん mailto:sage [2012/05/13(日) 02:09:52.04 ] >>747 長かったら何行に分けようと莫迦だろう。 あと、副作用のある式が含まれてる場合も。
751 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:23:11.54 ] >>750 なんで馬鹿じゃなく莫迦と書いた?
752 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:31:51.39 ] >>750 話しするたびに、無駄に疲れさせるタイプだとみた。 こういうタイプは浅い理解しか出来ないクセに 他人には1を聞いて10を知れみたいな理解を求める人が多い。
753 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:48:25.33 ] >>751 別段意味はないよ。 強いていえば、救い様のないレベルであることを 強調したい気持ちが伝わるといいなー、程度。 そこ大事なトコだった?
754 名前:仕様書無しさん mailto:sage [2012/05/13(日) 17:10:39.27 ] >>753 表現の仕方がイラッとする。 コーディングも同じようにイライラさせてると推測する。 そういう意味で大事なトコ。
755 名前:仕様書無しさん mailto:sage [2012/05/13(日) 18:20:24.05 ] >>740 commit前にformatter通すというルールがあるところだと、こういう、 改行で複雑な式の区切りを示すってやりかたはできないなぁ。 自然と、長い複雑な式は使わないようになってくる。
756 名前:仕様書無しさん mailto:sage [2012/05/13(日) 19:17:09.64 ] 1行の文字数制限とかアホだよなーと思う。 右のほう見に行かなきゃ見えない部分は、どうせ後から読む奴には重要じゃない情報しか無いから。 全体の流れの把握を助けるために、敢えて長くしてるんだってばよ。 もちろん>>740 のようなコトをやってない前提だけど。
757 名前:仕様書無しさん mailto:sage [2012/05/13(日) 19:37:53.74 ] エディタのフォントサイズを10にしてる 文字はみにくいが、全体が見渡せる。
758 名前:757 mailto:sage [2012/05/13(日) 19:48:00.58 ] フォントサイズを小さくしてるからカッコがあった方がパッと見わかりやすい
759 名前:仕様書無しさん mailto:sage [2012/05/13(日) 20:38:36.97 ] >>755 そもそも長い三項目演算子書かなきゃいい 現実はせいぜいこんなもんだろ z = n + ( 0 < x ? y / x : 0 );
760 名前:仕様書無しさん mailto:sage [2012/05/13(日) 21:35:42.19 ] 「三項演算子の中にベタ書きで処理を入れるな」と
761 名前:仕様書無しさん mailto:sage [2012/05/13(日) 22:14:41.06 ] 長い行のときだけスペース入れずに書いてあるのはかなりイラッとする 複数行にするよりスペース省いてでも無理やり一行で書いたほうが見やすいと思ってるのか
762 名前:仕様書無しさん mailto:sage [2012/05/14(月) 18:17:39.06 ] 括弧でくくると見やすくなるの法則って、何法則だっけ?
763 名前:仕様書無しさん mailto:sage [2012/05/14(月) 18:20:08.27 ] プレグナンツの法則
764 名前:仕様書無しさん mailto:sage [2012/05/14(月) 19:04:53.78 ] C言語のくせに、インデックス指定が1から始まるのは 嫌がらせとしか思えない。
765 名前:仕様書無しさん mailto:sage [2012/05/14(月) 23:58:57.22 ] 場合によるだろう month[0] == January, month[1] == February, month[2] == March ……よりも month[1] == January, month[2] == February, month[3] == March ……のほうが直感的だ
766 名前:仕様書無しさん mailto:sage [2012/05/15(火) 00:46:28.70 ] そういう問題じゃねぇ 下手したらバグの温床になる 0版にはゴミは入るし、 配列の要素数とループカウンターの 上限があわねぇし
767 名前:仕様書無しさん mailto:sage [2012/05/15(火) 01:19:55.22 ] その理屈だと日付も0日からはじめるべきじゃね? day[0] == 1, day[1] == 2
768 名前:仕様書無しさん mailto:sage [2012/05/15(火) 02:46:24.41 ] そんなもん配列にいれんな じゃダメ?
769 名前:仕様書無しさん mailto:sage [2012/05/15(火) 03:04:10.81 ] 日付も0からはじめろ
770 名前:仕様書無しさん mailto:sage [2012/05/15(火) 04:01:20.32 ] 噂の9月0日か… 確か1年を30日が12回ってゲームあったな プログラマにとっては楽そうだなと思った
771 名前:仕様書無しさん mailto:sage [2012/05/15(火) 10:41:01.70 ] >>770 FF11のことかw
772 名前:仕様書無しさん mailto:sage [2012/05/15(火) 12:42:31.47 ] カレンダーの仕様がおかしいから変えちまえ!ってことか潔いな
773 名前:仕様書無しさん mailto:sage [2012/05/15(火) 13:05:26.93 ] Luaの配列のインデックスが1からで結局綺麗に書くの諦めた覚えがある。
774 名前:仕様書無しさん mailto:sage [2012/05/15(火) 18:23:08.80 ] 上に行ったら下から出てくる。 左に行ったら右から出てくる。 こんな世界もプログラマにやさしい。
775 名前:仕様書無しさん mailto:sage [2012/05/15(火) 18:54:18.17 ] > 左に行ったら右から出てくる。 これはいいんじゃね?
776 名前:仕様書無しさん mailto:sage [2012/05/15(火) 20:17:29.03 ] 0はnullやfasleと混同しやすいから、バグを生む
777 名前:仕様書無しさん mailto:sage [2012/05/15(火) 23:56:12.94 ] fasle ?
778 名前:仕様書無しさん mailto:sage [2012/05/16(水) 00:12:07.19 ] #define fasle false 問題は解決だ
779 名前:仕様書無しさん mailto:sage [2012/05/16(水) 00:37:47.33 ] >>778 みたいな定義があった上で そこら中でfalseとfasleが混在してたら イラッ☆つとくるじゃ済まねーぜ
780 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:30:24.88 ] 1ヶ月に28日有る月は何ヶ月有る?
781 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:52:23.69 ] 12ヶ月
782 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:52:58.77 ] 訂正、1年あたり12ヶ月
783 名前:仕様書無しさん mailto:sage [2012/05/17(木) 01:08:31.49 ] 無限
784 名前:仕様書無しさん mailto:sage [2012/05/17(木) 09:15:07.96 ] コーディングスタイルの問題というのかわからないけど、 10年前の改修履歴が残ってるのを見るとイラッつとする
785 名前:仕様書無しさん mailto:sage [2012/05/17(木) 17:28:54.79 ] 「コメント禁止。ソース内ではなくExcelファイルに対応するコメントをまとめること。」 という内部規約のプロジェクトのソースを貰った。 案の定ソースとコメントがずれまくっててシャレにならん・・・
786 名前:仕様書無しさん mailto:sage [2012/05/17(木) 17:47:12.96 ] コメント禁止の方はそれほど問題じゃ無いな 俺、コメントなんかほぼ書かないし
787 名前:仕様書名無しさん mailto:sage [2012/05/17(木) 20:35:40.97 ] 関数作るのに申請が必要。 関数名は申請番号をつける。
788 名前:仕様書無しさん mailto:sage [2012/05/17(木) 22:46:50.74 ] >>784 けれど、その履歴が熟成された30年物だったら……?
789 名前:仕様書無しさん mailto:sage [2012/05/18(金) 00:27:51.60 ] 行数を出来る限り短くするのが俺のポリシー なので極力変数は切らない。 分岐は参考演算子のネスト。 俺流コーディングスタイル。
790 名前:仕様書無しさん mailto:sage [2012/05/18(金) 02:14:19.65 ] if(ture or fasle){ contineu; }esle{ fasle retrun; }
791 名前:仕様書無しさん mailto:sage [2012/05/18(金) 03:05:53.38 ] >>790 はぁ? これでリターンする言語なんてあんの?
792 名前:仕様書無しさん mailto:sage [2012/05/18(金) 03:08:30.98 ] ああああ そゆことか。 こりゃ確かにイラつくわw
793 名前:仕様書無しさん mailto:sage [2012/05/18(金) 07:46:00.94 ] >>657 それはコーディングスタイルの話じゃないよね
794 名前:仕様書無しさん mailto:sage [2012/05/18(金) 08:04:32.31 ] /* この関数なんだか挙動がおかしいからとりあえずコメントアウト 中の人が悪さしているかも fn(); */
795 名前:仕様書無しさん mailto:sage [2012/05/18(金) 21:32:33.68 ] >>791 C言語 int true = 1; int false = 1;
796 名前:仕様書無しさん mailto:sage [2012/05/18(金) 22:58:22.00 ] >>790 間違い探し?
797 名前:仕様書無しさん mailto:sage [2012/05/19(土) 20:24:54.71 ] baseClassとかでいい物を、clazzと書く
798 名前:仕様書無しさん mailto:sage [2012/05/19(土) 20:51:41.00 ] コボラの書いたコードで 1ファンクションに3万ステップあった。
799 名前:仕様書無しさん mailto:sage [2012/05/19(土) 22:09:26.69 ] それはもはやコーディングスタイルの問題ではなく そいつのプログラミングスキルの問題だな
800 名前:仕様書無しさん [2012/05/22(火) 22:47:53.70 ] >>684 それ自分はよくやる。戻り値を変数に居れて最後にリターンしたいから。その際に変数名で悩みたくない。
801 名前:仕様書無しさん mailto:sage [2012/05/23(水) 06:05:53.66 ] >>800 いやこれの注目点はif文の条件の出所じゃね クラス変数としても使うなら引数として用意して欲しい
802 名前:仕様書無しさん mailto:sage [2012/05/23(水) 06:44:26.47 ] >>800 処理の見通しが悪くなるから俺はイヤだな 関数の前半で値が確定してるにもかかわらず 最後でreturnされたら、影響が後半で発生してないか いちいち考えなきゃならんのがメンドイ
803 名前:仕様書無しさん [2012/05/23(水) 09:33:43.27 ] え?>>684 て>>685 で答えが出てるんじゃないの?
804 名前:仕様書無しさん mailto:sage [2012/05/23(水) 10:39:15.55 ] >>684 は解釈の仕方がいくつかあるなw 自分的には finally 使わないで書く事多いからよくやる。
805 名前:仕様書無しさん mailto:sage [2012/05/23(水) 19:23:20.20 ] >>803 分岐とreturnの間に別の処理があるつもりで 反応してるやつも多いんだろ
806 名前:仕様書無しさん mailto:sage [2012/05/23(水) 22:13:17.23 ] >>805 まさかそのままだったのかwww 当然ながら処理が省略されてるもんだと思ってたw
807 名前:仕様書無しさん mailto:sage [2012/05/23(水) 23:25:54.83 ] >>806 確かにコレがそのままなら、>>685 で終わりw
808 名前:仕様書無しさん mailto:sage [2012/05/24(木) 09:12:00.04 ] 分岐とreturnの間に戻り値に影響しない処理が入ってたらそれこそイラッとする
809 名前:仕様書無しさん mailto:sage [2012/05/25(金) 09:29:11.35 ] 引数をアンスコ+大文字にする奴が居てイライラする int func(int _Hoge, int _Hage) みたいな感じ
810 名前:仕様書無しさん mailto:sage [2012/05/25(金) 09:35:20.83 ] >>809 C/C++なら、「それは非常識だ」と罵っていい。
811 名前:仕様書無しさん mailto:sage [2012/05/25(金) 19:09:41.26 ] public: ↓ private: この順番、どうよ?
812 名前:仕様書無しさん mailto:sage [2012/05/25(金) 19:38:14.00 ] というか無駄にprivate:があるのがイラッとする privateメンバーがあるなら、classのデフォルトアクセスレベル。 全てpublicならstructのデフォルトアクセスレベルでいい。
813 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:14:25.63 ] >>811 classを使いたい奴が第一に欲する情報は、公開されているメンバに関するもの それが先頭にまとめられていれば見やすい よってそのスタイルは何ら問題ない
814 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:51:40.56 ] >>813 言いたいのはメンバ関数だと思うが、それはさておき クラスの素性を知るには、そのクラス特有の基本的管理データ、つまりprivate変数を見るべきじゃないのか?
815 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:59:23.64 ] 漢のなかの漢な規約では 構造体は一切使わず、全てクラスを使う 潔いから、というのがある
816 名前:仕様書無しさん mailto:sage [2012/05/25(金) 22:36:31.36 ] >>814 普通はprivate変数を見なくても分かるように設計します。 クラスを編集するときの話は別な。
817 名前:仕様書無しさん mailto:sage [2012/05/25(金) 22:59:17.56 ] コーディングスタイルの話じゃないけど、javaの記憶クラスのデフォルトが publicでもprivateでもない中途半端なのがイラッつとする。
818 名前:仕様書無しさん mailto:sage [2012/05/25(金) 23:08:03.36 ] >817 しかも、明示的に"package"等と書けないのがイラッつきを加速させる
819 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:33:39.55 ] >>813 pimpl使えば気にならんだろ class XxX { public: ;こう始まるほうがウザイわ
820 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:34:37.90 ] >>814 privateのメンバって、実装上の理由でたまたま持ってるだけだったりするから クラスの素性を知るには、公開されているI/Fをまず調査する。
821 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:35:16.85 ] >>817 原則publicよりinternalスコープ使えって事だよ いわせんな恥ずかしい
822 名前:仕様書無しさん mailto:sage [2012/05/26(土) 03:39:46.06 ] >>110 うちマジで、 > 入口一つに出口一つ になりそうで、逸脱するときは手続きとれって事になりそうなんだけど、 まぁ俺今品証で直接は関係ないんだけど、文句でないのが不思議だ。 レガシーコードの中には間違いなくあると思うんだけどな。 みんなソース見せてくれないんで知らないけどw
823 名前:仕様書無しさん mailto:sage [2012/05/26(土) 04:32:07.43 ] perl書くときに、どうせ人に見せる事もないので、 C言語のように、main文がほしいと思って #!/usr/bin/perl -w use … &main; sub main{ } と書いてますが、イラッつとしますか?
824 名前:仕様書無しさん mailto:sage [2012/05/26(土) 19:45:38.20 ] 他人に見せないのなら気にすることはない
825 名前:仕様書無しさん mailto:sage [2012/05/26(土) 20:32:38.77 ] >>823 最初からそう書くことは少ないけど、段階的にそうなることはあるなw ベタで書く→サブルーチンを分ける→途中の修正で、面倒くさいからとグローバル変数を直接参照する →収拾がつかなくなってきたところでmainを分離して、出てきたエラーを一気に修正する
826 名前:仕様書無しさん mailto:sage [2012/05/26(土) 21:27:34.77 ] オブジェクト指向ですね
827 名前:仕様書無しさん mailto:sage [2012/05/26(土) 21:55:23.91 ] 違うから
828 名前:仕様書無しさん mailto:sage [2012/05/26(土) 22:30:59.78 ] >>823 -w は今時使わない & は今時使わない お前のコードは古い。
829 名前:仕様書無しさん mailto:sage [2012/05/26(土) 23:05:10.42 ] 即ちイラッつとするコーディングスタイルである
830 名前:仕様書無しさん mailto:sage [2012/05/27(日) 10:52:44.39 ] 軽口叩いてるコメントって書くのはいいけど読まされるとイラッと来るからやめて欲しい
831 名前:仕様書無しさん mailto:sage [2012/05/27(日) 11:13:42.55 ] まともな神経してたら、書くのも違和感を覚えるだろう。
832 名前:仕様書無しさん mailto:sage [2012/05/27(日) 12:26:47.70 ] 変数名や関数名にROMAJIを使わないでください
833 名前:仕様書無しさん mailto:sage [2012/05/27(日) 16:58:11.32 ] samuraiとかninjaみたいに、英語にしたくてもアッチの国でローマ字で通っちゃってる言葉の場合はどうすればいいだろう。
834 名前:仕様書無しさん mailto:sage [2012/05/27(日) 17:07:07.97 ] >>833 それは立派な英語だろ
835 名前:仕様書無しさん mailto:sage [2012/05/27(日) 21:23:27.48 ] 配偶者特別控除なんて変に英訳されたらたまらん。
836 名前:仕様書無しさん mailto:sage [2012/05/27(日) 21:54:28.02 ] それはコード内で識別子に使わずに文字列データとして扱うべし
837 名前:仕様書無しさん mailto:sage [2012/05/27(日) 23:21:47.22 ] HaiguusyaSpecialKoujo
838 名前:仕様書無しさん mailto:sage [2012/05/27(日) 23:36:18.74 ] 某社の自治体向けパッケージではそのまま「配偶者特別控除」だな 個人的には漢字識別子名は邪道だと思うが、視認性がずば抜けてるのは認めざるをえない
839 名前:仕様書無しさん mailto:sage [2012/05/28(月) 00:23:45.53 ] // オブジェクト作成に必要なコードをこの下に挿入します。
840 名前:仕様書無しさん mailto:sage [2012/05/28(月) 01:17:07.48 ] if(1==a) というスタイルで書かれたソースをメンテしたときに、 for(i=0;10>i;++i) i[dst]=i[src]; というコードを追加してやった。
841 名前:仕様書無しさん mailto:sage [2012/05/28(月) 02:08:59.50 ] >>840 普通に意味分かんない。 dst[i] = src[i] か?
842 名前:仕様書無しさん mailto:sage [2012/05/28(月) 06:21:33.73 ] a[b]でもb[a]でも参照するアドレスが同じ言語があるらしい そう皆さんもよくしってるあれです
843 名前:仕様書無しさん mailto:sage [2012/05/28(月) 07:01:57.72 ] 意味がわからずただ反抗するバカっているよな
844 名前:仕様書無しさん mailto:sage [2012/05/28(月) 07:02:58.73 ] 意味がわからずただ反抗するバカっているよな
845 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:10:25.95 ] >>809 _大文字や__はCなら予約語だな。 #ifndef __HOGE_H__ とかもイラッとする
846 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:33:29.24 ] >>841 Cすらわからん奴がここにいるとは、信じられん
847 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:45:44.74 ] わかりやすく書け、ってちょっとイラッつとしたw
848 名前:仕様書無しさん mailto:sage [2012/05/28(月) 16:14:24.26 ] そういうネタだろう
849 名前:仕様書無しさん mailto:sage [2012/05/28(月) 17:40:17.47 ] >>832 ローマ字でもあってればまだいい。 一見英語なんだけどつづり間違いってのがあって どんだけ直したかったかw
850 名前:仕様書無しさん mailto:sage [2012/05/28(月) 20:22:44.61 ] ここでもまたUwaRiteか
851 名前:仕様書無しさん mailto:sage [2012/05/28(月) 20:38:56.59 ] この板の伝説の逸品のひとつだな
852 名前:仕様書無しさん mailto:sage [2012/05/28(月) 21:38:10.07 ] >>840 if(1==a) for(i=0;10>i;++i) はありだな。定数が左に来ないと 比較演算子が画面右に寄って見づらい
853 名前:仕様書無しさん mailto:sage [2012/05/28(月) 21:50:05.01 ] 結局>>840 はどういう意味なんでしょうか? Cはやったことが無いのでまったく意味がわかりません 誰か教えてください。
854 名前:仕様書無しさん mailto:sage [2012/05/28(月) 22:00:25.08 ] Cの配列はポインタみたいなものだっけ もう五年くらい触ってないから忘れた
855 名前:仕様書無しさん mailto:sage [2012/05/28(月) 22:03:06.42 ] >>852 10>iはちょっといやじゃね? 数学の書き方からの借用でi<10が世界標準なきがする
856 名前:仕様書無しさん mailto:sage [2012/05/28(月) 23:18:07.63 ] >>853 >>855
857 名前:仕様書無しさん mailto:sage [2012/05/28(月) 23:53:36.86 ] >>853 通常、a(変数)==1(定数)って書く条件式を逆に記述してるから、他も入れ替えて記述したった!って事よ。
858 名前:仕様書無しさん mailto:sage [2012/05/29(火) 03:05:01.58 ] バカじゃないなら=を書き忘れた時の対策になる書き方の癖を付ける前に =を書き忘れない癖を付けるもんなw
859 名前:仕様書無しさん mailto:sage [2012/05/29(火) 03:08:17.86 ] フェイルセーフ
860 名前:仕様書無しさん mailto:sage [2012/05/29(火) 04:51:14.73 ] 癖の問題じゃねえよどう考えても
861 名前:仕様書無しさん mailto:sage [2012/05/29(火) 05:48:59.62 ] int arr[]={ 1 ,2 ,3 ,4 ,5 }; という最高にメンテしやすい表記編み出したんだけど使っていい?
862 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:32:50.37 ] >>857 左に変数書くのは常識でも何でもないのに身勝手極まりない話だよ 寧ろ左に定数置く方が多数派だろうに。 if( S_OK == Xxxx() ) オプソや、MS、Oracleなんかのサンプルコードじゃ大概 こんな風に左定数。
863 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:34:03.20 ] >>857 >i[dst]=i[src]; この部分は動くんですか?
864 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:44:33.06 ] >>863 *( i + dst ) = *( i + src );
865 名前:仕様書無しさん mailto:sage [2012/05/29(火) 08:14:25.89 ] 言語実装上の間抜けな穴と認識している 動作が同一だからといって文法に基づく意味が同じとはいえない
866 名前:仕様書無しさん mailto:sage [2012/05/29(火) 12:40:39.34 ] >>858 一つの言語しか使えない土方はそうかもしれんが、 たいていのプログラマは複数の言語を使うわけよ 等号が = な言語で仕事しているときに、ちょっとデバグでC++のソースを触ったりすると、 間違えることもあるのだよ
867 名前:仕様書無しさん mailto:sage [2012/05/29(火) 13:06:33.50 ] まともなプログラマなら「運が良ければエラーになる」ようなものに頼らない。
868 名前:仕様書無しさん mailto:sage [2012/05/29(火) 14:57:58.26 ] 逆にSQLとか書いてると==でエラー吐かれてずっと悩む時があるもんな…
869 名前:仕様書無しさん mailto:sage [2012/05/29(火) 16:41:24.05 ] ねーよ
870 名前:仕様書無しさん [2012/05/29(火) 18:19:43.91 ] >>863 自分で試さない奴がいちばんイラッつとする。
871 名前:仕様書無しさん [2012/05/29(火) 19:43:14.85 ] int a = 0 ; int b = 0 ; scanf("%d %d" , &a , &b ) ; a ^= b ^= a ^= b ; printf(" a = %d \nb= %d\n" ,a , b ) ; みたいな感じで、一行スワップ書いたら怒られた
872 名前:仕様書無しさん mailto:sage [2012/05/29(火) 19:53:53.57 ] 怒られたのはたぶん scanf() なんて使ってるから
873 名前:仕様書無しさん [2012/05/29(火) 20:11:27.21 ] scanfって一度の使ったことない
874 名前:仕様書無しさん [2012/05/29(火) 20:38:37.38 ] >>872 >>873 いや、実際にscanf使ったわけじゃないから。
875 名前:仕様書無しさん mailto:sage [2012/05/29(火) 21:54:21.53 ] >>872 何でだよ scanfのパターンマッチが理解出来てねぇだろお前
876 名前:仕様書無しさん mailto:sage [2012/05/29(火) 22:07:31.87 ] aとbが同じ値のときのこと考えてないから怒られたらんじゃね?
877 名前:仕様書無しさん [2012/05/29(火) 23:15:03.81 ] >>871 自己満のトリッキーコード書く奴は怒られて当然 どうしてもそれがやりたきゃせめてマクロ化だろ
878 名前:仕様書無しさん mailto:sage [2012/05/29(火) 23:20:00.07 ] >>871 はそれ書いて何がしたかったの? 格好つけたかったのか?
879 名前:仕様書無しさん mailto:sage [2012/05/29(火) 23:27:30.27 ] 入力にscanfを使っても何も感じない馬鹿が1名いるな 特有の臭さがあるんでこいつのレスはすぐ分かる
880 名前:仕様書無しさん mailto:sage [2012/05/30(水) 01:19:50.06 ] やっぱsscanf_sくらいは使って欲しいよな!
881 名前:仕様書無しさん mailto:sage [2012/05/30(水) 04:12:19.10 ] sscanfなんざ使うよりscanfの方が安全だし、 文字の取りこぼしも少ない 実際scanfを使うことは少ないが、 一時ファイルなんかを対象にfscanfを 使うことは多い
882 名前:仕様書無しさん mailto:sage [2012/05/30(水) 06:17:59.87 ] まあたまにやりたくなるよな 地獄のミサワ 「ふ〜ん、このトリッキーコード、3年位前に俺も思いついたわ〜」とか
883 名前:仕様書無しさん mailto:sage [2012/05/30(水) 07:01:00.94 ] sprintf(buf,…); int len=strlen(buf);
884 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:43:58.62 ] >>881 ひょっとしてギャg(ry
885 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:44:55.03 ] >>866 ない。
886 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:45:33.57 ] >>862 ひょっとしてギャg(ry
887 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:47:55.32 ] >>861 前職場の同僚にいたなあ>先カンマ 今のC/C++だと後カンマで書けと言わんばかりの仕様なんだが
888 名前:仕様書無しさん mailto:sage [2012/05/30(水) 15:59:23.52 ] アホみたいにステップ数を稼ごうとするのはコボラー時代からの悪習
889 名前:仕様書無しさん mailto:sage [2012/05/30(水) 17:46:05.44 ] 前に見たC++のコードで while(1) { int Hoge = Hage(); if (Hogeの判定) { goto Label; } break; } : : Lablel: : ってのがあったんだけど、エラー処理にgoto使っているせいで変数宣言に いちいちエラーが出るのを回避するためににやっていたみたい。 よくまあ思いつくなぁwwwと思ったんだが、ちょっとイラッつとした。
890 名前:889 mailto:sage [2012/05/30(水) 17:48:27.06 ] × Lablel ○ Label
891 名前:仕様書無しさん mailto:sage [2012/05/30(水) 18:20:27.23 ] >>889 longjumpだっけ? 関数越えのgoto それしないだけマシだと思う。
892 名前:仕様書無しさん mailto:sage [2012/05/30(水) 19:34:40.78 ] >>886 は?scanfの使い方も知らん素人が マ板なんか来るなよ
893 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:00:39.11 ] >>892 背伸びしてレスしても恥かくだけだよ fscanfとsscanfは稀に使うことはあるが、scanfを使うことはまずない
894 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:03:28.25 ] >>893 fscanfの話してたんだけど つかレス番まちがえた >>884 だったな紛らわしい
895 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:05:56.45 ] try/finallyやまともな一行入力ライブラリが 標準でついてない糞言語にイラッと来る
896 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:21:25.16 ] >>887 長いSQL書いてたときは間カンマ(カンマで1行とる)にしてたなぁ。 あとSQLだと、 WHERE 1=1 AND a=hoge AND b=hage ... なんてのも。
897 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:21:26.50 ] >>886 事実ですが msdn.microsoft.com/ja-jp/library/cc305629.aspx
898 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:23:08.56 ] WHERE 1 = 1 AND a = hoge AND b = hage
899 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:03:52.60 ] >>897 これは? msdn.microsoft.com/en-us/library/windows/desktop/ms724426%28v=vs.85%29.aspx
900 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:06:58.12 ] 全体として少数派
901 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:08:52.98 ] てっきりコピペしてそのまま使わせないためにそうしてるものかと思っていた時期が私にも
902 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:49:22.51 ] >>897 そもそもネストが深すぎだろw
903 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:59:51.00 ] サンプルなんて盲信するなよ
904 名前:仕様書無しさん mailto:sage [2012/05/30(水) 22:40:23.90 ] どこぞの教科書やサンプル通りに右に定数書くヤツは 条件分岐で何を一番に見るか考えてない
905 名前:仕様書無しさん mailto:sage [2012/05/30(水) 23:30:29.43 ] >>904 $ tar xfJ linux-3.4.tar.xz $ cd linux-3.4/ $ find . -name '*.c' | xargs pcregrep '==\s*[A-Z0-9_]+' | wc -l 127939 $ find . -name '*.c' | xargs pcregrep '[A-Z0-9_]+\s*==' | wc -l 6971 フム・・・・ 定数が右ばかりにあるLinuxは危険だ。 今すぐインターネットから切断した方がいい。
906 名前:仕様書無しさん mailto:sage [2012/05/30(水) 23:34:56.89 ] 定数というより式であるモノを持って来てドヤ顔 しかも何が問題か解ってないという
907 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:03:00.58 ] そもそも「定数を左に置く」なんてC/C++のバッドノウハウであって、 警告レベルを上げたり静的解析ツールかませば一発で解決すること まぁ、C/C++はともかくとして、それをC#やJava等の他言語で実践している奴にはマジでイラッとくる
908 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:10:14.91 ] なんてこった読みやすくて素晴らしいGNUスタイルは定数を右に置くのか しかし、定数だけGNUスタイルに合わせるのは問題だな 改行もインデントも至高のGNUスタイルにあわせなきゃっ!
909 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:12:53.26 ] 未だ定数を左に置くのはエラー出すためだけだと思ってるヤツが居るんだな()
910 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:17:41.38 ] >>909 他に何があるっていうんだい?
911 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:20:34.98 ] 定数を右に書くヤツは数個前のレスすら読めないそうだ
912 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:27:53.74 ] while( GetMessage( &message, 0, 0 ) > 0 ) 読みづらいっつうの