- 1 名前:仕様書無しさん mailto:sage [03/07/05 22:28]
- /*↓2ゲット禁止 */
- 764 名前:仕様書無しさん mailto:sage [04/04/25 09:50]
- >>759
んじゃ、これもだめ ? static int static_value = 0; /* C言語です */
- 765 名前:仕様書無しさん mailto:sage [04/04/25 13:54]
- 防御的プログラミングは警告つぶしにしかならない場合があるからなあ。
enum Etype { E1, E2 }; switch (a) { case E1: /*...*/ case E2: /*...*/ default: /*防御*/ } 仕様変更 enum Etype { E1, E2, E3 }; →defaultがなければ警告が出たのに…
- 766 名前:仕様書無しさん mailto:sage [04/04/25 14:14]
- >765
それを警告で救ってもらおうと思う発想がDQN
- 767 名前:仕様書無しさん mailto:sage [04/04/25 16:35]
- /*
防御プログラムとは少々異なるが、>>765のenumとswitchの関係みたいな どっちかが変更されたら、そもそもプログラムが成立しなくなる様 一意性にこだわって書くスタイルというのもあるな。 例えば enum Etype {E1, E2, EMAX }; typedef void(*func(void)) FUNC; const FUNC ftable[EMAX] = { e1Func, e2Func ]; ftable[a](); … みたいな。 上ではftableは素の配列だが、java等ならEtypeに変更があれば範囲外参照で例外が飛ぶし、 C++なら定数配列のテンプレートでも使えば簡単に範囲外参照をチェックするようにできる。 Cでも最悪aを引数にした呼び出しマクロ等でチェックできるだろうし、何もしなくても、 いずれクラッシュという形で異常が検出される。 結局、問題点が事故を起こしてから判明するという意味では何の解決にもなっていないし 間の抜けた手には違いない。 その上、上の例の様な書き方はまだるっこしく、直感的でなく、可読性に劣る。 そうなると>>765みたいに警告で救ってもらおうというのは…DQNというより 横着者のやることなわけだが、プログラマにとって横着は美徳。 粘着を美徳と勘違いしてる奴が多いのは実に嘆かわしい事だが。 */
- 768 名前:仕様書無しさん mailto:sage [04/04/26 20:51]
- >>763
一概に「激しく問題ありなプログラムスタイル」とは言えないだろ。 実運用のための堅いコード、テストしきれてない部分でも確実にしっかり 動作する可能性の高いコードを求めるのならば、防御的プログラミングには 充分な価値があることを認めなければならない。 といっても、おれは防御的プログラミングをしないけどな。わら。
- 769 名前:仕様書無しさん mailto:sage [04/04/26 21:03]
- >>762
>自分の書いた関数が、他のコードに影響されない様に >して置く事でしょうか? ちょっと違う。つか、「影響されない」がちょっと意味不明。 もし入力が誤っていたとしてもそれによって誤った動作をしないように プログラミングすることが防御的プログラミング【おれ解釈】。 たんに入力をチェックしているだけではあんまり防御的では ないんじゃあないかなあ。どんな入力でも、たとえそれが誤っていても、 なんとかそれなりに動作するように配慮してこそ防御的プログラミング。
- 770 名前:仕様書無しさん mailto:sage [04/04/26 21:31]
- 「確信犯」みたく、どうにも言葉遊びの世界に突っ込みがちだが、
防御的(防衛的)プログラミングには大きく2つ、 ・暗黙の前提条件に自分のテリトリー内で辻褄を合わせようとするスタイル と ・自身が想定していない暗黙のタブーを通過させないためにブロック機構を仕組む自衛的スタイル の、まったく異なる2つが混同して捉えられてるぽい。 単純にカプセル化の面で捉えて、前者は結局呼び出し元の仕様が変更されたら 引きずられるしかないわけで、良いプログラミングのスタイルとは言い難い。 後者は単に呼び出し元から与えられたパラメータの正当性を盲信せずにチェックを 入れてるだけなので、普通の(ちょっと神経質だが、慎重さは褒められていい) プログラムスタイル と思うんだけど、お前等どうよ。 スレ違いも甚だしいが。
- 771 名前:762 mailto:sage [04/04/26 23:47]
- >>770
自分の基本スタイルは後者の方です。 #元々の出身が汎用機の業務系だったんで #とにかく落ちない事が最優先、想定外 #データはスキップ、オペレータも何をやらかす #(めちゃくちゃなデータを入力してきたり) #か判らん連中を相手にしていたんで #自然とこうなった。 今の仕事は業務系とはかけ離れているけど。
- 772 名前:仕様書無しさん mailto:sage [04/04/27 22:49]
- >>770
「タブーを通過させないためにブロック機構」というのがassert()のような もののことだとするのなら、それはいわゆる防御的プログラミングではないと 思た。だって全然防御してないじゃん。わら。 あんたのいう「ブロック機構」が具体的にどうなのかが肝心でそ。 んで、そのひとつとして「自分のテリトリー内で辻褄を合わせよう」とする やりかたがあるんじゃあないか。
- 773 名前:仕様書無しさん mailto:sage [04/04/27 22:56]
- >>771
ユーザーが入力した生データを相手にしてるんだったら、わりと ふつうのことだと思えるが。とくに「防御的」というほどのこともなく。 関数の呼び出し元のデータに対してもそうしてるんならば、 それは立派な「防御的プログラミング」であろ。
- 774 名前:仕様書無しさん mailto:sage [04/05/04 08:58]
- /* バグを発見したが、詳細を書くには余白が狭すぎる */
- 775 名前:仕様書無しさん mailto:sage [04/05/04 13:06]
- >>774
バグの詳細は省略して良いから 仕様どうりに動く様にしる。
- 776 名前:仕様書無しさん mailto:sage [04/05/04 13:39]
- >>774
後世、懸賞金が掛かっちゃうようなバグ?(藁
- 777 名前:仕様書無しさん mailto:sage [04/05/04 13:47]
- >>774,>>776
このネタで笑える香具師ってどれくらいいるの?
- 778 名前:仕様書無しさん mailto:sage [04/05/04 14:14]
- >777
さぁ?
- 779 名前:仕様書無しさん mailto:sage [04/05/04 15:11]
- フェルマーの大定理だろ。
- 780 名前:仕様書無しさん mailto:sage [04/05/04 16:39]
- フェルマー予想では?
- 781 名前:仕様書無しさん mailto:sage [04/05/04 17:06]
- もう証明されたので、「予想」→「大定理」に進化しますた。
*「フェルマーの定理」は別に存在するので「大」は必要。
- 782 名前:仕様書無しさん mailto:sage [04/05/04 17:36]
- フェラとブルマ―がどうしたって?
ウヒャ
- 783 名前:仕様書無しさん mailto:sage [04/05/04 17:46]
- >782
どうもしませんけど?
- 784 名前:仕様書無しさん mailto:sage [04/05/04 19:03]
- /* ブルマーについて語りたいが、詳細に書くには余白が狭すぎる */
- 785 名前:仕様書無しさん mailto:sage [04/05/04 19:26]
- そこを観尻にどうぞ
- 786 名前:仕様書無しさん mailto:sage [04/05/04 19:30]
- // ぶちょが直せといったから。
- 787 名前:仕様書無しさん mailto:sage [04/05/04 19:39]
- >>781
そうだけどフェルマーの手柄になっちゃうの? ひでえなあ。
- 788 名前:仕様書無しさん mailto:sage [04/05/04 21:30]
- フェルマーが提起したおかげでみんなが一生懸命証明しようとがんばったからな。
問題を解くよりも問題をみつけるほうが難しいこともある。
- 789 名前:仕様書無しさん mailto:sage [04/05/04 21:31]
- 結局みんな営業の手柄か。
- 790 名前:仕様書無しさん mailto:sage [04/05/04 21:37]
- >789
。・゚・(ノД`)・゚・。
- 791 名前:仕様書無しさん mailto:sage [04/05/04 22:24]
- >>798
深いなぁ。
- 792 名前:仕様書無しさん mailto:sage [04/05/04 22:30]
- >>789 ワラタけど、ワイルズの名も歴史に残る。とりあえずコメントに名前入れときますか。
まあ、数百年も証明も反例も見つからない、シンプルな式を書くのは凄いことだ。
- 793 名前:仕様書無しさん mailto:sage [04/05/04 22:52]
- という事は数年間誰にも原因を特定できない
バグを生み出したら名を残せるんですか?
- 794 名前:仕様書無しさん mailto:sage [04/05/04 23:02]
- >>793
語り草として残るかもしれないが、社員名簿には残らないだろう...
- 795 名前:仕様書無しさん mailto:sage [04/05/04 23:57]
- 業界レベルで流れるブラックリストに
- 796 名前:仕様書無しさん mailto:sage [04/05/05 00:55]
- >>793
むしろ「特定はできても、誰にも解決できないバグ」だろ。 ところでフェルマーってなんで解が存在しないってわかったんだろ。
- 797 名前:仕様書無しさん mailto:sage [04/05/05 02:33]
- >>796
ただの思い付き。なんとなくあったら便利そうだったから。
- 798 名前:仕様書無しさん mailto:sage [04/05/05 16:35]
- >>796
良く知らんけど今の証明って ・フェルマー以降の定理使いまくり ・しかも長くて難しい、ミスを指摘されて修正しているほど な物だと思ってるんだが、だとしたらフェルマーは ・後世の必要な定理を脳内で証明 ・それを使った長く難しい証明の外枠が固まってた のだろうか。 ・もっとシンプルな証明がある という可能性はどうなんだろ。 >>797 本当に便利なの?フェルマーの小定理はRSAの話で出てくるくらい便利だけど。
- 799 名前:仕様書無しさん mailto:sage [04/05/05 16:56]
- >>798
/* すばらしい機能を思いついたが詳細はPGが考える */ 多分フェルマーの時代にはPGと言う言葉がなくて言いたいことが 書けなかったんだと思う。
- 800 名前:仕様書無しさん mailto:sage [04/05/05 17:31]
- >>798
聞くところによると証明は200ページもあるらしいし、フェルマー本人も言っ てるとおり短くはかけないんでしょう。良く聞く話しだけど、何百桁の数字を 一瞬で暗記できたり、チラッと目を通しただけで本を丸暗記したりする能力 に近いのではないかと・・・ 俺は、コードを書いては直し、直しては動かしながら先に進むタイプのPGだけ どフェルマーみたいなPGがいたら、全部頭ん中だけで完璧にコーディングで きてデバッガなんか必要ないんじゃないかと思う。 俺なんかデバッガのお世話になりまくりだし(w
- 801 名前:仕様書無しさん mailto:sage [04/05/05 17:38]
- >>799
>/* すばらしい機能を思いついたが詳細はPGが考える */ こんなことを言うSヨのことぬっ殺していいでつか。
- 802 名前:仕様書無しさん mailto:sage [04/05/05 18:49]
- >801
うちのSヨをぬっ殺しに来てくれるのでつか?
- 803 名前:仕様書無しさん mailto:sage [04/05/05 19:27]
- >>798
フェルマーは書物や書類の端なんかに、自分が思いついた定理(予想)とその証明を 書くクセがあり、かつ「すばらしい証明を思いついたが、(以下略)」の例のフレーズを書くクセもあった。 (書物の端に書ける文章の量なんか限られてるから) そのなかのひとつが例のフェルマー予想。 フェルマー自身はフェルマー予想を証明できていなかったとされる、 というか絶対出来てないはず。
- 804 名前:仕様書無しさん mailto:sage [04/05/06 01:12]
- >>777
これらのカキコを見る限り笑える人はかなり多いらしいぞ
- 805 名前:仕様書無しさん mailto:sage [04/05/06 16:06]
- >>803
簡単に言うと、「多項式の素因数分解を一意に決めるのは簡単だ」と勘違いして、 証明できた気になっていただけという説が有力。
- 806 名前:仕様書無しさん mailto:sage [04/05/06 16:50]
- >>805
つまりフェルマーは、この定理を思いついた瞬間、宝くじに当たるより遥かに強い強運で、 後世に名を残しちゃったんだね 俺は運だけでバグを作りたくはないな
- 807 名前:仕様書無しさん mailto:sage [04/05/06 17:07]
- つまり、思わせぶりなコメントは後々あらぬ誤解を招く、ということで、
ていうかおまいらそろそろスレ違いですよ。
- 808 名前:仕様書無しさん mailto:sage [04/05/06 22:53]
- >>807
フェルマーが本の欄外に書いたコメントについての話ではある。 つか、いろいろ勉強になりますた。あり。>あんたら
- 809 名前:仕様書無しさん mailto:sage [04/05/09 17:03]
- そもそも。やはり(本だかノートだかの)欄外に書かれていた走り書きを見つけた香具師の
名前が残っていないのが可哀相に思えてくるわけだが…。 /*もまえらならとっくに知っていそうだが、数学的証明がなかなかうまくいかなかったので コンピュータを使って反証例を総当りで探す試みは行われていた。 「…億までの範囲内には存在しないことが確認されている」みたいな。*/ >>807 「スレ違い」言われてもマ板のどのスレに書け、と? //漏れとしてはコメント行の話題でもいい気がする。スレ立てするほど続く話じゃないし
- 810 名前:仕様書無しさん mailto:sage [04/05/09 21:15]
- # まあこの話題も楽しいんだけど、笑えるコメントに最近会ってないのもなあ。
- 811 名前:仕様書無しさん mailto:sage [04/05/10 10:12]
- っていうか、フェルマーの大定理知らない人なんているのかな?
誰でも一度くらい聞いたことあるんじゃない? 問題は簡単なのに、解くのは難しい、という「分かりやすい」難問だろ。 巡回セールスマン問題も同様。(N=NP問題までは知らなくていいと思うけど。) もちろんピタゴラスの定理すら知らない、とかいうDQNは人じゃないとして。
- 812 名前:仕様書無しさん mailto:sage [04/05/10 11:22]
- >811
そういう物言いは敵を作るよん。
- 813 名前:仕様書無しさん mailto:sage [04/05/10 11:58]
- //PGへ げんきですか。いまコード書いてます
//うるさい死ね 広域変数定義すんな殺すぞ //ごめんね。課長はじめてJavaアプリ組んだから、ごめんね //うるさいくたばれ、 List list = null とか意味不明な変数作んな //アルファベットは全部大文字にしておきました。関数名も日本語ローマ字にしておくね //COMPUTEは使えますか? //辞めていいですか?
- 814 名前:VB-Slime mailto:sage [04/05/10 16:19]
- 先輩が作ったクラスモジュール。
一番上にいきなり ' 反論は許さん ………(;´Д`)
- 815 名前:仕様書無しさん mailto:sage [04/05/10 16:33]
- >814
これ、いいな。(w 今度から俺もソースの先頭に入れておこう。
- 816 名前:仕様書無しさん mailto:sage [04/05/10 17:06]
- そして反論されない代わりに「最高に笑えたコメント行」スレに加え
「この会社辞めようと思ったソースコード」スレにまで晒されたりする罠。
- 817 名前:仕様書無しさん mailto:sage [04/05/10 22:52]
- >>814
タモリ倶楽部スレも、伝統的に反論を認めない。 tv4.2ch.net/test/read.cgi/tv/1082947512/l50
- 818 名前:仕様書無しさん mailto:sage [04/05/11 04:08]
- >>813
#ワラタ
- 819 名前:仕様書無しさん mailto:sage [04/05/11 13:04]
- >>813
これ元ねたなんだっけ。
- 820 名前:仕様書無しさん mailto:sage [04/05/11 13:07]
- >819
母からのメールのガイドライン 2通目 that3.2ch.net/test/read.cgi/gline/1079161567/
- 821 名前:仕様書無しさん mailto:sage [04/05/11 13:50]
- >>820
d なかなか笑えた
- 822 名前:VB-Slime mailto:sage [04/05/11 14:20]
- あ、受けてるw
同じ先輩の関数で、 ' 理解できなかったらこの関数は使うな!! ってのもあったな。真理ですが。
- 823 名前:仕様書無しさん mailto:sage [04/05/11 14:41]
- // このさきコピペ禁止
なんで!?
- 824 名前:仕様書無しさん mailto:sage [04/05/11 15:01]
- >>814
先輩がヘタレモジュールだって自認してるんだね >>815 「反論は許さん」なんて書かなくて済むソースを書くべし
- 825 名前:仕様書無しさん mailto:sage [04/05/11 21:25]
- >>824
かならずしもそうとはいえんなあ。 一言居士という人はいるんだよ。チミのような。
- 826 名前:仕様書無しさん mailto:sage [04/05/11 21:54]
- >>814
で、そのクラスモジュールよくできてんの? なんとなく、へぼい出来だと思うんだけど。
- 827 名前:仕様書無しさん mailto:sage [04/05/11 23:20]
- そこはかとなく共感
- 828 名前:仕様書無しさん mailto:sage [04/05/12 17:20]
- >>826
反論を見込んでる時点で、何かしら問題があることを認識してるんだろうね。 先輩の腕の問題か、まわりのヘボさに合わせなければいけないくて泣く泣くか。 素晴らしいコードを書けば、反論はともかく、コメントも要りませんよ。
- 829 名前:VB-Slime mailto:sage [04/05/12 18:08]
- >826その他諸氏
うーん…… 自分からみてもヘボくはないとは思うんですが(身内びいき ただ、少々難解というか、処理の流れをおっかけるのに苦労するというか 独自の癖がある人なんで、慣れないと見づらいんですわ。 その辺をふまえての「反論は許さん」だと思いマスタ。
- 830 名前:仕様書無しさん mailto:sage [04/05/12 22:26]
- >>828
万人にとって素晴らしいコードは存在しない。
- 831 名前:仕様書無しさん mailto:sage [04/05/13 08:49]
- ただし、万人にとってクソなコードは存在する。
- 832 名前:仕様書無しさん mailto:sage [04/05/13 14:00]
- //ところでhoge、bar、fooって何?
漏れも知らん
- 833 名前:仕様書無しさん mailto:sage [04/05/13 14:36]
- tp://kmaebashi.com/programmer/hoge.html
- 834 名前:仕様書無しさん mailto:sage [04/05/13 15:09]
- >>832
;; fucking up beyond all recognition ;; (c.f. Saving Private Rian)
- 835 名前:仕様書無しさん mailto:sage [04/05/13 23:51]
- >> 832
RFC 3092
- 836 名前:仕様書無しさん mailto:sage [04/05/16 00:36]
- >>681,692
恐ろしく亀だが、lispでは普通に car = contents of the address part of the register cdr = contents of the decrement part of the register だよね。変数じゃないけど。
- 837 名前:仕様書無しさん mailto:sage [04/05/16 00:57]
- >>836
>>681に対する脊髄反射ならまだしも、>>692を見てるのに 何故亀レスするか、おまいは。
- 838 名前:仕様書無しさん mailto:sage [04/05/16 01:50]
- >>837
たぶん、>>692の知り合いにそういうPGがいたと本気で思ったんだな。
- 839 名前:仕様書無しさん mailto:sage [04/05/16 02:20]
- >>836の言いたいことが全然分かりません。誰か教えてください。
- 840 名前:仕様書無しさん mailto:sage [04/05/16 02:40]
- >>839
それは多分、単純に君が足らない。
- 841 名前:仕様書無しさん mailto:sage [04/05/16 03:35]
- 俺も>>836の言いたいことがわからんよ。
692が出てきておいて、それでどうして836のような文章ができあがるかサッパリ... つまり836は「ハハン俺もLispの歴史ぐらい知ってるYo」と書きたかっただけ ちゃうんかと子一時間(略
- 842 名前:仕様書無しさん mailto:sage [04/05/17 15:17]
- うーん、
> 変数じゃないけど。 というのが言いたかったのではないか?
- 843 名前:仕様書無しさん mailto:sage [04/05/18 09:54]
- たぶん、
> 恐ろしく亀だが、 と言いたかったんじゃないかな。
- 844 名前:VB-Slime mailto:sage [04/05/18 22:46]
- >814と同じ先輩のソースを見ていたのだが。
「先頭」ってのが、ことごとく「戦闘」になっていた。 誤変換か?いやそれにしては余すところ無く全部ってのが……(;´Д`)
- 845 名前:仕様書無しさん mailto:sage [04/05/19 01:43]
- 銭湯に書き換えておけ。
- 846 名前:仕様書無しさん mailto:sage [04/05/19 02:04]
- いや尖塔とか船頭とか煽動とか
- 847 名前:仕様書無しさん mailto:sage [04/05/19 02:46]
- 折角だから
s/先頭/亀頭の先っちょ/g で
- 848 名前:仕様書無しさん mailto:sage [04/05/19 10:39]
- >>847
で?
- 849 名前:仕様書無しさん mailto:sage [04/05/20 01:26]
- >>848
ど?
- 850 名前:仕様書無しさん mailto:sage [04/05/20 03:37]
- な?
- 851 名前:仕様書無しさん mailto:sage [04/05/20 07:41]
- とあるjavaで…
// ココ良く分からんから取り敢えず出力だけしとく System.err.println(〜); 漏れにどうしろと?
- 852 名前:仕様書無しさん mailto:sage [04/05/20 18:31]
- >>851 とりあえずスレの趣旨に従って笑っておけばいいのでは?
- 853 名前:仕様書無しさん mailto:sage [04/05/22 17:01]
- // キーワードは、笑えばいいと思うよ、か・・・。
- 854 名前:仕様書無しさん mailto:sage [04/05/25 10:45]
- /*
以下中国人が書いたクソソースなので気にしないように。 使わねーつか使えねえ。 てゆーかいくら安いからって中国に発注なんかすんな。 自分等が地獄見るのは目に見えてんじゃねえかよ。 てゆーか俺か。俺が地獄見んのか。ふざけんなテメー。 */ とあるプロジェクトでは似たようなコメントがあちらこちらに見られましたとさ。
- 855 名前:仕様書無しさん mailto:sage [04/05/25 11:42]
- >>854
それは笑えないというか、泣けると思うがどうか。(つДT)
- 856 名前:仕様書無しさん mailto:sage [04/05/25 13:34]
- 他人事だから笑える。
おれ?・・・(⊃д`)
- 857 名前:VB-Slime mailto:sage [04/05/26 18:20]
- >854
ご愁傷様です。 コメントじゃなくて変数名なのだが、パスを示す名称のほとんどに Path じゃなくて Pass を使っているのは、何か意味があるのだろうか。
- 858 名前:VB-Slime mailto:sage [04/05/26 18:25]
- ' 引数を増やす場合は、接頭文字としてSufをつけてください
意味不明な以前に、接頭語ならPreじゃないのか・・・?
- 859 名前:仕様書無しさん mailto:sage [04/05/26 18:28]
- サフィックスとプレフィックスだね
- 860 名前:仕様書無しさん mailto:sage [04/05/26 18:35]
- hardwearというのは見たことある。
甲冑かなんかのことだったのだろうか・・・
- 861 名前:VB-Slime mailto:sage [04/05/26 19:02]
- >857-858と同じ子のソース。
' ストリング型宣言 Dim Str As String ' インテジャー型宣言 Dim Dat As Integer ……意味ねえよ。 ちなみにこいつは去年、不具合を責められて逆ギレして辞めますた。
- 862 名前:仕様書無しさん mailto:sage [04/05/26 21:40]
- >>861
笑うところはどこですか?当方、VBはわかりかねます。
- 863 名前:仕様書無しさん mailto:sage [04/05/26 21:57]
- >>862
名前だよ、名前・・・。 VBわかるとかわからないとか以前の(ry
- 864 名前:仕様書無しさん mailto:sage [04/05/26 22:09]
- な、名前…?
|

|