短いコードはわかりやすい ← これは間違いだった
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/08/05(日) 18:53:07.02なんでも一行で済ませようとする。
短く書くのが絶対にいいことだと思って疑わない。
少し冗長に書いたり、付加情報をつけたほうが
コードは読みやすくなる
0002デフォルトの名無しさん
2012/08/05(日) 19:03:47.310003デフォルトの名無しさん
2012/08/05(日) 19:04:49.26言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0004uy
2012/08/05(日) 20:01:23.02ロジックを1行にまとめてしまう部分にも言えるが
設計全体についてもいえる
大規模になるはずの設計を小さくまとめると
複雑さが増したりしてる
で、それを繰り返していくと誰には扱えない超効率的なシステムが出来上がる
俺はそこまでいった後、未熟な俺にも扱えるように、わざと最近はコードを冗長させてることもある
コピペしたほうがいい部分もあるんだよ
すべてを妥協なしでコピペなしで作って果てまでいくと、マジで凄いものが出来上がるぞ
絶対に使えない凄いものが
0005デフォルトの名無しさん
2012/08/05(日) 20:22:25.030006uy
2012/08/05(日) 20:29:51.22p [*"a".."f"].zip(["_"].cycle.with_index(100)).join
よめる?
実行せずに実行結果予測できる?
0007デフォルトの名無しさん
2012/08/05(日) 21:12:22.01バカは変数名を1文字にする。
0008デフォルトの名無しさん
2012/08/05(日) 21:42:15.14「説明用変数の導入(Introducing Explaining Variable)」
という名前がついているリファクタリングを行う必要があるな。
0009デフォルトの名無しさん
2012/08/05(日) 21:42:46.38xml化でもいいけど、もっと設計内容や変更履歴、修正内容まで全てぶち込めるような
形式に移行してもいいんじゃないかと。
0010デフォルトの名無しさん
2012/08/05(日) 21:47:45.89そこでWEBですよ。
0011デフォルトの名無しさん
2012/08/05(日) 22:28:47.16まあ一般的にはその通りだが、まさか
Cなどの3項演算子ごときが理解できないんじゃないだろうなw
0012デフォルトの名無しさん
2012/08/05(日) 23:26:28.080013デフォルトの名無しさん
2012/08/06(月) 02:26:39.91どこの大企業だ
0014デフォルトの名無しさん
2012/08/06(月) 02:59:04.98恥ずかしすぎるから。
0015デフォルトの名無しさん
2012/08/06(月) 10:07:13.34同意
上から下へ記述するだけの平面的エディタはそろそろ終了
0016デフォルトの名無しさん
2012/08/06(月) 11:09:34.11今時、構造を把握出来ないエディタで仕事になるのか?
0017デフォルトの名無しさん
2012/08/06(月) 11:38:38.600018デフォルトの名無しさん
2012/08/06(月) 11:41:50.74言語にもよる。Prologなんかだと、構造なんて概念がないから要らないと思う。
0019デフォルトの名無しさん
2012/08/06(月) 17:50:58.290020デフォルトの名無しさん
2012/08/06(月) 18:31:04.40不要、と実現出来ない、の違いが有るけどな。
0021デフォルトの名無しさん
2012/08/07(火) 15:50:01.93短くて解らないのを長くして解るようになった例を
見せて
0022デフォルトの名無しさん
2012/08/07(火) 16:53:25.95スレタイでは一般化してるから、2、3の事例では不足だけどな。
0023デフォルトの名無しさん
2012/08/07(火) 21:53:10.297行プログラミングとかその極みだろ
あとビット数を数えるやつとか1/√nを求めるアルゴリズムとか
0024デフォルトの名無しさん
2012/08/07(火) 22:41:42.59一瞬でも、ん? って思ったら負けな
n = 28 + (1 / (y % 4 + 1)) * (1 - 1 / (y % 100 + 1)) + (1 / (y % 400 + 1));
n = 28;
if(y % 4 == 0) n++;
if(y % 100 == 0) n--;
if(y % 400 == 0) n++;
0025デフォルトの名無しさん
2012/08/07(火) 22:50:02.31if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) n++:
だろ
0026デフォルトの名無しさん
2012/08/07(火) 22:57:44.29趣旨理解してないのか?
0027デフォルトの名無しさん
2012/08/07(火) 23:03:59.03それみても、ん?って思うだろw
0028デフォルトの名無しさん
2012/08/07(火) 23:05:34.23わかりにくいコード。
すらすら読めるのが、わかりやすいコード。
コードの長さを短くするのではなく
(他人が読んだ時に)理解するまでにかかる時間が短いのが
良いコードである。
0029デフォルトの名無しさん
2012/08/07(火) 23:10:52.610030デフォルトの名無しさん
2012/08/07(火) 23:10:56.650031デフォルトの名無しさん
2012/08/07(火) 23:17:02.37n = 28 +!(y % 4) - !(y % 100) + !(y % 400);
0032デフォルトの名無しさん
2012/08/07(火) 23:26:53.800033デフォルトの名無しさん
2012/08/07(火) 23:27:03.25theDay.isLeapYear?
d.isLeap?
0034デフォルトの名無しさん
2012/08/07(火) 23:30:34.92そんなもんJavaさんの圧勝だろ
0035デフォルトの名無しさん
2012/08/07(火) 23:53:56.380036デフォルトの名無しさん
2012/08/08(水) 00:02:35.58リーダブルコード、もう読んだ?
読んでないよねw
0037デフォルトの名無しさん
2012/08/08(水) 00:12:09.15日本語訳出てたのか
0038デフォルトの名無しさん
2012/08/08(水) 11:23:24.850039デフォルトの名無しさん
2012/08/08(水) 11:25:16.43/:::::::::::::::::::::::::::::::::::::::::::、 _,,−''
`−、、 /::::::::::::::::::::::::::::::::::::::::::::::::::::、 _,,−''
`−、、 i':::::::::::::::::/、::::::::::::::::::::::::::::::::::::i
|::::::::::::::/ :、:::::::::::::::::::::::::::::::::|
|::::::::;/ ‐─ ヽ─ヾ::::::::::::::::::::| LISPは俺の妄想やねん
──── .|:::::i' ヾ●) (●ノ `i:::::::|
.゙:、:| "" ノ 、 ゙゙ |:::/
| (__) |
_,,−' .i ^t三三テ' ,! `−、、
_,,−'' ヽ、 ノ `−、、
. \___ ___/
| ̄ ̄|
0040デフォルトの名無しさん
2012/08/08(水) 15:41:51.430041デフォルトの名無しさん
2012/08/08(水) 16:34:58.32言語特有の短い記述を利用した事によって
読めない奴が出てくるっていうのは
熟練度の問題だけどね
0042デフォルトの名無しさん
2012/08/08(水) 17:54:34.36いろいろなプログラマレベルが存在することは当然で、ある水準にならないと
読めないコードが存在するなら、それは言語の問題。
0043デフォルトの名無しさん
2012/08/08(水) 18:04:52.200044デフォルトの名無しさん
2012/08/08(水) 18:07:26.64新しい方法で綺麗に書けば、新たに学べる人には読みやすいだろうけど、古い読み方しかできない人には読みづらい。
多くの言語は、いろんな書き方ができる。
0045デフォルトの名無しさん
2012/08/08(水) 20:15:23.63単純にして読みやすく
0046デフォルトの名無しさん
2012/08/08(水) 20:18:25.08少し自信のある(大抵は若い)プログラマーは
技術の高い人しか分からないような高度なプログラムを書いてるんだ
って思って貰いたい傾向があるから、必要以上に
複雑な処理をしたがる気がする
特徴的に分かり難いと思ったのは、関数分割の時代はとにかく極限まで、
細かい処理に分割するし、オブジェクト指向時代は極限までオブジェクトを
細分化して定義しようとする。そしてそれぞれに付けられる名前は
暗号のような短縮された名前だったりする。
プログラムのエントリーポイントは初めて見た人が見ても
わかりやすい名前ですか?
モジュール分割しているなら、それぞれのモジュールの名前は
その役割が誰でもが分かりやすいものですか?
充分に単純なプログラムは、充分に単純なプログラムで書けるはずです。
単純なプログラムを単純に書けない人は、大規模プログラムを
安全でメンテナンスを容易に書く事は出来ないですよ
0047デフォルトの名無しさん
2012/08/08(水) 20:19:20.52漢字を使うと読めない人が出てくるから
みんなひらがなを使いましょう、ってやつだ
0048uy
2012/08/08(水) 20:45:31.26ゴミカスが短くまとめるとゴミカスってだけ
ただ純粋にそいつのスキルが低い
極限まで短くするなら最適解のコードをかけよ? いや100点とはいわず、せめて90点くらいの
短くまとめたのにアルゴリズム的に点数つけるなら50点とかそこらだとゴミでしかない
0049デフォルトの名無しさん
2012/08/08(水) 21:09:49.980050uy
2012/08/08(水) 23:15:05.51口数減らせば大物のフリ出来るよね
0051デフォルトの名無しさん
2012/08/08(水) 23:22:15.13ああそういうことか。
つまり、正しいのはこういうことだな。
漢字を使ったら、全部ひらがなよりも分かりやすくなることが多いが
だからといって、必要以上に難しい感じを使うと、読みづらくなる。
法律用語のような難しい言葉で書くよりも
平坦な言葉で書いたほうがわかりやすい。
0052uy
2012/08/08(水) 23:45:51.03ストレートにそれはそれ。これはこれ。 と、考えりゃいいのに
一々別のものに例えなきゃ思考すらできねーのお前ら
アホなの?
バカなの?
0053デフォルトの名無しさん
2012/08/09(木) 00:09:40.55例えで分かった気になってるだけ
0054デフォルトの名無しさん
2012/08/09(木) 00:17:24.96どうでもよくね?
反論したいわけじゃないでしょ?
0055uy
2012/08/09(木) 08:04:45.16例えるならこのスレはまるで牧場のようだな
例えるならスレッドにレスという草が生えていてお前らはさながらそのレスをムシャムシャと
牛のように食べていく家畜に似ている
例えるならしかし実際食べているつもりでもその草には毒草が混じっていて
バカな牛はなぜか毒草をこぞって食べようとする
例えるならそして胃の中で消化不良を起こし体と精神を内面から崩していくのに
そう例えるならお前らは家畜に似た実験動物
実験動物がプログラミングについて語っている様は例えるなら
逃げられない運命からの現実逃避に似ている
例えば意味のないレスに躍起になってレスを返すのはその証拠
例えば「?」というクエスチョンマークはこの場合疑問符ではなく
例えるなら小鳥が親鳥からエサをもらう時に上を見上げ物欲しげな顔をする行為に似ているレスを欲する為の「?」に過ぎない
あー、例え話をしてみたら54を分かった気になれた
0056デフォルトの名無しさん
2012/08/09(木) 08:47:07.96わざわざ複雑にしたがる、または何でも単純化したがる奴らのすること。
0057デフォルトの名無しさん
2012/08/09(木) 10:34:26.53一行にまとめようが、数行に分けようが理解の難しさは全く変わらない
それよりも抽象化の多用がコードを読みにくくしている最大の原因
0058デフォルトの名無しさん
2012/08/09(木) 10:51:23.54同意。
0059デフォルトの名無しさん
2012/08/09(木) 12:13:13.25if (a = b) then vs if (a == b)
a := b vs a = b
どっちがわかりやすい?
0060デフォルトの名無しさん
2012/08/09(木) 12:41:12.380061デフォルトの名無しさん
2012/08/09(木) 15:40:49.20と
int val = c;
if (a == b) {
val = d;
}
と
int val;
if (a == b) {
val = c;
} else {
val = d;
}
短いほどわかりやすくね?
0062デフォルトの名無しさん
2012/08/09(木) 15:52:53.150063デフォルトの名無しさん
2012/08/09(木) 17:28:05.48ん? 2つ目掛けるのか?
yが100で割り切れる時は * 0
割り切れない時は * 1 になりそうだが。
あ、ん?って思ったら負けなのか
0064デフォルトの名無しさん
2012/08/09(木) 20:27:52.180065デフォルトの名無しさん
2012/08/09(木) 21:01:25.08((lambda (x)
(f (x x)))
(lambda (x)
(f (x x)))))
0066デフォルトの名無しさん
2012/08/09(木) 21:15:32.49どっちも同じ。
構文が違うだけで
表面は同じだから。
そして、文字数は違うがタイピングに
かかる時間にほとんど違いはないだろう。
なぜなら実際の開発では
タイピング以外の部分がコーディング時間の
大半だから。
0067デフォルトの名無しさん
2012/08/09(木) 21:15:35.100068デフォルトの名無しさん
2012/08/09(木) 21:57:07.76もうわざと読みにくくしてんのかと思うぐらい
そうしたのはいろいろ制約があったからだろうけど
そんなのを保守することがあったから>1の言うことはわかる
0069デフォルトの名無しさん
2012/08/09(木) 22:01:53.260070デフォルトの名無しさん
2012/08/09(木) 22:22:10.65Javaですら分かってる
http://www.flickr.com/photos/33583790@N00/7465233960/
0071デフォルトの名無しさん
2012/08/09(木) 23:47:18.67読む奴がバカなのか
0072デフォルトの名無しさん
2012/08/09(木) 23:54:15.23それは設計が間違ってるんじゃね。 アセンブラレベルの命令を判りやすく抽象化したC言語がわかりにくいとは思わない。
0073デフォルトの名無しさん
2012/08/10(金) 00:39:07.840074デフォルトの名無しさん
2012/08/10(金) 02:32:12.18冗長というのは、コードに含まれてる
情報量が同じなのに、長いコードのことを言う。
たとえば、動的言語は型情報をなくしているだけ。
つまり情報量が減っている。その分開発が大変になる。
それと比較して情報量が多いJavaが冗長。という言い方は間違い。
0075デフォルトの名無しさん
2012/08/10(金) 07:14:34.90短いコード: http://nojiriko.asia/prolog/fizzbuzz_6.html
長いコード: http://nojiriko.asia/prolog/fizzbuzz_4.html
w
0076uy
2012/08/10(金) 08:48:01.32>つまり情報量が減っている。その分開発が大変になる。
開発は楽
大変なのは「デバッグ」な?知ったか君
0077デフォルトの名無しさん
2012/08/10(金) 08:50:39.47謝れば楽になるよw
0078uy
2012/08/10(金) 08:53:29.33速度を犠牲にしても書きやすい構文・機能を入れたり
(↑本当は静的言語でも入れられるにもかかわらず入れてこない)
しているんで普通にいまは動的言語で書いていけるレベルなら動的言語のほうが開発効率は高い
いつまで末尾「;」のついてる言語で遊んでんの?
この「;」打つ事が積み重なってどれだけの時間無駄にしているか気づいてないか?
0079uy
2012/08/10(金) 08:56:53.89人の文章読み間違えていらねーもん開発しちゃった方ですか?
デバッグは1人で開発する場面においては全然時間かからないだろうに
まさか自分で書いたコードを完全に忘れるとか、自分で書いたコードのテストに梃子摺るなんていう事態は考えられない
デバッグというのは開発人数が増えるにしたがって加速的に増えていく
少人数なら問題にならない
というのをお前らにいくら「教えても」無駄ってことは分かっているんだ
0080uy
2012/08/10(金) 08:58:05.87一体どこにデバッグに梃子摺る要素があるのか分からない
分けが分からないw
自分で書いたコードすら管理できないならプログラミングやめろよ
0081デフォルトの名無しさん
2012/08/10(金) 09:19:50.42デバッグしてから開発クローズしろよw
0082uy
2012/08/10(金) 09:48:44.95お前に発言権を与えた覚えはない
1人で書いたソースコードのデバッグ作業に梃子摺るようなレベルで
自分で書いたコードすら管理できないならプログラミングやめろよ
0083デフォルトの名無しさん
2012/08/10(金) 12:10:22.75デバッグが必要なプログラミングをしているのなら、何か間違っている。
しかし、GUIやドライバのような自分が全てを知り得ないようなものとのI/Fを
プログラミングするのであれば、相性と言う問題も含めてデバッグが必要になってくる。
或いは、チューニング作業もある意味デバッグと言ってもいいかもしれない。
それはさて、トリッキーで短いコードは判り難いと言うことはそんなに受け容れ難いことなのかねぇ。
0084デフォルトの名無しさん
2012/08/10(金) 14:14:21.21自分の書いたプログラムにバグがないと思ってるのか。よっぽど使い道のないプログラムならそういうこともあるか。
008559
2012/08/10(金) 14:33:04.95学生の教育用として開発されたPascal言語と
OSも書ける言語として開発されたC言語、その目指す方向性は違う。
Pascalは教育用として一般の人にも理解しやすい言語仕様となっている。
>if (a = b) then vs if (a == b)
一般社会では、aとbが等しいかは、”=”を使っているし
>a := b vs a = b
代入の意味で”=”を使うこともない。
>begin...end; vs {...}
あと、始まりと終わりを”{}”で表すなんて言語仕様をしらないと分からない。
C言語はOSも書けるよう可読性を有る程度犠牲にしても
効率や速度などを重視する。
同じ言語なら可読性が高い方が良いが
可読性は技術者のスキルによっても違ってくる。
初心者に合わせた可読性なんて逆に読みにくいし
上級者ぶって書かれたソースも分かり難い。
つまり、可読性は主観的な部分が多いということ。
0086デフォルトの名無しさん
2012/08/10(金) 15:12:24.91読めねーって騒ぐ層はおのずと分かる
0087デフォルトの名無しさん
2012/08/10(金) 15:15:36.83>begin...end; 初めと終わり
そういう意味なのか。初めて知った。
0088デフォルトの名無しさん
2012/08/10(金) 15:58:02.31こっから→
←いまここ
←ここまで
0089デフォルトの名無しさん
2012/08/10(金) 16:21:04.030090デフォルトの名無しさん
2012/08/10(金) 16:30:31.42でも少し散らばりすぎ
XML(ML) Lisp(S式) C系(ふつう。) begin~end のブロック構文でかける言語
この4種類あたりが必要だと思える
で、消し去った言語の概念はこの4言語がすべてカバーする
言語数が少なくなれば初心者とかあまり関係ない
プログラミングをするにあたっての覚えるべき知識が一気に減る
0091デフォルトの名無しさん
2012/08/10(金) 16:36:24.66勝手に使わなければいいだろ。
0092デフォルトの名無しさん
2012/08/10(金) 17:31:01.790093デフォルトの名無しさん
2012/08/10(金) 17:45:42.30> C系(ふつう。)
> begin~end のブロック構文でかける言語
これを分けてる時点で、知恵遅れということがバレバレだな。
0094デフォルトの名無しさん
2012/08/10(金) 18:19:05.680095デフォルトの名無しさん
2012/08/10(金) 18:58:44.06アルゴリズム的にもかなり別物というのを理解してないな
0096デフォルトの名無しさん
2012/08/10(金) 19:14:57.83高階関数のシンタックスシュガーに使えるだけで
0097デフォルトの名無しさん
2012/08/10(金) 19:22:19.730098デフォルトの名無しさん
2012/08/10(金) 19:30:37.500099デフォルトの名無しさん
2012/08/10(金) 19:42:35.12セマンティックスによるだけだから、別物と決めつけるのも間違い。
0100デフォルトの名無しさん
2012/08/10(金) 19:43:09.330101デフォルトの名無しさん
2012/08/10(金) 19:46:02.64XML C Ruby で十分ってことだよね
その他の言語はいらない
0102デフォルトの名無しさん
2012/08/10(金) 19:51:29.93いいから動的言語向けヘッダライブラリの実物を一つでいいから見せてみろよw
謝れば楽になるのにw
0103デフォルトの名無しさん
2012/08/10(金) 20:09:31.010104uy
2012/08/10(金) 20:12:23.68include(笑)
とrequireの違いは理解できたのだろうか
0105uy
2012/08/10(金) 21:16:49.01使わないなら使わないでいいと思うよ
お前らの人生は俺に関係ない
仕事がJAVAしかないなら家でもJAVAで、
そんで何もかもJAVAで、作っていればいいよ
仕事でしかプログラミングやらないやつは、そのほうが幸せなのかもしれない
俺は一番効率の良い道具じゃないと精神的にプログラミングしてられないから
俺はお前らよりも全然ダメだよ
効率のでないプログラミングなんてプログラミングじゃないと思ってんだ
お前たちはJAVAでもかけるっていうならある意味才能
そういう我慢のできる人間共のほうが使い勝手がいいしな
否定すんのやめるよ
JAVAやってろ
でもJAVAPGは二度と話しかけんなよ
0106uy
2012/08/10(金) 21:20:19.930107デフォルトの名無しさん
2012/08/10(金) 21:27:34.71は流石に無いと思った
なんでC++の HogeHoge hoge(foo, bar, baz)から更に冗長になるのだろうか・・・
0108デフォルトの名無しさん
2012/08/10(金) 21:30:31.91そりゃやってることが違うからだろ。
0109uy
2012/08/10(金) 21:48:41.71そもそもnewの位置がおかしいんだよ
newはメソッドにしろよ
new演算子て。
なに考えて言語作ってんだよ
でもお前らはJAVAやれ
0110デフォルトの名無しさん
2012/08/10(金) 21:54:33.830111デフォルトの名無しさん
2012/08/10(金) 22:21:56.050112デフォルトの名無しさん
2012/08/10(金) 22:38:43.160113デフォルトの名無しさん
2012/08/10(金) 22:46:32.470114デフォルトの名無しさん
2012/08/10(金) 22:49:42.740115デフォルトの名無しさん
2012/08/10(金) 22:55:10.250116デフォルトの名無しさん
2012/08/10(金) 23:04:22.790117デフォルトの名無しさん
2012/08/10(金) 23:13:06.13まったく頭使わないから楽しくないだろうな
それで給料も安いんだから悲惨
0118デフォルトの名無しさん
2012/08/10(金) 23:24:46.48楽しい、給料が高いのどちらかひとつが満たされるだけでも少数派
0119デフォルトの名無しさん
2012/08/11(土) 00:42:41.740120デフォルトの名無しさん
2012/08/11(土) 01:44:17.37お前の知り合いは、そんなのばっかりって事だ。
0121デフォルトの名無しさん
2012/08/11(土) 07:17:45.73かわいそうな人間の一人だという自覚を持ったほうがいい
0122デフォルトの名無しさん
2012/08/11(土) 07:40:02.170123uy
2012/08/11(土) 08:51:06.44はやく業界脱出できるといいね、、、
0124デフォルトの名無しさん
2012/08/11(土) 08:58:23.06プログラミングは一般人からすれば大変で
それなのにほぼ毎日毎日無意味なものを作ってるって悲惨以外になんといったらいいか
プログラマになりたがるにわかが減れば虚業で業界まわさずにすむんだよ
本当はいらない仕事を働き手が余っているという理由でとりあえず
なんかやらせて給料与えてるだけ
プログラマはもういらない
0125デフォルトの名無しさん
2012/08/11(土) 09:03:43.08そもそも需要と仕事がないところで
無理やり金回してるよ?
言語の効率もゴミカスコードも関係ない
まずプログラマーがこんなにいらないんだから
0126デフォルトの名無しさん
2012/08/11(土) 09:03:46.190127デフォルトの名無しさん
2012/08/11(土) 09:50:14.14どの言語使っても、給料は同じ
0128uy
2012/08/11(土) 12:08:16.45将来性を考えたりする余裕がないんだろ
バブルとはまた違うんだろうけど
そのうち一気につぶれると思う
0129デフォルトの名無しさん
2012/08/11(土) 13:55:48.61コンピュータ言語の前に
日本語の勉強をしては?
0130uy
2012/08/11(土) 15:27:37.36日本語がー英語がーって
さっさと電池きれろ
0131デフォルトの名無しさん
2012/08/11(土) 16:14:36.070132デフォルトの名無しさん
2012/08/11(土) 16:36:10.560133デフォルトの名無しさん
2012/08/11(土) 17:10:41.44とても頭の中に収まらないから
でも今は開発環境が素晴らしく良くできているので
素早く目的のコードを出せるしモニタのみで編集できる
とは言ってもモニタに表示できるコードはごく僅か
作った本人ならコードがどんな流れになっているか判っている
しかし人のコードはあっちこっち頻繁に見て確認するハメになる
そんな時、ダラダラと長ったらしいソースだったらどうなるか
発狂する
モニタに1つのモジュールがスクロールせずに表示できるのがベスト
0134デフォルトの名無しさん
2012/08/11(土) 17:20:58.220135uy
2012/08/11(土) 17:24:00.47君の考えてるプログラミングが幼稚なだけ
0136デフォルトの名無しさん
2012/08/11(土) 17:49:50.370137デフォルトの名無しさん
2012/08/11(土) 17:54:57.340138uy
2012/08/11(土) 18:23:55.060139デフォルトの名無しさん
2012/08/11(土) 18:30:31.47スクリプトに拘りを持つヤツがバカなんだよ
制御なりネットワークなりノウハウが溜まる分野はあるだろ
0140デフォルトの名無しさん
2012/08/11(土) 18:33:54.96無能自慢が得意なんだね
0141デフォルトの名無しさん
2012/08/11(土) 18:39:10.16カプセル化の機能はそれなりに提供されてる。privateもしらないウンコだと自覚せよ。
0142uy
2012/08/11(土) 19:45:49.17まあクラスの中身を作る or 見る機会のないゴミってことにしておくか
0143デフォルトの名無しさん
2012/08/11(土) 19:50:25.49見ないこともあるって言ってるようなもんだw
機会があればいってみたい ← 毎回行っていると思いますか?
0144デフォルトの名無しさん
2012/08/11(土) 19:57:01.21それってrails,PHPも同じだろ
0145デフォルトの名無しさん
2012/08/11(土) 19:57:35.710146uy
2012/08/11(土) 20:36:48.37133 :デフォルトの名無しさん:2012/08/11(土) 17:10:41.44
昔、アセンブラ書いてた頃はソースをプリントアウトするのは必須だった
とても頭の中に収まらないから
でも今は開発環境が素晴らしく良くできているので
素早く目的のコードを出せるしモニタのみで編集できる
とは言ってもモニタに表示できるコードはごく僅か
作った本人ならコードがどんな流れになっているか判っている
しかし人のコードはあっちこっち頻繁に見て確認するハメになる
そんな時、ダラダラと長ったらしいソースだったらどうなるか
発狂する
モニタに1つのモジュールがスクロールせずに表示できるのがベスト
134 :デフォルトの名無しさん:2012/08/11(土) 17:20:58.22
クラス化して読まなくても済むようになってる。
会話になってない
0147デフォルトの名無しさん
2012/08/11(土) 20:39:49.050148デフォルトの名無しさん
2012/08/11(土) 20:42:40.750149デフォルトの名無しさん
2012/08/11(土) 21:07:21.43実際にコード書いたことないよ
書き込みも読む価値なし
0150uy
2012/08/11(土) 21:33:50.430151uy
2012/08/11(土) 22:37:58.30if 条件
AAA_class.new
end
こんなんだしな
コンストラクタで全部処理するから戻り値とか受け取る必要なし
数万年前に通り過ぎてもはやクラスをクラスとしては使ってないのに
今更、俺にクラスがどうとか言われてもな
0152デフォルトの名無しさん
2012/08/11(土) 22:40:37.950153uy
2012/08/11(土) 22:44:43.84言っとくけどひどいはRubyのほう
デストラクタなしでどうやってゲーム作るんだよ
デストラクタでオブジェクトの解放のコードを書くのはNGとしても
ゲームっていうのはデストラクタで次のオブジェクトの生成コードを描きたいんだよ
不便すぎてしゃーねーわ
俺様はもうアレな方法で実装しているからいいんだけど
もしrubyのオブジェクト指向に従って書いていたらデストラクタは実装できなかった
俺様設計の勝利
0154デフォルトの名無しさん
2012/08/11(土) 23:03:55.25オレはコンストラクトデーモンとデストラクトデーモンで回避する。
0155デフォルトの名無しさん
2012/08/11(土) 23:17:15.900156uy
2012/08/11(土) 23:19:12.43デストラクタを言語に実装するとデストラクタに書くべきではない処理を書くアホがでてくるから実装はしないほうがいい
でもゲームでは明らかに必要なんだ
mobの消滅時に消滅しますたっていうメッセージの発行がな
ああ一枚メソッドかませることで実装しましたよでも言語にそなわってればかかずにすむ2行は釈然としない
0157デフォルトの名無しさん
2012/08/11(土) 23:32:24.480158uy
2012/08/11(土) 23:38:16.61消滅しますたをデストラクタでかかないとすると
第3者からの監視になるよね
オブジェクトを常に見張るオブジェクトが必要になる
別にかけるけどネストしすぎるんだよ
mazu的にはこのあたりどう考えるんだろう
オブジェクトAが消滅したことをしりたいオブジェクトBがあったら
mazuはデストラクタ不要論を押し通して第3者監視型でオブジェクトBは常にオブジェクトAを見張る設計を是とするか
やっぱりデストラクタ必要ですねとなるか
いや多分デストラクタの代わりとなる仕組みを一時的に入れるに落ち着くか
だろうな
タスクの1つ1つをメソッドのメタ定義でやって
メソッドミッシングあたりでeachして
タスクの削除はメソッドの削除でやると
メソッドが削除された時に呼ばれるメソッドはあるから
ruby仕様内で合法的に()デストラクタを作る方法もなくはない
0159デフォルトの名無しさん
2012/08/12(日) 00:01:44.52その程度のコストも支払えない環境で開発するなら、Cでアセンブラ時代にやっていたような仕組みを導入するのがよいです。
固定構造体に確保済み配列を使いまわす例のヤツねw
0160デフォルトの名無しさん
2012/08/12(日) 00:45:00.350161デフォルトの名無しさん
2012/08/12(日) 01:16:03.00プログラムの挙動が容易に想像できる範囲内にあるかどうかだよ。
単一機能がそれなりに複雑になってくると全ての挙動をドキュメント化することも
出来ないので、結局ソースを読むはめに。
単一機能を想像できる範囲に収めるってのが、短いプログラムの意味じゃないか。
0162uy
2012/08/12(日) 01:39:47.30おまえは20年間なにやってたんだよ
どう読み間違えたらタスク周りの問題だと勘違いするんだよおい歴20年
0163デフォルトの名無しさん
2012/08/12(日) 01:49:34.940164uy
2012/08/12(日) 01:52:43.300165uy
2012/08/12(日) 01:54:55.23いくつかmathは重要な概念を言語からなくして
かけないようにさせて大規模開発でのバグをなくさせようという主張がはいってて
それは正しいんだけど
逆に考えたら常に手抜きせずにガチで設計しソースかかなければrubyでは大規模プログラムがかけないといっているようなものでもある
想定されていないmazuの理解の範疇を超えたプログラムはrubyでは作りにくい場合があるのかもしれない
0166デフォルトの名無しさん
2012/08/12(日) 02:06:31.84define_finalizer
デストラクタなら自分で定義しろ。
0167uy
2012/08/12(日) 02:30:18.33現バージョンは1、9、3だし
すでに定義してあってその上で問題点をはなしているのに?
0168uy
2012/08/12(日) 02:38:10.58デストラクタはなくせる
それは事実
でもそれはそれ以外の部分がちゃんと作られていることが前提
デストラクタで別オブジェクトに対してのメッセージの発行が必要になる原因は
オブジェクトAの削除を速度的な問題から別オブジェクトCに委任しているから
オブジェクトAからオブジェクトBへ直接メッセージが送れず
かといって無関係のオブジェクトCにAからBのメッセージかくのもおかしい
だからデストラクタが必要になってしまった
ちゃんとつくればオブジェクトCがそもそもなくなるからオブジェクトAからBにダイレクトになってデストラクタもいらない
速度をください
0169デフォルトの名無しさん
2012/08/12(日) 10:18:44.81あ、rubyしかでき(
0170uy
2012/08/12(日) 10:40:30.45ム板に自分のメモかいてるようなもんだからスルーでもいいよ
0171uy
2012/08/12(日) 10:51:42.03ruby以外ではかけるかどうか怪しいソースになってる
プログラミングは再利用の効率を高めるのがそれなりに難しい
自分の書いたソースコードを無駄にしない仕組み
そのためには固有情報のような情報を、つまりプログラム内からハードコードィングされたアルゴリズムそのものを消し去る必要がある
あるいはハードコードィングされた部分を変更なしで別の物を作れる設計
静的言語では無理
0172デフォルトの名無しさん
2012/08/12(日) 10:52:34.08http://doc.ruby-lang.org/ja/1.9.3/class/ObjectSpace.html
そのファイナライザと間違ったデストラクタの定義ならrubyにはある。
速度が欲しいのにインタプリタなんて使うなよ。
0173デフォルトの名無しさん
2012/08/12(日) 10:54:36.730174デフォルトの名無しさん
2012/08/12(日) 10:56:33.57>そのためには固有情報のような情報を、つまりプログラム内からハードコードィングされたアルゴリズムそのものを消し去る必要がある
シングルトンしか知らないのか?何の為のステートパターンだ
0175uy
2012/08/12(日) 11:11:17.97そんな単純な方法で実装できるデストラクタはrubyにはない
>>174
Stateパターン知りませんでした
調べてみたらこんなゴミカスパターン使ってる奴がいることを知って涙でてきた・・・
0176uy
2012/08/12(日) 11:19:23.30状態によってオブジェクトの振る舞いをかえるとか、どんなゴミ設計だよ
出来るけどやっちゃいけない事だろそれはwwwwwww
変数の中身をちょろちょろ変えんな
シーンの推移をこれで作ってる奴がいるみたいだけど、マジ無駄
これがデザインパターンの弊害だ
0177デフォルトの名無しさん
2012/08/12(日) 11:22:13.93おまえ、デザパタの本を読んだって言ってけれど、最近になって書籍を購入しただろ
妄想を垂れてないで一度ぐらいデザパタが適応されたコードでも読んでみろ
0178デフォルトの名無しさん
2012/08/12(日) 11:23:43.380179デフォルトの名無しさん
2012/08/12(日) 11:30:24.320180uy
2012/08/12(日) 11:30:57.19デザパタの本を読んだ覚えがない 書籍を購入した覚えがない
23種?のデザパタを何一つ認めた覚えがない
デザインパターンにそってプログラムを組むというのは、ソースコードの個性をなくして
プログラマAとプログラマBを「同じような存在」として扱うための奴隷機構だぞ?
そもそもデザパタ定義した奴が俺よりもはるかに程度の低いプログラムしか作ってないんだから
それが俺のプロジェクトで通用するわけがないじゃん
身の程を知れ
既にソースコードを完璧にする方法は分かってるんだよ
ただ速度的な観点から、""僅か1箇所""、書き方を変えているだけ
数年後には速度をクリアして、完璧なものへと書き直してると思われる
>>169 適材適所っていうけど、言語コロコロ変えられるような、
それほど小規模なものは作っていない、作っていく段階で壁はあるってだけ
0181デフォルトの名無しさん
2012/08/12(日) 11:37:16.24一人でしかプログラムを書かない、書けないバカが言いだしそうな台詞だな
アルゴリズムとは別の誰が書いても同じような部分は没個性的であればあるほど良いに決まっている
既に築き上げられた定石とイディオムの塊だよ。
vc++やvbから入った奴らのガラパゴス進化したコードなんて読んでみたいと思うか?想像するだけでぞっとする
0182uy
2012/08/12(日) 11:42:10.68一部の奴にとっての。
そこに気づけないのが底辺PG
C++の速度がうらやましくなる事の方が多い
元々が開発効率上げるために速度を許容できるところまで犠牲にしていくスタイルで
その為に動的言語選んでいるようなものだから
将来的なpcスペの向上とrubyに将来(まともな)並列処理がはいることを見越して作ってる
C++では許されるゴミカスアルゴリズムもrubyでは許されない
ちゃんと速度を意識して作らないといけない、
>>181
>没個性的 >良いに決まっている
不正解
それを定義した奴が「自分よりも上」なら、いいだろうけど
デザパタを定義した奴よりもスキルが高い奴らはいくらでもいて、そういう奴らか見たらデザパタはゴミなんだよ わかるかね?
0183uy
2012/08/12(日) 11:46:35.21プログラマAがデザパタを使用して書いたソースコードを、
プログラマBがリーディングする時に、効率が上がるってだけ
異論はないですね?
まさに社畜御用達
デザパタにあるようなパターンは自分でオリジナル実装したほうがはるかに優れたものが作れるだろう
あくまでデザパタは、誰にでも扱えるように”簡単”で”基礎的”なパターンを詰め込んだだけのもので
そのような初心者用の機構で開発効率は向上しない
0184uy
2012/08/12(日) 11:48:58.50読んでみたいわ
保守はしたくない
0185デフォルトの名無しさん
2012/08/12(日) 11:51:55.77糞コテよかGoFの方が上だと普通はそう思うよ
>C++の速度がうらやましくなる事の方が多い
おまえ本当にc++でプログラム書いたことあるの?javaで書く方が相当にマシだから
0186uy
2012/08/12(日) 11:54:29.21C++よりJAVAがマシって、
何が?
念のため言っておくけどゲームでGCは邪魔だよ
0187デフォルトの名無しさん
2012/08/12(日) 11:58:47.72どう考えてもc++しか他に選択肢がないから仕方なく使っているだろ
>C++よりJAVAがマシって
納期内にメモリリークなんて探したくないから
イディオムも多すぎて、最低でもeffective c++ぐらいは読まないとコードが書けない
0188uy
2012/08/12(日) 12:20:19.920189uy
2012/08/12(日) 12:24:25.79やたらとクラスの機能は使わない
C++で複雑にテンプレート駆使してやっている事は
動的言語で(速度を犠牲にすれば)一瞬で出来る事
あまり意味がない
本当に速度が必要ならそんな高価な機能使わなければいいだけだし
速度がひつようでないなら動的言語でやればいい
C++の深みにハマるやつがアホ
GCないからプログラミングできませんとかいってる奴って
C++が使えないじゃなくて「C言語」が使えないんだろw
0190デフォルトの名無しさん
2012/08/12(日) 12:26:12.82システムなら速度が重要な部分だけcで書くだろ
0191デフォルトの名無しさん
2012/08/12(日) 12:27:37.67c++のテンプレートは実際にメモリに展開されるから速いってメリットがあるの
javaやc#のジェネリクスとは別物
0192デフォルトの名無しさん
2012/08/12(日) 12:30:14.340193デフォルトの名無しさん
2012/08/12(日) 12:38:00.92>糞コテよかGoFの方が上だと普通はそう思うよ
正確に言うとGoFは発見しただけ、大勢のOO技術者が
長年の経験より導き出したデザインをGoFがまとめたもの。
つまり、「自分は全てのOO技術者より上」だと主張したいのでは?
>>183
>デザパタにあるようなパターンは自分でオリジナル実装したほうがはるかに優れたものが作れるだろう
デザイン=設計のパターン実装パターンじゃない。
0194uy
2012/08/12(日) 12:40:24.06に読み替えといて
0195uy
2012/08/12(日) 12:41:10.80> デザパタを定義した奴よりもスキルが高い奴らはいくらでもいて、そういう奴らか見たらデザパタはゴミなんだよ わかるかね?
デザパタを定義した奴よりスキルが高い奴はいくらでもいるのは事実だが、
そういう人達が、デザパタをゴミといっているのはみかけません。
0196uy
2012/08/12(日) 12:43:43.49これからも定期的にでてくるだろう
ある程度ネタがたまったら誰かそういう技術資料を上手くまとめてうまく世に公表できる奴が発表する
デザインパターン以上のものは既に世にごまんとあると考えるべき
誰もそれをまとめていないだけ
デザインパターンが広まる以前からデザインパターン相当のものを使っていた奴がいたのと同じこと
0197uy
2012/08/12(日) 12:47:06.75ゴミって言ってるように見える
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29
デザインパターン本の23パターンは主にJava, C++などの静的型付け言語における実装であり、ピーター・ノーヴィグは、23パターンのうちの16パターンは(言語によるサポートによって)単純化できることをLispまたはDylanを用いて実演している。[1]
またデザインパターンに限らず一般的な話として、技術を不適切に使用することで、ソフトウェアの複雑度を不必要に高めてしまうことがある。[2]
http://www.norvig.com/design-patterns/
0198デフォルトの名無しさん
2012/08/12(日) 13:07:59.21本来ならメタプログラミングなどで抽象化してしかるべき
何度も似たようなコード書くなんて馬鹿のする事
なのに抽象化出来ないのは言語の表現力が劣ってるから
デザパタなんて有り難がるようなもんじゃない
0199デフォルトの名無しさん
2012/08/12(日) 13:13:47.07構造化設計発表。
↓
有効性が認められる。
↓
言語により構造化設計をサポートする構造化言語が続々と発表。
設計を言語でサポートさせるのは自然なながれ。
だから、デザインパターンは設計パターンで実装パターンじゃない。
0200デフォルトの名無しさん
2012/08/12(日) 13:18:01.00デザパタはそういうレベルなんだよ
0201uy
2012/08/12(日) 13:27:41.89少なくともデザパタの使用によって開発効率は上がりませんよ?
プログラマAがデザパタを使用して書いたソースコードを、
プログラマBがリーディングする時に、効率が上がるってだけ
0202デフォルトの名無しさん
2012/08/12(日) 13:33:32.120203デフォルトの名無しさん
2012/08/12(日) 13:34:16.52ステートパターンはゲームにこそ向いているもの。 ファイルの読み込み中と読み込み後で挙動が変わるリソース管理クラスとか
破壊前と破壊後で動作が変わるキャラクタオブジェクトなどなど。
0204uy
2012/08/12(日) 13:37:11.02>ステートパターンはゲームにこそ向いているもの。
むいてないから、やめろ
> 破壊前と破壊後で動作が変わるキャラクタオブジェクトなどなど。
やめとけ
0205デフォルトの名無しさん
2012/08/12(日) 13:59:54.64あーなんかそんな感じだ
0206デフォルトの名無しさん
2012/08/12(日) 14:04:24.41デザインパターンという言葉が考え出されたときには既に言語に組み込まれていただけ
いわゆるデザパタ本に載っているデザインパターンだって、現代的な言語では添付クラスや第三者ライブラリで実現可能(または組み込まれている)なものが多い
0207デフォルトの名無しさん
2012/08/12(日) 14:22:17.510208uy
2012/08/12(日) 14:33:50.86デザインパターン=ゴミという
お前の(あほな)考えを当てはめると
> デザインパターンが広まる以前からデザインパターン相当のものを使っていた奴がいたのと同じこと
ゴミ相当のものを使っていたことになるが?w
>>197
それのどこがゴミなのかと? デザインパターンを使わないなんて書いてないだろ。
デザインパターンを単純化して書いてるわけだろ。
お前まさか、デザインパターンが実装まで規定してると思ってるの?
Javaでの実装例であって、別にあのように書かないといけないわけじゃないんだが。
0209uy
2012/08/12(日) 14:38:23.40ああ。。。可愛そうに
教育機関は教科書を新しくしたりしていくペースがITの進化よりも
2歩3歩後ろからついてくるしかないからなぁ
まじめな学生は報われないよ
0210uy
2012/08/12(日) 14:41:17.70良レスあげ
182 :uy:2012/08/12(日) 11:42:10.68
デザパタはただの金のなる木だろ
一部の奴にとっての。
183 :uy:2012/08/12(日) 11:46:35.21
少なくともデザパタの使用によって開発効率は上がりませんよ?
プログラマAがデザパタを使用して書いたソースコードを、
プログラマBがリーディングする時に、効率が上がるってだけ
異論はないですね?
202 :デフォルトの名無しさん:2012/08/12(日) 13:33:32.12
デザインパターンはドカタ用コミュニケーションツール
0211uy
2012/08/12(日) 15:03:50.75> >>196
> デザインパターン=ゴミという
> お前の(あほな)考えを当てはめると
> > デザインパターンが広まる以前からデザインパターン相当のものを使っていた奴がいたのと同じこと
> ゴミ相当のものを使っていたことになるが?w
~~~~この程度~~~~のものをキリッとしながら世に発信してるのがゴミだって事だよ
オブジェクト指向然り。クラウド然り。
経験が浅いとデザインパターン()にあるアルゴリズムのパターンを
1度も見たことがない or 書いた事がない
って奴がいて、そういう奴らにパターン覚えさせる為に見せるなら有りではあるが
普通はww自分で書いた事のある or よく使ってきたパターンに勝手に名前付けられてる気がして気分は良くない
デザパタなんてゴミドカタしか賛同しないよ
0212デフォルトの名無しさん
2012/08/12(日) 15:18:38.82教授の頭にカビが生えてるところはUML以前のDFDが使われてるよ
0213デフォルトの名無しさん
2012/08/12(日) 17:49:01.300214デフォルトの名無しさん
2012/08/12(日) 18:17:23.30普通に思い付くようなパターンで気分を害されてもなぁ。他の人からみたらuyが真似してるようにしか見えない。
0215uy
2012/08/12(日) 18:31:53.28だいたいOOでプログラムかくことって少ないから使えないんだよね
いくらデザインパターンのライブラリをrubyが用意してくれてもミックスインするクラスがない
興味本位で調べて評価してみただけ
0216デフォルトの名無しさん
2012/08/12(日) 18:47:29.440217デフォルトの名無しさん
2012/08/12(日) 18:54:29.730218デフォルトの名無しさん
2012/08/12(日) 19:07:43.270219uy
2012/08/12(日) 19:20:52.570220デフォルトの名無しさん
2012/08/12(日) 19:27:12.850221デフォルトの名無しさん
2012/08/12(日) 20:13:26.13糖質な奴がそう思い込んでいるだけ。
0222uy
2012/08/12(日) 20:20:01.15お前はいま誰のこと思い浮かべてそれかいたの?
明日も顔あわせるような同僚とかですか?
なんでそうゆうことかくの?
0223デフォルトの名無しさん
2012/08/12(日) 20:21:33.14短いコードっていうのとはちょっと違うよな。展開するとそこそこあるし。
0224デフォルトの名無しさん
2012/08/12(日) 20:27:59.81普通見やすくにかくと50行くらいはある
0225デフォルトの名無しさん
2012/08/12(日) 20:29:56.29Javaに翻訳すると1000行くらいになる
0226こころは感情で動く、外界の鏡である。
2012/08/12(日) 21:36:41.94なぜか選ばれたのが貴方です、糖質に選ばれおめでとう。なんで
反応しちゃったの?
0227デフォルトの名無しさん
2012/08/12(日) 21:55:31.06そうゆうことだからだよ
0228デフォルトの名無しさん
2012/08/12(日) 21:56:01.91デザパタも短く書ける方が分かり易い
213 名前:デフォルトの名無しさん []: 2012/08/12(日) 17:49:01.30
あげ
216 名前:デフォルトの名無しさん [sage]: 2012/08/12(日) 18:47:29.44
じゃあ語るな
217 名前:デフォルトの名無しさん [sage]: 2012/08/12(日) 18:54:29.73
言うこところころ変わるな。
218 名前:デフォルトの名無しさん [sage]: 2012/08/12(日) 19:07:43.27
保身してないで言いたいこと言えよ
220 名前:デフォルトの名無しさん []: 2012/08/12(日) 19:27:12.85
優秀なPGの中には自分の技術を公表しないやつもいる
221 名前:デフォルトの名無しさん []: 2012/08/12(日) 20:13:26.13
短いコードじゃなくて、単純なアルゴリズムだろ。
糖質な奴がそう思い込んでいるだけ。
223 名前:デフォルトの名無しさん [sage]: 2012/08/12(日) 20:21:33.14
7行プログラミングとかワンライナーみたいなのって
短いコードっていうのとはちょっと違うよな。展開するとそこそこあるし。
224 名前:デフォルトの名無しさん []: 2012/08/12(日) 20:27:59.81
7行にギッシリ詰め込んだら
普通見やすくにかくと50行くらいはある
0229uy
2012/08/12(日) 22:24:25.69人の心の汚さを見つめていた
0230デフォルトの名無しさん
2012/08/12(日) 22:52:17.600231デフォルトの名無しさん
2012/08/12(日) 22:55:08.940232デフォルトの名無しさん
2012/08/12(日) 22:55:09.15生まれながらにして残念
0233uy
2012/08/12(日) 22:58:20.20C++は有益ソースとゴミカスソースの見分けがつきにくいんだ
バカにさわってほしくない
ブログに好き勝手かかれると検索結果が汚れる
0234デフォルトの名無しさん
2012/08/12(日) 23:34:28.040235uy
2012/08/12(日) 23:58:12.06最近C++をバカにする風潮あるけど
C++認めない奴は初心者
積極的に使えとはいってない
ただそのうち素晴らしいものに出来上がるよC++
あと数年だけ待てよ
0236デフォルトの名無しさん
2012/08/13(月) 00:00:25.030237uy
2012/08/13(月) 00:02:06.100238デフォルトの名無しさん
2012/08/13(月) 00:02:43.79笑
0239uy
2012/08/13(月) 00:06:08.240240デフォルトの名無しさん
2012/08/13(月) 00:09:44.600241デフォルトの名無しさん
2012/08/13(月) 00:13:40.870242デフォルトの名無しさん
2012/08/13(月) 00:20:25.19もしかしてものすごい初心者?
0243デフォルトの名無しさん
2012/08/13(月) 00:29:53.940244uy
2012/08/13(月) 00:57:43.68はっあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ?
>>241
はぁ?????????????
>>242
はあああああああああああああああああああ???????????
>>243
はーーーーーーーーーーぁ???????????????????
0245uy
2012/08/13(月) 01:06:20.53はっああああああああああああああああああああああああああaaaaaaaあああああああああああああああああああああああああああああああああああああああ?
はaaaaaaaaaaaaaぁ?????????????????????
>>241
はaaaaaaaaaaaaaぁ?????????????????????
はあああああああああああaaaaaaaaaaaああああああああaaaaaaaaaaaaaaa????????????????????
>>242
はあああああああああああaaaaaaaaaaaああああああああaaaaaaaaaaaaaaa????????????????????
はーーーーーーーーーーぁaaaaaaaaaaaaaa????????????????????????????????????????
>>243
はーーーーーーーーーーぁaaaaaaaaaaaaaa????????????????????????????????????????
はっああああああああああああああああああああああああああaaaaaaaあああああああああああああああああああああああああああああああああああああああ?
0246デフォルトの名無しさん
2012/08/13(月) 01:13:12.570247デフォルトの名無しさん
2012/08/13(月) 01:43:29.200248uy
2012/08/13(月) 02:43:49.490249uy
2012/08/13(月) 03:13:29.62現開発者も本当に偉い
C++はモノを作る言語ではなく訓練用言語である
ruybは仕様変更によって多くの人的リソースを消費してきたけど
そういえばC++のほうがひどかったな
rubyはC++ほどじゃないから全然大丈夫wwwwwwwwwwwwww
0250デフォルトの名無しさん
2012/08/13(月) 03:28:07.56プログラミングって数学は必要になりますかー?
0251デフォルトの名無しさん
2012/08/13(月) 03:32:36.590252uy
2012/08/13(月) 03:36:15.46それはC++でかけない事が分かってる
そうなると、C++でもかける幼稚なタスクシステムでの書き直し
1日ネタだね
本当はゲーム開発ってC# or Javaが妥当なところなんだろうな
JavaならScalaとかClojureとかその他もろもろついてくるんでしょ jrubyもあるか
どうしてもC++な奴は、スクリプト言語1個拾ってさっさと組み込めよ としかいえない
ゲームPGは未だにC++狂が多いから悲惨
それでもC++でゲーム作っちゃう奴は作っちゃうのだから凄いスキルと情報処理能力の高さがあるんだろうね
0253デフォルトの名無しさん
2012/08/13(月) 03:36:44.09http://goo.gl/Z2IFB
これでも読んでろ
0254uy
2012/08/13(月) 03:40:05.70情報収集さえ出来れば何も知識いらない
まぁ大学くらいでやるような高度な数学的な処理になると
全然ググってもまともな情報出てこないから
数学できたほうが世界が広がるのは事実
0255uy
2012/08/13(月) 03:41:43.04寝る
0256デフォルトの名無しさん
2012/08/13(月) 05:48:53.510257デフォルトの名無しさん
2012/08/13(月) 09:03:11.000258uy
2012/08/13(月) 11:08:01.520259uy
2012/08/13(月) 11:15:25.020260uy
2012/08/13(月) 14:19:46.860261デフォルトの名無しさん
2012/08/13(月) 15:59:01.22url が 0x じゃなくて 11 になってれば、まだ少しはマシだったのにな。
ついて行けてないのがバレバレ。
コンセプトさんは先送りになったけど知ってる?
0262uy
2012/08/13(月) 16:05:34.220263甘酒
2012/08/13(月) 16:18:16.05で、uyさんに質問したいんだけど
俺今C#使ってるんだけどrubyってどんな言語なの?
いい加減c#使いにくいからrubyとやらを試してみたい
0264デフォルトの名無しさん
2012/08/13(月) 16:32:11.84もうすぐオタク連中の興味がjsに切り替わるから試さなくて良いよ
0265甘酒
2012/08/13(月) 16:35:11.67なんかrubyのページさっきみたけどものすごい使いづらそうなのは俺だけかな?
結局俺はなんの言語がいいのだろう
0266甘酒
2012/08/13(月) 16:36:29.460267デフォルトの名無しさん
2012/08/13(月) 16:37:36.22officeすらVBAからjsに移行するのでjsで十分だから
0268デフォルトの名無しさん
2012/08/13(月) 16:39:19.61ふむふむ。ありがとう初心者には勉強になるな
0269uy
2012/08/13(月) 17:13:31.96こんな言語
b =
class C
include Module.new {
def f(x=<<-A) ; return x
aaa
A
end
}
self
end.new.f
b = 4.times.with_index(10).map do | i , n |
b + i.to_s + "#{n}"
end if if true then false end.!
instance_exec 5 do | n |
p b while (n-=1) > 0
end
a = C.new.f.gsub(/(aa)/) do |n| n + "_" + $1 end
p a
/(?<u>\d+)/ =~ "abc 123"
u.instance_eval do
p to_i * 5
end
0270甘酒
2012/08/13(月) 17:20:16.110271uy
2012/08/13(月) 17:37:11.30本来の用途は普段の小さな作業の自動化がメインだろうけど
アプリやゲームも作ろうと思えば作れる
each_with_indexなどをはじめとした多数のEnumerableと呼ばれるイテレータメソッドがはいっている
自分で定義も出来る
コードの記述量はやろうと思えばどんどん小さくなると思われる
最強言語
来年の2月に2.0がリリースされる予定
0272デフォルトの名無しさん
2012/08/13(月) 17:50:11.690273uy
2012/08/13(月) 18:48:32.92#coding : utf-8
player = "ぐー"
cpu = ["ぐー","ちょき","ぱー"].sample
puts "じゃーんけーん"
# gets
puts "ぽん"
print "player : #{player}"
puts
print "cpu : #{cpu}"
puts
case cpu
when "ぐー"
print "あいこ"
when "ちょき"
print "あなたのかち"
when "ぱー"
print "あなたはしね"
else
print "しね。"
end
0274デフォルトの名無しさん
2012/08/13(月) 22:27:57.43コードの長さや判り易さ以前に、設計が良くない。
例えば player = "ぱー" にしたら case cpu ... end 内も変更しないといけなくなる。
>>252とは別の人?
0275デフォルトの名無しさん
2012/08/13(月) 23:56:22.71'自然数nの二重階乗を求める'(0,1).
'自然数nの二重階乗を求める'(1,1).
'自然数nの二重階乗を求める'(_m,_x) :-
'_m が 1 より大きい時、_m - 2 の二重階乗 _x_2 に _m をかけたものが_m の二重階乗 _x となる'(_m,_x).
'_m が 1 より大きい時、_m - 2 の二重階乗 _x_2 に _m をかけたものが_m の二重階乗 _x となる'(_m,_x) :-
_m > 1,
_m_2 is _m - 2,
'自然数nの二重階乗を求める'(_m_2,_x_2),
_x is _m * _x_2.
0277デフォルトの名無しさん
2012/08/14(火) 06:53:42.19例えば「全体を鶴だと考えてみよう」的な表現は苦手なのではないか。
0278デフォルトの名無しさん
2012/08/14(火) 18:27:54.480279デフォルトの名無しさん
2012/08/14(火) 18:33:19.920280デフォルトの名無しさん
2012/08/14(火) 18:50:44.37○無駄に長いコードはわかりにくい
○わかりやすいコードは無駄に長くない
0281デフォルトの名無しさん
2012/08/14(火) 19:15:32.29% これは冗長なコードかな。
迷って鶴か亀に決める(_鶴か亀) :-
迷って(_文字コード),
鶴か亀に(_文字コード,_鶴か亀),!.
迷って(_文字コード) :-
repeat,
_文字コード is random(60000).
鶴か亀に(_文字コード,鶴) :-
鶴の文字コード(_文字コード).
鶴か亀に(_文字コード,亀) :-
亀の文字コード(_文字コード).
鶴の文字コード(50401).
亀の文字コード(46517).
0282デフォルトの名無しさん
2012/08/14(火) 19:51:09.27% 決めるを述語にしない理由は?
迷って鶴か亀に決める(_鶴か亀) :-
迷って(_文字コード),
鶴か亀に(_文字コード,_鶴か亀),
決める.
決める :- !.
% 以下略
0283デフォルトの名無しさん
2012/08/14(火) 19:51:40.29他の人のコード見ると、MSとかのライブラリィに付いてる
ソースコードみたいになんか綺麗に見える。
どこがって上手く説明できないんだけど、イメージとしては
A4で10ポイントくらいで印刷して1mくらい離れてみても
なんか綺麗に見える感じ
でも不思議なことに、そういう綺麗なコードがバグフリーな訳でも無いし
速くコーディングが終わるわけでもない事。
むしろそういう人のコーディングはかえって完成までに時間が掛かる
傾向が強くて、あんまり大事な仕事を任されない不思議。
完璧な英語を話そうとする余り言葉が出なくなっちゃいますよみたいな
ものなのかな?
どうやって話すかよりも、何を話すかの方がよっぽど大事なんだと思うんです。
0284デフォルトの名無しさん
2012/08/14(火) 19:54:57.28その方がいいですね。 ! を「決める」と読むことに魅力を感じて ! の
打ちっ放しにしたのですが、やはり決めるの方がいい。
0285284
2012/08/14(火) 20:12:27.09待ってください。間違いました。その カット は効かないですね。
鶴や亀の文字コードに複数の選択肢がなかったから、 カット が効いているように
処理系が振る舞ってしまいますが、選択肢を追加したら、複数解を返してくるはずです。
決めるのカットは、決めるの次の節を選択しないのカットですから、
述語 迷って鶴か亀にきめる/1 が目標になったときには、カットとしては働きません。
0288デフォルトの名無しさん
2012/08/14(火) 20:34:00.20小さい画面だと余計な改行とか読みにくいので、途中で読むのやめた。
0289デフォルトの名無しさん
2012/08/14(火) 20:48:45.900290uy
2012/08/14(火) 20:53:13.27バブルソースって名前をつけた奴って
偉そうだよねw
0291デフォルトの名無しさん
2012/08/14(火) 21:55:37.550292デフォルトの名無しさん
2012/08/14(火) 23:01:31.800293uy
2012/08/14(火) 23:11:52.49バブルソートと一緒。
誰かがつけた名前にすぎない。
0294デフォルトの名無しさん
2012/08/15(水) 01:55:37.24twitterの最後にピリオドを付ければ全部Prologプログラムっていう
主張はある。ほとんどの場合ピリオド付ける前にシングルクォートで
囲む必要があるだろうけど。
0295デフォルトの名無しさん
2012/08/15(水) 04:48:50.62バズワードに近いレベル
0296デフォルトの名無しさん
2012/08/15(水) 07:10:25.36偉い奴がつけた名前が広く使われるんだと思うぞ
0297デフォルトの名無しさん
2012/08/15(水) 07:44:48.67「この時代の政治には、騎士道理想と分かちがたく結びつくひとつの偉大な志があった。」
これをGoogleで検索しても出てこない。「中世の秋」の邦訳だけれど、著作権の制限があり、
全文が載っているサイトはない。こういう部分的な切り取りにはPrologが最有力。
0298デフォルトの名無しさん
2012/08/15(水) 08:53:49.70あるあるネタみたいなもんじゃないかな>でざぱた
0299デフォルトの名無しさん
2012/08/15(水) 09:39:03.51初心者にとってはパターンの紹介
初心者以外にとっては名前の紹介
0300uy
2012/08/15(水) 10:44:01.77デザインパターンを公表し世に広めるのは意味がある
しかしこれは技術が古くなったら意味がない
使い手がそれに気づけるかどうか
デザインパターン2
デザインパターン3
とこれからも出していく必要がある
最終的にはデザインパターンのみでプログラムが組めれば勝ち
今のところデザインパターンはまだ幼稚なアルゴリズムの発想しか提供してくれず
これ以上はいくらでもあるのが問題
0301デフォルトの名無しさん
2012/08/15(水) 11:20:19.780302デフォルトの名無しさん
2012/08/15(水) 11:35:39.63Prologの述語名の部分はデータベース検索に掛かりませんね。
長い述語名を解析して、プログラムがテンポラリに副目標を
生成して実行するには、どうすればいいのですか?
0303デフォルトの名無しさん
2012/08/15(水) 11:47:57.42それ、できません。Prologの組込述語として、現在実行中の述語名、
さらには、現在実行されている副目標を読んでいる目標の関数名(述語名)を、
呼び出せるメタ述語が必要だという声はあります。Prolog上の実行環境に
そのような述語を定義している人もいます。
0304302
2012/08/15(水) 11:55:34.75> 副目標を読んでいる目標の関数名(述語名)を、呼び出せるメタ述語
Prologの組込述語として、現在実行中の述語名、さらには、現在実行されている
副目標を呼んでいる目標の関数名(述語名)を、取得できるメタ述語・・・
(読んでいる->呼んでいる 呼び出せる->取得できる) です。
0305uy
2012/08/15(水) 12:20:20.77特定のコードに名前をつけたものだよ。
バブルソートなど、自分で思いついたものもあるだろう。
だがそれにしたいして、自分勝手に名前をつけても
他人に説明できない。
ああやってこうやってかくかくしかじかして並び替え。
といっても通じない。
デザパタの本にも、デザパタはよくあるコードに名前をつけたものですって
しっかり書いているので、だれでも知ってることなんて言い方は反論にならない。
そしてアルゴリズムがそうであるように、デザパタは
自分で見つけた人にとっては名前であり、
知らない人にとっては、先人の知恵である。
0306デフォルトの名無しさん
2012/08/15(水) 12:44:17.46ころっと手のひら返すよな自分を持ってないから
恥ずかしい人間だな
0307デフォルトの名無しさん
2012/08/15(水) 12:59:50.66ニセモノはドカタくせぇから直ぐ分かる
0309uy
2012/08/15(水) 13:10:46.660310uy
2012/08/15(水) 13:32:43.660311デフォルトの名無しさん
2012/08/15(水) 13:39:44.840312デフォルトの名無しさん
2012/08/15(水) 13:41:27.690313uy
2012/08/15(水) 13:46:25.790315デフォルトの名無しさん
2012/08/15(水) 18:53:15.95さくっとNGにして差し上げます
0316デフォルトの名無しさん
2012/08/15(水) 19:21:27.89よく使うものをまとめたものっていう概念がなぜ理解できないんだろうな暗記大好き君て
0317uy
2012/08/15(水) 19:45:46.23既にまとめてあって、その次の段階にいってるんですよ
自分でまとめることのできないドカタや概念をまだ知らない初学者に教えるにはいい材料かもしれない
0318uy
2012/08/15(水) 19:47:00.93ほんのちょっと1日1個ずつでも覚えて行けばいいだけ
リファレンスを引く時間を考えたほうがいい
0319デフォルトの名無しさん
2012/08/15(水) 20:10:07.51javaで作ったツールで自動巡回しているのだよ。スマホだから暇なときに見てるだけ。どっかのuyと一緒にしないでくれ。
0320デフォルトの名無しさん
2012/08/15(水) 21:14:36.29広義のデザインパターンである「石の上にも三年」とかの格言でそのレスは表せるな
お前みたいに無駄なレスを書かせないためにもデザインパターンはあるのにまったく理解していない
つまりお前は初心者未満てことだな
天につばを吐く行為が大好きなマゾ野郎だな
お前ダメだ
0321デフォルトの名無しさん
2012/08/15(水) 21:47:07.31× uyは自分を持ってないから
無知蒙昧なくせに傲岸不遜なだけ。
先人の知恵に触れるとすぐに平伏し今度は逆に祭り上げて利用するクズ。
0322uy
2012/08/15(水) 22:14:08.90じゃあもう何も教えてくれなくていいですので
二度と話しかけないでくださいね
0324デフォルトの名無しさん
2012/08/15(水) 22:54:02.04WebやPDF、紙リファレンスを参照するのと、脳内リファレンスを参照
するのとでは、アクセスタイムがまるで違う
0325デフォルトの名無しさん
2012/08/15(水) 23:06:44.15誰も貴様に話しかけてねえよクズ
0326デフォルトの名無しさん
2012/08/15(水) 23:12:42.89裁判長は法律を記憶してないが法律に基づいた判決を下す。
弁護士は一応法律を暗記するが、実際に裁判をするときには最新の法律を参照しながら組み立てる。
更新の終わった古い規格を使うなら暗記だけでいけるが、
常に更新される最新の規格を使うなら常に参照する必要がある。
リアルタイムに更新されるわけじゃないから覚えなおせばいいわけだが、
なまじ記憶が残ってるとそれが邪魔をする場合がある。
「丸暗記」では理解が不十分だからいつも間違いを起こす。
0327デフォルトの名無しさん
2012/08/16(木) 00:02:33.510328デフォルトの名無しさん
2012/08/16(木) 00:02:36.600329デフォルトの名無しさん
2012/08/16(木) 00:18:12.06GoF本の23のパターンがうんこすぎた
あんなの有り難がるのJavaドカタだけですよ?
0330デフォルトの名無しさん
2012/08/16(木) 00:27:00.900331デフォルトの名無しさん
2012/08/16(木) 00:41:34.700332デフォルトの名無しさん
2012/08/16(木) 00:42:37.46デザインパターンは理解したほうがいいと思う。
問題:
月曜日から日曜日までの7つのオブジェクトを作成するときに
使用するGoFのデザインパターンは?
これで答えと理由を書いてくれれば
どのくらいGoFのデザインパターンが
理解出来ているか分かると思う。
0333uy
2012/08/16(木) 00:50:17.94デザインパターンはその名の通り
設計(デザイン)のパターン
あなたの問題には、設計を決めるための
情報が全く含まれていない。
なので、答えは出せない。
0335uy
2012/08/16(木) 00:57:39.40その7つのオブジェクトの性質を言いなさい。
継承関係があるのかどうなのか。
各曜日オブジェクトの関連はどうなのか
どういうコードでオブジェクトを作成したいのか
設計をするための情報がないのであれば
答えが出るわけがないでしょう。
0336デフォルトの名無しさん
2012/08/16(木) 01:00:20.267つって数を強調してるからドキドキする
0337uy
2012/08/16(木) 01:02:50.56引っ掛けにしか見えんよな。
同じ曜日のオブジェクトを2つ以上作成するかもしれない。
同じ曜日のオブジェクトを2つ作成して相性占いをするかもしれない。
0338デフォルトの名無しさん
2012/08/16(木) 01:02:51.84シェンロンは願い事を1つかなえることができる、ウーロンの願いはギャルのパンティが欲しいということ、
ギャルのパンティは黒色でいい匂いがするわけであるから例えるならトリュフ、トリュフは三大珍味であり
皮が価値を持つものであるから、デザインパターンでいうとデコレーターパターン。Q.E.D.
0339デフォルトの名無しさん
2012/08/16(木) 01:07:35.78たまにいるよな。設計書にコード書いてくるタコ。こいつもその類いか。
0340uy
2012/08/16(木) 01:09:27.66質問からは、設計をするための情報が全く読み取れない。
0341322
2012/08/16(木) 01:11:03.27それも正解、でも理由も書きてほしかった。
>>337
>同じ曜日のオブジェクトを2つ以上作成するかもしれない。
その時に使うデザインパターン?
0342uy
2012/08/16(木) 01:11:59.90いつ、同じ曜日を2つ作成できないようにするとかいたんだい?w
0343338
2012/08/16(木) 01:17:27.10____
/ ⌒ ⌒ \
./( ―) ( ●) \
/::⌒(_人_)⌒::::: | チラッ
| ー .|
\ /
0344デフォルトの名無しさん
2012/08/16(木) 01:17:51.05びっくりしたでしょう?
ドカタは人工無能の一種だと割り切って
直接コードを渡した方が早いですよ
0345uy
2012/08/16(木) 01:18:43.860346デフォルトの名無しさん
2012/08/16(木) 01:20:52.11uyの言うとおりSingletonパターンはだめだよね
AbstractFactoryあたりで生成させんのがいいんじゃ
0347デフォルトの名無しさん
2012/08/16(木) 01:26:48.99実際に法律を覚えている裁判長などいない。みんなぼけ老人だぞ。
0348uy
2012/08/16(木) 01:29:52.410349322
2012/08/16(木) 01:41:52.85>いつ、同じ曜日を2つ作成できないようにするとかいたんだい?w
分からないみたいなので、ヒントとして
>その時に使うデザインパターン?
これを書いてみましたが逆に混乱させていむみたいですね。答えは
曜日と言う似たようなオブジェクトならPrototype パターンも使えるかと
自分なら考えます。
(同じ曜日ならなおさらPrototype パターンを考えます)
>>346
Singletonパターンは、一つのオブジェクトしか作らないパターンと考えている人が
多いのですが、本質には作成するオブジェクトの数を制限するパターンなので適用出来ます。
>月曜日から日曜日までの7つのオブジェクトを作成する
これだけの仕様でも二つのデザインパターンの適用を考えることが出来ます。
このようにOO技術者に取ってデザインパターンは必須の知識だと考えます。
>>343
仕様が
>月曜日から日曜日までの7つのオブジェクトを”作成”する
なので生成パターンを考えていましたが、デコレーターパターンもありですね。
0350デフォルトの名無しさん
2012/08/16(木) 02:02:25.03うん、知ってた。
0351デフォルトの名無しさん
2012/08/16(木) 02:12:28.68同じ曜日ならそのオブジェクトはひとつでいい。2つ目は不要。
そのオブジェクトを参照する変数が2つ以上になるだけ。
0352デフォルトの名無しさん
2012/08/16(木) 02:14:14.690353デフォルトの名無しさん
2012/08/16(木) 02:15:07.87>本質には作成するオブジェクトの数を制限するパターンなので適用出来ます。
仕様として月〜日オブジェクトが1セットとは明記されていないためSingletonパターンは適用できません。
ありがちな設計ミスです。
0354uy(本物
2012/08/16(木) 02:16:32.88> > 同じ曜日のオブジェクトを2つ以上作成するかもしれない。
> > 同じ曜日のオブジェクトを2つ以上作成するかもしれない。
いや・・・・・・・・・・・・・・・・・・・
シングルトンって、
複数人で開発する時に変な奴に2個以上存在されたらまずインスタンスを生成されて
そのせいで設計崩壊しないようにするための柵だろ?
コーディングミスをさせない為の柵ではない と俺は思う
コーディングミスする奴は死ね
0355デフォルトの名無しさん
2012/08/16(木) 02:17:09.920356デフォルトの名無しさん
2012/08/16(木) 02:18:25.63○とり
0357uy@発狂中 ◆gXFLM6waxs
2012/08/16(木) 02:18:35.250358デフォルトの名無しさん
2012/08/16(木) 02:19:59.66各曜日オブジェクトのユースケースが提示されていないため
これだけの情報でSingletonパターンを選択することはありえない
そのまま突っ走ればクレーム対象になる可能性があります。
・Aさんの今週のスケジュールに関連した各曜日オブジェクトを変更したら
Bさんのスケジュールが書き換わりました
0359デフォルトの名無しさん
2012/08/16(木) 02:20:32.33同じことだったと
そして、どのuyが本物だろうと大した問題ではなかったということを
0360デフォルトの名無しさん
2012/08/16(木) 02:23:07.47uyは病気の一種
0361uy ◆gXFLM6waxs
2012/08/16(木) 02:23:28.82class A
attr_accessor :name
def initialize name
@name = name
end
end
task = %w! 月 火 水 木 金 土 日 !.map { |x| A.new x }
p task
はいはいわろ
0362デフォルトの名無しさん
2012/08/16(木) 02:23:47.40今頃気づいたのかw
デフォルトの名無しさん みたいなもんだろ。
0364デフォルトの名無しさん
2012/08/16(木) 02:26:02.13いやつけといてもらっていい
その方が、本物かの区別はおいといて、ある一人の意見であることがわかる
0365uy
2012/08/16(木) 02:26:36.12最近はどの言語にもlambdaってあるんだろ?
インスタンスを生成してから実装をlambdaで書けば何にでも化ける
lambdaが最強
0366デフォルトの名無しさん
2012/08/16(木) 02:27:46.76名前欄にuyを書いても、トリがなければ違うオブジェクトであると見なす
0368デフォルトの名無しさん
2012/08/16(木) 02:27:55.530369デフォルトの名無しさん
2012/08/16(木) 02:29:03.950370デフォルトの名無しさん
2012/08/16(木) 02:29:12.280371デフォルトの名無しさん
2012/08/16(木) 02:29:53.790372デフォルトの名無しさん
2012/08/16(木) 02:30:29.04'>>'で参照されてるからコレクトされませんでした
0373デフォルトの名無しさん
2012/08/16(木) 02:31:25.08それってプロトタイプしてなくね?
0374デフォルトの名無しさん
2012/08/16(木) 02:31:55.73*uyはおなじでいいが、&uyは違うんだから、それをちゃんと明記しろ
0375uy
2012/08/16(木) 02:32:15.24それは俺様の最高設計がそんな感じってだけで、
小さなプログラムや、ライブラリのほうは流石にクラスで書くときもある
コンストラクタで全部処理というのは、
まずコンストラクタがあって、
そこの内部で task_create メソッドを呼んでそこでオブジェクトを作るってだけ
オブジェクトの管理は全て裏方でmy実装されている
0376デフォルトの名無しさん
2012/08/16(木) 02:34:10.05リソースリークすんぞ
0377デフォルトの名無しさん
2012/08/16(木) 02:38:27.26同じ機能を複数のクラスで実装することを保証する仕組みがinterface
そのinterfaceとして、自分自身を複製するメソッドを定義しといてやるのが
Prototypeパターンなんじゃないの?
0378デフォルトの名無しさん
2012/08/16(木) 02:48:46.97だとしたら両者違くね?!
0379uy
2012/08/16(木) 02:49:13.78俺忙しいしアルゴリズムに興味ない
こう言ってるのと一緒
0380デフォルトの名無しさん
2012/08/16(木) 02:49:52.770381デフォルトの名無しさん
2012/08/16(木) 02:52:09.03両者って何と何?
0382デフォルトの名無しさん
2012/08/16(木) 02:58:09.09interfaceとprototypeだいぶ違くね?
0383デフォルトの名無しさん
2012/08/16(木) 03:00:16.20prototypeパターンはinterfaceの仕組みを使ったクラスの構成方法の一つって
イメージってつもりで書いたんだがちがうの?
てかすまん、寝るw
0384332
2012/08/16(木) 03:04:41.90>月曜日から日曜日までの7つのオブジェクトを作成する
この仕様にSingletonパターンを適用した設計にすると
曜日クラス(一つ)から月曜日・火曜日オブジェクトなどが必ず1つだけ作成される。
また、Prototypeパターンを適用すると同じ属性のオブジェクトが
月曜から日曜まで作成できる。
あと、Prototypeパターンを勘違いしている人がいるよだけど
簡単に説明すると、同じ属性(フィールドの値が同じ)オブジェクトを作ること。
0385デフォルトの名無しさん
2012/08/16(木) 03:20:30.55設計がSingleton使って勝手に制限つけてるどうするんですか?
0386322
2012/08/16(木) 03:31:25.750387uy
2012/08/16(木) 03:35:39.980388デフォルトの名無しさん
2012/08/16(木) 03:55:04.65ひとつずつ作成するとは一言も書いてないからそこは想定すべきですよ
0389デフォルトの名無しさん
2012/08/16(木) 07:31:24.14原則として、短いコードの方が見通し言いに決まっている
書いたプログラマー本人の頭の中にしかない情報がなければ
読めないのであればそれが読みにくいコードで長いか短いかは関係ないよ
まぁ、通常短いコードは読みにくいといっている奴は、そいつのコミニュケーション能力が低くて
使い物にならないプログラマだったってケースが大半だったりする訳ですがw
単にプロジェクト参加者全員が持っている知識を彼だけか持っていなかったというオチ
0390デフォルトの名無しさん
2012/08/16(木) 07:34:17.77非常に非効率な事が起こる、短く書けない。
この時冗長にするのが正解?
まさかね、全員がデザパタを使えるようにして、短く書いても障害にならないようにするのが正しい。
そう思うね
0391デフォルトの名無しさん
2012/08/16(木) 08:18:45.08http://nojiriko.asia/prolog/uruutoshi_1.html
0392デフォルトの名無しさん
2012/08/16(木) 10:29:11.42高橋君についてもっと言及するとどうなるの?
0393デフォルトの名無しさん
2012/08/16(木) 12:34:48.22以前のところで思考が違ってますから
知ってるだけじゃダメなんです
0394デフォルトの名無しさん
2012/08/16(木) 13:02:01.591.一つの行に複数の命令文を書くな、馬鹿野郎!
2.条件分岐とその処理や、ループとその処理は3行以上使え!
【例】
if(value>=0){
value--;
}
こんなのはかくなよ↓
if(value>=0){value--;}
3.インデントをつけろ!
4.コメントを入れやがれ!
0395デフォルトの名無しさん
2012/08/16(木) 13:07:28.080396uy
2012/08/16(木) 14:14:29.07それは
ただのわかりやすいコードじゃなくて
サルにもわかりやすいコードだけど大丈夫か?
0397デフォルトの名無しさん
2012/08/16(木) 14:22:46.982は三項演算子を検討してから分岐にするか考える箇所。
コメントいっさい書くなって人時々見かけるけど、
これだけは理解できないな。
まぁ、難しいコードを書いたことがない人ほどノーコメントって言ってる事が多いようだけど
0398デフォルトの名無しさん
2012/08/16(木) 14:26:41.24コードの機能が分かっても意図がわからに場合もある。
0399デフォルトの名無しさん
2012/08/16(木) 14:54:37.680400デフォルトの名無しさん
2012/08/16(木) 14:55:25.350401uy
2012/08/16(木) 15:01:20.87俺もコメントはあまり書かない
ちょっと難しい程度のアルゴリズムにコメントは必要ないよ
コメントが必要なのはソースコード量の大きなプログラムで
全体の把握を誰も出来ないだろうって場合は書くしかない
コメントを書くのは、無駄に行数が膨らんでソースを冗長させる行為
それでも見返りがある場合にのみ書く事を許される
0402デフォルトの名無しさん
2012/08/16(木) 15:04:21.06% そうしました。
http://nojiriko.asia/prolog/c143_256.html
0403デフォルトの名無しさん
2012/08/16(木) 15:31:39.19getValue();
こういう直訳いらないけど、けっこーある。
あとバージョン管理してるのに、変更箇所をコメントアウトでとっとくやつ邪魔。2012-08-01 xxx 削除とかコメントつきで。
0404デフォルトの名無しさん
2012/08/16(木) 15:41:31.47・自分は技術力があると自負している。
・人のコードに駄目だしをする。
・バグが多い。
0405デフォルトの名無しさん
2012/08/16(木) 16:14:15.74http://nojiriko.asia/prolog/c146_371_4.html
0406デフォルトの名無しさん
2012/08/16(木) 16:15:40.35曜日毎にオブジェクトを作らないで、休日やそのほかの必要になる
性質のオブジェクトを作って、それに合わせたインスタンスを
代入した方が良いのでは?
例えばカレンダープログラムを作ると考えてclass Mondayが必要とは
思わない。
0407デフォルトの名無しさん
2012/08/16(木) 16:16:30.560408332
2012/08/16(木) 16:30:42.68>例えばカレンダープログラムを作ると考えてclass Mondayが必要とは思わない。
だから、prototypeパターンの適用を考えてみた。
0409デフォルトの名無しさん
2012/08/16(木) 16:38:58.12あんまり些細なことにとらわれないでがんばって読めよ。
コンパイルが通ってるなら、そのコードは書かれたように動いてるはずだろ
だったらちゃんと読めば何が書かれてるかは分かるはずだ
コメントがあれば確かに助けになることも多いな
でも、コメントに頼らなくちゃいけない時点で、全体のプログラム構造に
何か改善の余地があるのでは?ということを考慮した方が良いかもしれない。
でもまぁ、人間は完璧じゃ無いし、他人の仕事には寛容であって欲しいね
0410デフォルトの名無しさん
2012/08/16(木) 16:49:48.930411uy
2012/08/16(木) 16:54:42.140412デフォルトの名無しさん
2012/08/16(木) 17:17:06.240413デフォルトの名無しさん
2012/08/16(木) 18:29:08.87難解なロジックをコードするなら、コメント無しで記述したらどんなに頑張っても分るコードには成りえない。
難解なロジックを単純に記述する方法はない、それができるなら難解の定義に反する。
それは単純なロジックだったのだ。
まぁなんつーか、LHCとか最先端科学技術の固まりみたいな施設で使われるコードを
銀行業務プログラムの達人に見せても理解できるはず無いよな的な・・・
それでも、そのコードのやりたい事等を解説したコメントがはさんであるなら
達人プログラマであれば何とかするでしょう。
プログラムは手順については語ってくれるが、意図については語らない。
関数名等に埋め込む事である程度の解消もできるが、それを超えるなら混乱を生むだけである。
0414デフォルトの名無しさん
2012/08/16(木) 18:30:50.110415デフォルトの名無しさん
2012/08/16(木) 20:06:17.21ってくらいのソース書いたら頑張ってコメント書く。
FWの仕様書にも乗ってない機能を使った処理とか、
ゲームのチェックプログラムで独自の数学的証明式組み込んだりとか、
//※preXXX()直後に呼ぶと吹っ飛ぶ
とか、
0416デフォルトの名無しさん
2012/08/16(木) 20:08:55.08分りやすさは何の為に?と言われた時の効用がほとんど挙げられない
0417デフォルトの名無しさん
2012/08/16(木) 20:50:26.72結局分からせなくてもいいって立場のひとが話題を引っ張ってんじゃ、
まずいのではないか。
0418uy
2012/08/16(木) 20:50:48.70そしてゲームが完成するまでの間だけでも破綻しなければいい
普通にかけばほとんどが再利用不可能コード
0419デフォルトの名無しさん
2012/08/16(木) 21:02:06.18特に仕様書はソースだと言われた時。
0420デフォルトの名無しさん
2012/08/16(木) 21:08:40.22ただの設計思想の一つだ
0421デフォルトの名無しさん
2012/08/16(木) 22:45:58.680422デフォルトの名無しさん
2012/08/16(木) 22:51:44.55書き方を教えろ
だろ、普通の人は
0423デフォルトの名無しさん
2012/08/16(木) 23:00:01.290424デフォルトの名無しさん
2012/08/16(木) 23:03:02.46肥大化しすぎて
0425デフォルトの名無しさん
2012/08/16(木) 23:03:17.03if(singleton<hoge>::getInstance(5) == this){
//何かの処理
}
これで何かの処理が始まったときの衝撃
短いとか分かりやすいとかそんなチャチなものじゃ断じて無ぇ
日本の底辺の片鱗を味わったぜ…
ってこれ短いコードじゃないな、スマン
0426デフォルトの名無しさん
2012/08/16(木) 23:05:17.54>singleton<hoge>::getInstance(5)
のような文って出てくんだっけ?w
0427デフォルトの名無しさん
2012/08/16(木) 23:37:00.05言っている意味が良く分からない
0428デフォルトの名無しさん
2012/08/16(木) 23:44:51.460429uy
2012/08/16(木) 23:51:18.140430デフォルトの名無しさん
2012/08/16(木) 23:52:32.290431デフォルトの名無しさん
2012/08/16(木) 23:54:09.03singleton==インスタンスがひとつってわけじゃないからそれはいいんじゃないの?
マジックナンバー使ってるのは気になるけどsingletonインスタンスがいくつかあって自分が5番目のインスタンスの時にはなんかするってことでしょ?
forkの戻り値を見て0以外なら親プロセスの処理、0なら子プロセスの処理って分けるパターンの拡張だと思うけど違うん?
0432デフォルトの名無しさん
2012/08/16(木) 23:55:10.880433デフォルトの名無しさん
2012/08/16(木) 23:59:59.94俺が作ったんじゃねぇよぅ
インスタンスが複数作れるシングルトン、とか
謎のコメントが残されていた
あとgetInstance(5)だったり4だったり3だったり
あちこちにそんな処理があったから、
多分何番目に作られたやつはこの処理ってことがやりたかったと思われる
ちなみに確か最大10個作れたと思う
書いたやつは割りと本気で死ねと思う
0434デフォルトの名無しさん
2012/08/17(金) 00:01:02.01日本語で書け
0435デフォルトの名無しさん
2012/08/17(金) 00:05:34.65多分それで合ってる、代弁ありがとう
これって良くあるやりかたなの?
俺的には衝撃のコードだったんだけど。
で、相変わらず>>432の言いたいことが分からん
ごめんね、読解力無くてごめんね
0436デフォルトの名無しさん
2012/08/17(金) 00:06:02.63つまりだ、if( … )の…の部分に、::が入るような文が来ることがあんのけ?
っていう質問w
0437デフォルトの名無しさん
2012/08/17(金) 00:07:29.05staticなメンバ関数を呼ぶときクラス名::メンバ関数名を使う
0438デフォルトの名無しさん
2012/08/17(金) 00:09:32.31デザパタを読みきれんかったんだろうね
(誤読しました?)
433は出来る方なのかな?
0439デフォルトの名無しさん
2012/08/17(金) 00:12:35.71あぁ、とっても初歩的な質問に丁寧にご回答いただき、
どうもありがとうございます。。そゆことか
staticメンバ関数は::で、オブジェクトメンバ関数は.なのか
C++やったことがなく、大変失礼しました
0440デフォルトの名無しさん
2012/08/17(金) 00:14:08.24いや、大丈夫俺も始めてみた
見かけたら読みにくくてぶつぶつ言うと思う
初期設計でこうなったのか継ぎ接ぎ拡張でこうなったのか気になる…
0441デフォルトの名無しさん
2012/08/17(金) 00:14:25.150442デフォルトの名無しさん
2012/08/17(金) 00:16:56.10出来る人ならこんな愚痴書いたりしないんだぜ
所詮は底辺土方です
ちなみに解析は他の人にぶん投げました
最後のほう、俺には無理だぜヒャッハーって暴れてたw
0443デフォルトの名無しさん
2012/08/17(金) 00:19:00.97基底クラスの関数呼ぶときも
::とか.とか->とかC++って手のかかる子供のようだ…
::を使う必要があるのは仕様上クラス名と同名の変数名が作れるせいだと思う。
0444デフォルトの名無しさん
2012/08/17(金) 00:21:57.22ちょっとまったぁー
クラス名と同名の変数名が作れちゃうとか、そこでだいぶ頭の中が
カオスになってきたんだけど、ひとまず置いといて、
たぶんggrksな内容だと思うけど、->で関数を呼んだりもするの?
0445デフォルトの名無しさん
2012/08/17(金) 00:25:24.66class C{
void f(){}
static void g(){}
};
C* C = new C();
C->f();
(*C).f();
C::g();
0446デフォルトの名無しさん
2012/08/17(金) 00:26:29.75ふおぉぉぉぉぉぉーーーーー
ちょっといったんお茶飲んで落ち着いてくる
0447デフォルトの名無しさん
2012/08/17(金) 00:28:11.22逃げ方も上手そうだし
そのうち、なんかあるかもね
0448デフォルトの名無しさん
2012/08/17(金) 00:39:44.04ふぅ。。
とりあえず、沸騰しそうな脳を冷却し、かろうじて思考可能なレベルに
なったと思われるので、足りない脳で解釈してみます
・Cという名前のクラスが宣言されています
・そのCクラスの中には、インスタンスメソッドf()と、クラスメソッドg()が定義されています
・C(クラス)型のポインタ変数Cを定義し、デフォルトコンストラクタで空オブジェクトを生成します
・C型ポインタ変数Cの保持するアドレスをもとに、そのアドレスに格納されているオブジェクトを->で
参照しf()を呼び出します
・*演算子によって、C型ポインタ変数Cの保持するアドレスにあるオブジェクト自体から、直接的に
.でf()を呼び出します
・Cというクラス名から、クラスメソッドであるg()を呼び出します
途中で、何言ってっかわからなくなったが、合ってます??
0449デフォルトの名無しさん
2012/08/17(金) 01:17:15.07引き継いだ時とかに質問した、仕様書はどこですか? に対する答えね。
仕様書はソース。
0450デフォルトの名無しさん
2012/08/17(金) 01:17:53.70覚えないほうがいいような、最初は
0451デフォルトの名無しさん
2012/08/17(金) 01:21:54.95そういうことじゃなくて
要求に対する読解力が必要だと
成果物の解説書が必要
なのがよーわからんのよね
0452デフォルトの名無しさん
2012/08/17(金) 01:24:49.11もしかして、>>445のC::g();って、普通のクラスメソッド呼び出しじゃない??
>>445のソースで、
C *C = new C();
としたときの
C::g();
と
C C;
としたときの
C::g();
って意味違う??
0453デフォルトの名無しさん
2012/08/17(金) 01:42:27.04上手い人が書いたのをよーくながめることだね
0454デフォルトの名無しさん
2012/08/17(金) 01:43:24.33このアプリに機能追加してくださいと言われたら、仕様書なきゃ何もできないでしょう。ソース読むの?
0455デフォルトの名無しさん
2012/08/17(金) 01:50:30.11はああああああああああああああああああああああああああああああああああああ
出来る奴は先読みしてるんだよ
0456デフォルトの名無しさん
2012/08/17(金) 01:51:18.68意味は同じ というよりインスタンスとは関係なく
C* a = new C();
C b;
C::g(); // aともbとも無関係
↑
変数名ではなくクラス名
0457デフォルトの名無しさん
2012/08/17(金) 01:56:10.83そうだそうだ、危うくドツボにはまるところだった
まさに、>>443の
>::を使う必要があるのは仕様上クラス名と同名の変数名が作れるせいだと思う。
の意味がここにあるわけだね
りょーかい!ありがと
0458デフォルトの名無しさん
2012/08/17(金) 02:00:15.19頭おかしいんじゃないかと思うわw
0459uY ◆gXFLM6waxs
2012/08/17(金) 02:02:06.17C++やるならそのコンパイラがC++11,0xのどこまでの仕様を満たしてるかをまず調べる必要がある
0460デフォルトの名無しさん
2012/08/17(金) 02:07:16.13何を先読むの?
0461デフォルトの名無しさん
2012/08/17(金) 02:10:32.04さあね
0462デフォルトの名無しさん
2012/08/17(金) 02:11:57.51作れてないのかよw
C++やっぱ鬼門だな
クソと言われる所以がようやくおぼろげながらわかってきたぞ
0463デフォルトの名無しさん
2012/08/17(金) 02:13:43.15規格ガーとか言ってる方がおかしくねえか
0464デフォルトの名無しさん
2012/08/17(金) 02:29:07.990465デフォルトの名無しさん
2012/08/17(金) 02:37:33.18特に変なコードには見えなかった
中身みなけりゃ分らないが、シングルトンが配列になっていて順次実行中
5番目の要素を実行する時の特別処理?
分り難いってのは、基本的には共通知識があるかどうかに関わっていて
コードの単純さではないという例のような気がした。
0466デフォルトの名無しさん
2012/08/17(金) 02:43:33.93自由度はあるけど
0467デフォルトの名無しさん
2012/08/17(金) 02:53:43.55phpは変数名の頭に$がつくからと油断してると、
$hoge = new hoge();
$hoge::HOGE;
は、5.3ではokだか、5.2だと
hoge::HOGE;
と書かないと、
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in
と予期せぬダブルコロンと言われる。ラテン語で…。わかるかっ
0468デフォルトの名無しさん
2012/08/17(金) 02:57:00.02お前が何も読めてないのかよw
0469デフォルトの名無しさん
2012/08/17(金) 03:17:58.71ラテン語かよw
0470デフォルトの名無しさん
2012/08/17(金) 03:37:58.50ひどすぎわろた
0471デフォルトの名無しさん
2012/08/17(金) 09:17:28.27Prologのプログラムというのは、第一義的には忘備録なのですね。
もちろん、コンピュータ上で動作して、証明できればいいに決まってるけど。
0472デフォルトの名無しさん
2012/08/17(金) 10:24:30.69別に超能力者でもないからね
0473デフォルトの名無しさん
2012/08/17(金) 11:25:31.36お前は出来ないヤツなんだな。
0474デフォルトの名無しさん
2012/08/17(金) 14:30:57.43普通の人は何げに無能自慢したがるからね
0475デフォルトの名無しさん
2012/08/17(金) 14:31:44.76評価らしい評価もできずに、細部にこだわったレスばかりだ。
0476デフォルトの名無しさん
2012/08/17(金) 16:05:58.20逸脱は仕方ないと思うけど。
0477uY ◆gXFLM6waxs
2012/08/17(金) 17:40:31.93ニコ厨死ね
0478デフォルトの名無しさん
2012/08/17(金) 18:41:41.67よくいる普通の感覚でやってるだけの人な感じだね
0479uY ◆gXFLM6waxs
2012/08/17(金) 19:10:27.35もうちょっと日本語喋ったほうがいい
0480デフォルトの名無しさん
2012/08/17(金) 19:11:50.030481デフォルトの名無しさん
2012/08/17(金) 22:28:59.62簡単に死ねとか書く人が 意味不明だの日本語だの指摘したところで
そっすねとしか。
0482uY ◆gXFLM6waxs
2012/08/17(金) 22:46:11.830483デフォルトの名無しさん
2012/08/18(土) 01:47:21.81輸出に次いで内需の鈍化も懸念されている。住宅価格の下落とそれに伴う消費や投資の抑制がみられ、バブル崩壊以降日本が苦しんだ
「日本型長期デフレ」の兆候が現れている、との指摘も少なくない。
■好調に見えたのはヒュンダイやサムスンだけ
韓国の輸出は、2012年7月の通関ベースで前年同月に比べて8.8%減と大きく減った。マイナス幅は3年ぶりの高い数値だという。
これまで韓国の輸出をけん引してきた自動車の輸出が頭打ちになったのをはじめ、船舶や石油化学製品、携帯電話など主力製品の輸出が急速に落ち込んだ。
韓国の輸出額は国内総生産(GDP)対比で50%を超える。「輸出国」といわれる日本でもGDP対比では10%半ばだから、輸出依存度の高さは圧倒的だ。
そのため、輸出の不振は即韓国経済の失速に直結する。
なかでも韓国経済を支えてきたのが欧州連合(EU)向けの輸出。EUとは自由貿易協定(FTA)を結んでいる。そのEU向けが12年1〜6月期には前年同期に
比べて16.0%も減った。EU諸国の債務危機から発した景気低迷が影響した。
さらには中国向けも1.2%減った。第一生命経済研究所経済調査部の主任エコノミスト、西?徹氏は、「中国向け輸出の減少はボディブローのように効いています」と話す
。韓国の素材や部品メーカーは中国を介して、間接的にEU向け輸出を増やしてきたからだ。
http://headlines.yahoo.co.jp/hl?a=20120817-00000006-jct-bus_all
0484デフォルトの名無しさん
2012/08/18(土) 03:23:43.89Aの中でBを呼ぶのか、A、Bと順番に呼ぶのかとか、
メソッドの依存関係が適当に作られてると、逆に読みにくくなる場合があるね。
0485デフォルトの名無しさん
2012/08/18(土) 03:26:39.740486デフォルトの名無しさん
2012/08/18(土) 06:14:51.00ながいとバグが
0487デフォルトの名無しさん
2012/08/18(土) 07:19:59.95「俺すげぇぇぇぇぇ」
「馬鹿にはわからないだろな」
をやらなければいいんだよね?
文章と一緒で読者を意識して理解しやすく書けばいい
0488デフォルトの名無しさん
2012/08/18(土) 07:21:04.80気絶しそうになる事も多々あり、お前が勉強するのが筋だドアホ
0489デフォルトの名無しさん
2012/08/18(土) 08:01:51.330491デフォルトの名無しさん
2012/08/18(土) 12:00:58.08つけねぇならuyなのんな
0492uy
2012/08/18(土) 13:12:12.76俺が叶えてやらなきゃいかんのw
0493デフォルトの名無しさん
2012/08/18(土) 13:19:22.180494デフォルトの名無しさん
2012/08/18(土) 13:20:22.75名無しで書き込めやカス
0495デフォルトの名無しさん
2012/08/18(土) 13:24:56.190496uy
2012/08/18(土) 13:29:04.66uYって書いたりトリップつけたりするわwww
0497uY ◆ZnBI2EKkq.
2012/08/18(土) 13:30:31.83俺は、誰と同一人物でしょう?
0498デフォルトの名無しさん
2012/08/18(土) 13:35:45.59誰でもないお初のuY
0499uy
2012/08/18(土) 13:39:43.76なぜそう思った?
トリップは同一人物であることが証明できても、
違う人であるという証明はできないのだ。
0500uy
2012/08/18(土) 13:41:43.90あれは偽物、俺のなりすましな。
ま、証明はできないが。
0501デフォルトの名無しさん
2012/08/18(土) 13:44:14.12素直に同じトリップをつけてればおまえの発言だって確信持てるから
それで十分事足りる
トリなしuyは、全く意味をなさないので名無しにしろ
0502uy
2012/08/18(土) 14:15:55.680503uy
2012/08/18(土) 14:19:28.65金でもくれるのか?wwww
他人はコントロール出来ない。いやならお前が去るしかない。
0504デフォルトの名無しさん
2012/08/18(土) 14:34:05.180505デフォルトの名無しさん
2012/08/18(土) 14:35:50.52uY ◆ZnBI2EKkq.
いまのところ2種確認されている
0506uY ◆GmgU93SCyE
2012/08/18(土) 14:47:23.27違う人物であるか、
そして、俺はその二人もしくは一人と
同一人物か違うのか、
また、俺がuyと同じ人物であるか
違う人物であるか、
そもそもすべてのuyは同一人物か、
さてどうやって見分ける?
0507デフォルトの名無しさん
2012/08/18(土) 14:48:27.370508デフォルトの名無しさん
2012/08/18(土) 14:48:48.05同じことがわかればそれでいいって何度言えばわかるの?
0509デフォルトの名無しさん
2012/08/18(土) 14:51:52.75だったら、統一したトリ入れれば、それの客観性も保てるという、それだけの話
0510デフォルトの名無しさん
2012/08/18(土) 14:52:39.550511uY ◆Kbsfk1dG1s
2012/08/18(土) 15:03:42.300512デフォルトの名無しさん
2012/08/18(土) 15:06:47.58それやったらあれは俺じゃないって言い訳できなくなるから嫌なんでしょ
0513デフォルトの名無しさん
2012/08/18(土) 15:09:01.05つまり所詮逃げ口上作っときたいカスってことだな
0514uy
2012/08/18(土) 15:09:05.91何度言えばわかるの?と言われても、
お前に俺が言われたのは初めてだから
どうしようもないよねw
0515デフォルトの名無しさん
2012/08/18(土) 15:09:53.060516uy
2012/08/18(土) 15:12:56.980517デフォルトの名無しさん
2012/08/18(土) 16:02:58.26OOなら、コードは読まない決めたほうが開発は上手くいくかも。
0518デフォルトの名無しさん
2012/08/18(土) 16:08:30.45バグフィックスや仕様変更があるからなぁ。
それに一年後に適当に自分が書いたソース見てもわからなかったり。
会社としてはシステム保守が人に依存しちゃうから困る。
0519デフォルトの名無しさん
2012/08/18(土) 16:20:00.64/| |
||. |∧_∧|
||. (´・ω・| うわっ、クソスレに来てしまった。
||oと. U|
|| |(__)J|
||/ ̄ ̄
___
| |
| |
| o|
| |
| |
彡 ̄ ̄ パタン、
0520デフォルトの名無しさん
2012/08/18(土) 17:19:04.62バグも継承で直せばコードを読む必要もないし
共通クラスライブラリなんかも普通はコードを読まないでしょう。
なぜ自分の書いたコードだけ読む必要があるのか?
0521uy
2012/08/18(土) 17:20:22.35はっきりした。
お前が馬鹿だから、
お前の言うことは間違っている。
はい、結論。
0522デフォルトの名無しさん
2012/08/18(土) 17:28:40.60privateメソッドバグってたらどうすんの?コピペか、可視性破壊すんのか。
0523520
2012/08/18(土) 17:32:13.11このあたりが理解出来ないんだよな。
0524uy
2012/08/18(土) 17:36:44.27こうやってオリジナルを修正しなくても
修正できるぜとか自慢している馬鹿がいるけど、
本来はオリジナルのコードを直すべき。
0525520
2012/08/18(土) 17:38:57.76全部書き直してもいいし、不具合の出るケースだけ
Adapterパターンで作ってもいい。(そのケースによる)
privateメソッドなんて最初から作成しない。
0527デフォルトの名無しさん
2012/08/18(土) 17:42:34.18中級とか関係ねーよ。上級者でもいえる。
perlとかruby厨に対して言えアホ。
0528uy
2012/08/18(土) 17:44:29.14バグを正しく直すというのは、
バグを修正することであって、
バグを別のコードで覆い隠すことではないから
0529デフォルトの名無しさん
2012/08/18(土) 17:47:30.08継承しても、インスタンス生成とか利用しているところ直さなきゃ駄目だし。
それに不具合だと、どこが原因かも読まなきゃわからないし。
そもそも無闇にクラス増やしたくない。
0530デフォルトの名無しさん
2012/08/18(土) 17:50:26.61で、おまえ誰だよ
0531uy
2012/08/18(土) 17:51:49.63お前こそ誰だよ
0532デフォルトの名無しさん
2012/08/18(土) 18:00:38.560533uY ◆gXFLM6waxs
2012/08/18(土) 18:01:07.54520 :デフォルトの名無しさん:2012/08/18(土) 17:19:04.62
>>518
バグも継承で直せばコードを読む必要もないし
共通クラスライブラリなんかも普通はコードを読まないでしょう。
なぜ自分の書いたコードだけ読む必要があるのか?
SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0534520
2012/08/18(土) 18:02:15.11主観的な意見で論理的ではないですね。
>>529
>継承しても、インスタンス生成とか利用しているところ直さなきゃ駄目だし。
まっ言語によってはそうかもしれないけど、最近の言語ならメタクラスがあるから修正不要でしょう。
このあたりが理解できていない技術者が以外にも多い。
>それに不具合だと、どこが原因かも読まなきゃわからないし。
必ずしもそうでは無いでしょう。不具合が言語やOS・DBなどの場合
根本的な原因が分からない場合、事象だけで対応するし。
それよりコードに手を入れて他の機能でデグレードが出ないか保障出来る?
0535デフォルトの名無しさん
2012/08/18(土) 18:02:19.64本物きたw
0536uy
2012/08/18(土) 18:09:49.38トリップつけてる奴は偽物だぞw
0537デフォルトの名無しさん
2012/08/18(土) 18:11:43.16じゃあ、そう思われないようにトリつけろよ
0538デフォルトの名無しさん
2012/08/18(土) 18:17:49.31そんな特異なケースで一般化してしまっていいものか。
0539デフォルトの名無しさん
2012/08/18(土) 18:19:28.46外からクラスを書き換えるようなメタメタなパッチが大量にできて
そのうちパッチのパッチのパッチみたいなものもどんどん増えて
パッチつくるコストそのものが無尽蔵にあがっていきそう。
でも、実際にそういう運営でプロジェクト走らせて年月がたったらどうなるかは興味ある。
これでうまいことやってるの?
0540デフォルトの名無しさん
2012/08/18(土) 19:16:02.55修正すべきシステムが最近の言語でかかれていないと、読まなきゃなんだね。
必ずしも必要ないのは同意だけど、逆に読まなきゃいけない場合もあるよね。というか、ドキュメントの不備不整合が多いのでソースが必要なことのが多い。
あと、例外でスタックトレースが出てるとか、ソース読まなきゃどうしようもない不具合。
デグレードが起こるかはテストすればわかるだろう。場合によっては関連潜在バグが発覚する。
0541デフォルトの名無しさん
2012/08/18(土) 19:40:22.45A←B←Cという関係でBにバグが見つかったら
その箇所は放置して新規にA←B'←C'にするだけだよ
Cの状態で良いって客もいるから
一度でもリリースしたものは原則として触らない
パッチが存在するとしてもB→B'とC→C'部分だけで
結局最新版のC'が動く状態を維持するだけ
Cの状態で良いって客が仕様を追加してくれとなっても
その時には原因特定できてるからC'←Dとして作るだけ
最近の言語は〜なんて特定機能に依存している手法は
必ず破綻すると断言できる
0542デフォルトの名無しさん
2012/08/18(土) 19:43:42.32そこまで特殊でもないでしょう。
>>539
>パッチつくるコストそのものが無尽蔵にあがっていきそう。
パッチつくるコストも改修するコストもそんなにかわらないとおもうけど。
改修がクラス毎に分かれているから結構扱いやすいよ。
>でも、実際にそういう運営でプロジェクト走らせて年月がたったらどうなるかは興味ある。
>これでうまいことやってるの?
全部じゃないけど(人の作ったクラスだと初めの作りが駄目で、出来ない場合が多い)
それなりに回っている。
>>540
>逆に読まなきゃいけない場合もあるよね。というか、
>ドキュメントの不備不整合が多いのでソースが必要なことのが多い。
絶対読んじゃ駄目ということじゃなく「読む必要がないように作りましょう」という話で
ドキュメントの不備があってもリリース後なんだから詳細設計は分からなくても
機能は分かっているでしょう。
>デグレードが起こるかはテストすればわかるだろう。場合によっては関連潜在バグが発覚する。
でもテストしたプログラムがバグっていることはいくらでもあるでしょう。
テストしたからってデグレードが無い証拠にはならないよと思うけど。
0543uy
2012/08/18(土) 19:55:56.73外から無理やりパッチ当てる方がコストは掛かる。
当たり前の話で外からパッチを上げるには
パッチを当てられるポイントを探さないといけない。
例えば、関数の中の一行書き換えればいいだけの修正でも
関数全体を置き換えないといけなくなる。
そうやって置き換えた関数が将来正しく動くとは限らない。
0544520
2012/08/18(土) 20:11:39.44目くじらを立てる反論するところかな?
0545デフォルトの名無しさん
2012/08/18(土) 20:13:37.73それで?
0546デフォルトの名無しさん
2012/08/18(土) 20:19:03.48>「読む必要がないように作りましょう」
できてないから修正必要になるし読むんだよ。
>機能は分かっているでしょう。
機能だけから作るなら、作り直しになるけど、予算出してくれる?
>テストしたからってデグレードが無い証拠にはならないよと思うけど。
だとしたら継承して書き換えた方がデグレード起こりやすいと思うよ。
よって、継承して修正すべきでないね。
0547デフォルトの名無しさん
2012/08/18(土) 20:37:11.230548デフォルトの名無しさん
2012/08/18(土) 20:46:15.180549uy
2012/08/18(土) 20:51:39.61バグはバグでも仕様のバグ修正だろ
プログラムのバグを継承で隠蔽は怖い
0550デフォルトの名無しさん
2012/08/18(土) 20:52:55.520551デフォルトの名無しさん
2012/08/18(土) 20:56:02.73たぶん、OOで可能な事を強引に推し進めて、これがOOなんだと間違った解釈をしてしまった人だね。
不具合箇所を見ず、設計書から正しいコードをもう一回起こすとか、不具合と向きあってないな。
こういう人を上に立たせると、多分品質管理の面でボロボロになる。間違いない。
0552デフォルトの名無しさん
2012/08/18(土) 20:57:19.28持っておくとか、正気の沙汰とは思えんな
0553デフォルトの名無しさん
2012/08/18(土) 21:28:58.660554デフォルトの名無しさん
2012/08/18(土) 21:30:46.710555デフォルトの名無しさん
2012/08/18(土) 21:53:47.450556デフォルトの名無しさん
2012/08/18(土) 21:54:41.460557デフォルトの名無しさん
2012/08/18(土) 21:59:07.99しかし、それやられたら太刀打ちできないなこの方法じゃw
0558デフォルトの名無しさん
2012/08/18(土) 22:08:48.760559デフォルトの名無しさん
2012/08/18(土) 22:12:18.58どーゆーこどだよw言語上許されないから無理だろ
0560デフォルトの名無しさん
2012/08/18(土) 22:17:05.36たしかにOCPの「修正に対して閉じている」を変なふうに解釈するとそうなるんだよね。
その勘違い自体はありがちだと思うけど、何の疑問も持たずにそのまま突っ走っちゃったみたいだなぁ
0561520
2012/08/18(土) 22:20:26.38逆にこっちがコストがかかる根拠がしりたいけどね。
>>546
>できてないから修正必要になるし読むんだよ。
んぅ...それは自分の技術力に関係しているとは思わない?
>だとしたら継承して書き換えた方がデグレード起こりやすいと思うよ。
根拠は? 修正箇所だけをクラスにすれば影響は最小限になるけど。
>>548
>継承して修正とかどこのOO信者の言葉真に受けたんだ
どのOOLでも継承はあるけどね。
>>549
>バグはバグでも仕様のバグ修正だろ
そんな決まりいつできたの?主観でしょう。
>>551
>多分品質管理の面でボロボロになる。間違いない。
大丈夫です、上手くやっていますよ。
>>552
>バグを内包したクラスをそのままにして、さらにそれをスーパークラスとして
>持っておくとか、正気の沙汰とは思えんな
バグをそのままにしないための継承して修正なんだがら、わかってる?
それに、標準のクラスライブラリにバグがあるかって修正する?
新しいやり方を、主観的な理由で駄目だと言うのは
技術者的にどうなんだろうね。
0562デフォルトの名無しさん
2012/08/18(土) 22:23:23.46ラップじゃね?
0563デフォルトの名無しさん
2012/08/18(土) 22:32:24.330564デフォルトの名無しさん
2012/08/18(土) 22:47:10.62江戸いろはかるたにすらあるダメなことの代表例ですが
0565デフォルトの名無しさん
2012/08/18(土) 22:56:49.58聞いたことないやり方だったんで質問なんだけど
バグがあるコードをそのまま残しておくってことは、
今後そこのコードはメンテしないものになるわけだから、
何か調査してて引っかかってきても、無視しなきゃいけないと思うんだが、
どういう方法で管理してるの?deprecated1とか何かマークを付けておくとか?
あと、そのメソッドは、もう使用されたくないものなわけだから、
つまり、そのクラスをインスタンス化するなって事になるt思うんだけど、
その辺りはどうやって保証していくの?DIコンテナとかを使うことが前提?
0566uY ◆gXFLM6waxs
2012/08/18(土) 23:11:41.67いま何段階くらいバグ修正の為の継承やってるの?
それから、それは何回までは自分の中で許されると思ってる?
0567デフォルトの名無しさん
2012/08/18(土) 23:24:48.46動くものが出来上がるだけ。
ユーザーにとってはそれで充分だが、開発者にとってはすごく不幸なことだと思う。
0568デフォルトの名無しさん
2012/08/18(土) 23:28:35.91>>546
>んぅ...それは自分の技術力に関係しているとは思わない?
人の作ったものも変更しなきゃだから、読む読まないって話になってる。
>根拠は? 修正箇所だけをクラスにすれば影響は最小限になるけど。
コード修正なら最小単位はコードだけど、継承だと最小単位はメソッドだから。元のメソッドを変更するなら本末転倒。
そんなに優秀なら君の書いたプログラムは修正しなくていいんじゃない?
0569デフォルトの名無しさん
2012/08/18(土) 23:30:07.132つ聞いてるぞ。
0570デフォルトの名無しさん
2012/08/18(土) 23:37:43.61その継承の使い方は間違ってないか?
継承でパッチをあてて、そのパッチを更に継承でパッチあてて、そのパッチのパッチに更に...
そして、どうしようも無くなってから元のクラスを修正したら...終わりだよね...人生が...
0571デフォルトの名無しさん
2012/08/18(土) 23:44:24.04継承を知ると、間違った使い方をするという例だなw
で、そういう奴が、オブジェクト指向を叩きだすとw
0572デフォルトの名無しさん
2012/08/18(土) 23:47:21.78嫌味でいってるのではなく、本当に興味がある。
0573デフォルトの名無しさん
2012/08/18(土) 23:52:38.210574デフォルトの名無しさん
2012/08/18(土) 23:53:37.57それならまだいい。
>>520は間違った使い方に有効性を感じてしまっているから始末が悪いw
0575デフォルトの名無しさん
2012/08/18(土) 23:59:58.99継承による「臭い物には蓋」対処法
バグを先祖代々受け継いでいると、そのうち、本当に収拾つかなくなるぞ
悪いことは言わん、スーパークラスのコードをデバッグするんだ
0576デフォルトの名無しさん
2012/08/19(日) 00:00:56.81オブジェクト指向を知らない人間が
どう使おうが、子供だと思って笑って見てようw
0577デフォルトの名無しさん
2012/08/19(日) 00:08:00.550578デフォルトの名無しさん
2012/08/19(日) 00:22:33.21Windows API とか COM とかは 520 みたいな対応の仕方してるよね。
0579デフォルトの名無しさん
2012/08/19(日) 00:35:06.46どう見ても継承が正しいとは思えない局面で継承しろとか、それが正義とばかりに叱咤し始めて
死にそうになりながらコードした経験があるw
0580デフォルトの名無しさん
2012/08/19(日) 00:42:23.77海の真ん中で石油ぶちまけて沈んだ話を思い出した
0581デフォルトの名無しさん
2012/08/19(日) 00:45:54.42ラッパークラスを作って中に閉じ込めるのが正解だろうな
継承だと使い方次第で修正前の中身がはみ出してしまう
0582デフォルトの名無しさん
2012/08/19(日) 00:48:20.85なんで普通しないのかを考えるのはいいと思う
メリット
・ バグったコードは完全な形で残っているので、バグってても問題ない部分はそれをそのまま使えばデグレもおきない
・ ごめん俺じゃこれ以上思い浮かばない
デメリット
・ バグってるコードが、呼べば動作する状態で残される
・ すべてのメソッドについて、継承されることを前提にして組まなければならない
・ パッチ用のサブクラスが際限なく増殖する恐れがある。継承の階層もバグの数だけ増える
・ 普通はしない手法なので、バグ修正ガイドラインを整備し周知し続けないといけない
・ もし1行の修正でもメソッドを丸ごと作り直して、修正箇所がパッチ済みメソッドならさらに新パッチクラスを作らないといけない
・ カプセル化をぶち壊しかねない
・ これをはじめると大本のクラスに手出しできなくなる
個人的には、例に出してる標準ライブラリにモンキーパッチするのは
あくまでチーム外の赤の他人が作って配布してる手出ししづらいものだからであって
自分で作ったものは自分でコントロールできるんだから、バグは消したほうがいいんじゃねと思う
0583デフォルトの名無しさん
2012/08/19(日) 00:59:34.79> 俺は 520 じゃないし、対応の仕方がいいか悪いかは評価しないけど
> Windows API とか COM とかは 520 みたいな対応の仕方してるよね。
してないけど? 一体何の話してるんだ?
0584デフォルトの名無しさん
2012/08/19(日) 01:05:37.66げろってみたら、実はそれ普通じゃなかったていう感じのやつがいるな
世の中のどこにそんなコードが使われてるのか知らんが、
命に関わる部分でないことを切に願う
0585520
2012/08/19(日) 01:31:34.22>何か調査してて引っかかってきても、無視しなきゃいけないと思うんだが、
>どういう方法で管理してるの?deprecated1とか何かマークを付けておくとか?
たしかに不要なコードは悩みどころだけど、クラスが修正毎に階層になっているから
最新から見ていけば修正の意図はわかるよね。
>その辺りはどうやって保証していくの?DIコンテナとかを使うことが前提?
最新のクラスからのみオブジェクトを作ればいいからメタクラスに最新のクラスを設定する。
>>566
>いま何段階くらいバグ修正の為の継承やってるの?
リリースしたものにそんないバグはないでしょう。
確か改修もいれて4階層が一番深かったと思うけど。
>>568
>人の作ったものも変更しなきゃだから、読む読まないって話になってる。
その読む読まないってのがどうなんだろう?
>コード修正なら最小単位はコードだけど、継承だと最小単位はメソッドだから。元のメソッドを変更するなら本末転倒。
"元のメソッドを変更するなら本末転倒" 元のメソッドを変更をしないための継承なんだけど。
>>572
>その方法の有効性を論理的に説明してくれないか?
デグレードを最小限に出来る。既存コードは触らないから新しいプログラムの変更箇所新規クラス部分だけ。
ベース部分(既存)がしっかりしているのは自分には有効だと思える。
>>581
>ラッパークラスを作って中に閉じ込めるのが正解だろうな
それだとクライアント側がどのクラスを使うのか判断しないといけなくなるよね。
0586デフォルトの名無しさん
2012/08/19(日) 01:37:45.64わかりません。
0588デフォルトの名無しさん
2012/08/19(日) 01:45:07.80なんで最新から見ていくんだよw
そんなのするぐらいなら、オリジナルのコードを
修正したほうがよい。
0589uY
2012/08/19(日) 01:50:49.780590デフォルトの名無しさん
2012/08/19(日) 01:55:41.93COM系ライブラリのように、バグはあってもクラス設計は糞で無く、必要なインターフェイスは揃っている前提として
オレの場合はこんな感じか
バグフィックスをしたクラスに対する要望
1.バグフィックスをしたクラスは、それを利用する関数その他で利用可能であって欲しい
2.バグのあるクラスは、提供元ライブラリはしかたないとしても
自分たちの作るコード内に利用できないようにブロックしておきたい。
3.バグのあるクラスは、バグフィックスしたクラスのスーパークラスであってはならない
これは、継承されたクラスが持つべき機能の前提が崩れてオブジェクト指向にならなくなるので
特にオブジェクトの比較などがある所では、バグがバグを呼んでしまう
0591デフォルトの名無しさん
2012/08/19(日) 01:56:46.77interface IBug バグ付きクラスのインターフェイス
class BugClass : IBug バグ付きクラスは、IBugインターフェイスを持っている
これに対して
interface IBugFixed : IBug バグフィックスしたクラスのインターフェイスは IBug を利用している関数から利用可能
class BugFixedClass : IBugFixed
{
BugClass innerObject;
... 以下必要パッチを当てたメソッド類を定義、必要に応じて innerObject を呼び出す
このクラスは直接生成せずに、関数をオーバーライドして継承したクラスだとしても
問題はこのクラスの中に閉じ込められる
}
以下、自分たちで使う時は IBugFixed インターフェイスを使って利用すれば
BugClassから利用することは叶わないからBugClassは利用されないだろう
逆に自分たちの作った BugFixedClass は BugClass のインターフェイスに適合するので
提供元ライブラリに対してそのまま使える
0592デフォルトの名無しさん
2012/08/19(日) 02:07:08.82いや、除外すればいいんだけどさそういうのが増えると効率下がる
0593デフォルトの名無しさん
2012/08/19(日) 02:16:22.72トリ(´・ω・`)
0594デフォルトの名無しさん
2012/08/19(日) 06:29:18.86短いコードは返上して、ソースプログラムだけでバージョン管理はできるか?
というスレに変更しましょう。
0595デフォルトの名無しさん
2012/08/19(日) 06:41:09.88勘弁してください、そんな事をされたら死んでしまいます、ホント
0596デフォルトの名無しさん
2012/08/19(日) 09:20:27.18ユニットテストとか、CVSでいいからバージョン管理システムとか一切使ってないのか?
0597デフォルトの名無しさん
2012/08/19(日) 09:29:14.48>その読む読まないってのがどうなんだろう?
読む読まないの話が不要なら、あなたはこの話に加わる意味がない。
>元のメソッドを変更をしないための継承なんだけど。
だから、元のメソッドを変更しなきゃ、メソッド単位の変更だけで、コード単位の変更はできないでしょ。
0598デフォルトの名無しさん
2012/08/19(日) 10:17:09.79機能を見ずに挙動をみてプログラムや設計をするからすぐに身動き取れないコードと化す
にも関わらず俺凄いとか思いこんでいて困る
0599デフォルトの名無しさん
2012/08/19(日) 14:06:20.290600デフォルトの名無しさん
2012/08/19(日) 14:19:59.182ちゃんねるに書き込みだ!
0601520
2012/08/19(日) 14:22:25.11>コードの中身を見ないって前提だろ。
そんな前提ないけどね。大丈夫?
>そんなのするぐらいなら、オリジナルのコードを修正したほうがよい。
根拠は? あくまでも主観だよね。
>>589
>バージョン管理をソースコードレベルでやっちゃってる
んぅ? 継承がソースコードレベルでしか出来ないと思っている? それとも別の意味?
>>590
>特にオブジェクトの比較などがある所では、バグがバグを呼んでしまう
オブジェクトの比較がなんでバグがバグを呼んでいるんだ? オブジェクトなんだからアドレス比べるだけ、それが?
>>592
>grepで影響範囲調べるんだけど不要なクラスあるとそこで引っかかってめちゃ困る
それはよくわかる。
>>596
>ユニットテストとか、CVSでいいからバージョン管理システムとか一切使ってないのか?
そんなのでデグレードを起こさない理由になるの?
共通クラスライブラリの修正にはパッチを当てて、自分達が作ったクラスは直接修正する理由は?
それとも共通クラスライブラリも修正しているとか?
>>597
>だから、元のメソッドを変更しなきゃ、メソッド単位の変更だけで、コード単位の変更はできないでしょ。
元のメソッドを変更しない為に継承しているんだけどね。なんか凄い思い込みをしているよね。
0602デフォルトの名無しさん
2012/08/19(日) 14:30:20.71それをいうなら、まず先に
お前が根拠をいえ。
お前だって主観だろ。
0603デフォルトの名無しさん
2012/08/19(日) 15:14:26.74>元のメソッドを変更しない為に継承しているんだけどね。なんか凄い思い込みをしているよね。
あるメソッドが、2つの結果をもたらします。しかし、1つは仕様変更でになりました。継承修正では2つとも変更が必要ですね?
あるメソッドが、80行のコードからできてました。仕様変更により1行を変更しなければなりません。継承修正では残りの79行も新たに書くのでデグレードの可能性が高いですね?
0604デフォルトの名無しさん
2012/08/19(日) 15:18:23.630605デフォルトの名無しさん
2012/08/19(日) 16:02:35.36「自分のやり方が正しい、反論してるやつはバカ」
ってんだから、何言ったって蛙の面にションベンだろう
少なくとも俺には、他の誰も認めていない自分理論を振りかざしつつ
>まっOOが分かっていない人間には
>このあたりが理解出来ないんだよな。
なんて台詞、恥ずかしくて吐けない
ていうかもう見ているこっちが恥ずかしい
0606デフォルトの名無しさん
2012/08/19(日) 16:05:25.460607デフォルトの名無しさん
2012/08/19(日) 16:33:52.850608デフォルトの名無しさん
2012/08/19(日) 16:48:50.11実用したら使えないのはすぐわかるだろ。
0609520
2012/08/19(日) 19:55:27.42>お前”だって”主観だろ。
自分が主観だって認めるんだ。
自分が言いたいのはつまり君の技術力なら
それで上手くいくのかもしれないが、他の人は?初心者がやっても同じ結果?っと言うこと。
で、こっちが言っていることはOOPLの機能としての継承だから客観的に見ることが出来るよね。
継承を使う使わないという明確な判断基準があるんだから。
でもソースコードの修正は、どのレベルの人が修正しても同じなの?
良い悪いの前にどうやって評価するの?
>>603
>あるメソッドが、2つの結果をもたらします。しかし、1つは仕様変更でになりました。継承修正では2つとも変更が必要ですね?
必要なし、1つのみ変更。なんで「2つとも変更が必要」と思うのか?
>あるメソッドが、80行のコードからできてました。仕様変更により1行を変更しなければなりません。
>継承修正では残りの79行も新たに書くのでデグレードの可能性が高いですね?
デグレードをなんで行数でくらべるの?
例えば標準クラスライブラリのクラスがバグていて1行修正すれば直りますと。
ただ標準クラスライブラリのクラスだから何十〜千のプログラム・モジュールで使われています。
問題の起きたプログラムだけ継承して修正したクラスを使うのと、標準クラスを修正するのはどっちが
デグレードが少ないですか? っと言う感じでデグレードと行数を直接比べられる?
0610デフォルトの名無しさん
2012/08/19(日) 19:57:26.59以上。
0611デフォルトの名無しさん
2012/08/19(日) 20:18:47.21つまり、それはお前の主観なんだろ?
0612デフォルトの名無しさん
2012/08/19(日) 20:20:20.530613デフォルトの名無しさん
2012/08/19(日) 20:20:48.70おまえに賛同する人間が丸一日で一人も出てこない時点で理解できないかな
あと世界規模で使われる標準ライブラリとプロジェクト内だけの共通クラスを一緒にするのも痛いぞ
これ以上恥の上塗りはやめて消えたほうがよくない?
0614デフォルトの名無しさん
2012/08/19(日) 21:18:41.13短く書いてコメント書かないのは
「こんなもの即理解できて当然。分からないの?ぷ」
っていうメッセージなんだよ。
良くも悪くも
0615デフォルトの名無しさん
2012/08/19(日) 21:21:34.76一言で言うとお前みたいなのがプロジェクトチームにいると回りが死ぬ
0616デフォルトの名無しさん
2012/08/19(日) 21:22:17.97それ、良くも悪くもじゃなくて
悪いところしかないじゃないかw
0617デフォルトの名無しさん
2012/08/19(日) 21:25:22.940618デフォルトの名無しさん
2012/08/19(日) 21:25:38.000619デフォルトの名無しさん
2012/08/19(日) 21:28:49.050620デフォルトの名無しさん
2012/08/19(日) 21:53:35.82お前の頭が悪いだけ。
自分のアホっぷりをコードのせいにすんな、アホ
0621デフォルトの名無しさん
2012/08/19(日) 22:08:34.89具体性のないネタは、ちょっとは反応を得ても続きませんよ。
0622デフォルトの名無しさん
2012/08/19(日) 22:11:28.46ボケが巧けりゃオモシロスレになるんだが発狂するからなw
0623520
2012/08/19(日) 22:14:03.13>継承はバグに蓋をするものではありません。
根拠は?
>>611
>つまり、それはお前の主観なんだろ?
主張は主観をもとに言うもんだよ。
>>613
>あと世界規模で使われる標準ライブラリとプロジェクト内だけの共通クラスを一緒にするのも痛いぞ
それと、デグレードと行数はどう関係するの? 書いている意味が分かってないのかな?
>>615
プロジェクトでは結構重要な役割が多いけどね。
0624デフォルトの名無しさん
2012/08/19(日) 22:20:41.98>プロジェクトでは結構重要な役割が多いけどね。
多分そうだろうとしゃべりっぷりからそう思ってた、オレんトコにも居たし
めちゃくちゃ迷惑だから爆発してくれw
0625デフォルトの名無しさん
2012/08/19(日) 22:31:31.88> 根拠は?
継承をバグに蓋をするために使うとする根拠は?
0626デフォルトの名無しさん
2012/08/19(日) 22:34:44.560627デフォルトの名無しさん
2012/08/19(日) 22:38:09.490628デフォルトの名無しさん
2012/08/19(日) 22:40:39.63逆だよ、只大量にコードするだけで全然勉強していないエキスパートプログラマの末路
0629デフォルトの名無しさん
2012/08/19(日) 22:40:53.41520が独自にひらめいて、チームに強制してるならメンバーご愁傷様でいいんだけど
こんな悪法が広まったら、本気で中国人につぶされるぞ
0630デフォルトの名無しさん
2012/08/19(日) 22:45:16.51やらずに当時の試行錯誤がさらに力技になった果てに520が生まれるって印象。
0632デフォルトの名無しさん
2012/08/19(日) 22:45:59.45じゃあ、なんで継承をバグ潰しに
お前は使ってるんだ。
馬鹿じゃないか。
0633デフォルトの名無しさん
2012/08/19(日) 22:47:02.95なんでそこまでデグレを恐れてるんだろう。普通は隠蔽工作じゃなくてUTとかで対策するのが普通だと思うんだけど。
このへんがなんかほかの誰ともかみ合ってない感じ
0634デフォルトの名無しさん
2012/08/19(日) 22:50:37.93オブジェクト指向はコード修正は行わずコード追加でバグ対応する
ってネットのどっかに書いてあった
もちろん勘違いしたOO信者のセリフなんだけど
そういうのを読んでまにうけたんじゃないかと思ってる
0635デフォルトの名無しさん
2012/08/19(日) 22:52:06.64昔、活用方法の一つとしてあった頃もあるんだよ、1990年代の話
0636デフォルトの名無しさん
2012/08/19(日) 22:56:57.450638デフォルトの名無しさん
2012/08/19(日) 22:59:55.81何をやっても目新しい楽しい時代だったよw
今みたいに仮想テーブル使って呼び出すなんて方式がまだ異端で
メールボックスみたいな物準備して、メッセージのやり取りとか普通にあったんだぜw
0639デフォルトの名無しさん
2012/08/19(日) 23:01:35.58継承でバグフィックスしちゃってるPGは全てやめろ
0640デフォルトの名無しさん
2012/08/19(日) 23:02:00.870641デフォルトの名無しさん
2012/08/19(日) 23:04:50.93オブジェクト指向以外の言語では、ライブラリのバグは自作ライブラリに置き換えるしかなかった
システムのバグはシステム自体を改造して置き換えるしかなかった。
オブジェクト指向はバグのあるクラスだけ、メソッドだけを置き換えるということができ、大いに使える。
そこを否定したらもう原始時代の戻ったほうがいい。
0642デフォルトの名無しさん
2012/08/19(日) 23:06:59.07使わない奴はバカだ。PGやめるか人間やめた方がいい。
0643デフォルトの名無しさん
2012/08/19(日) 23:09:45.96すぐにそれはおかしいだろうという話になったけどな
GNUが活動を活発化し始めた頃でもあって
>>642
もっと合理的な方法使え、継承禁止!
0644デフォルトの名無しさん
2012/08/19(日) 23:14:15.960645デフォルトの名無しさん
2012/08/19(日) 23:17:48.69>デグレードをなんで行数でくらべるの?
経験則と聞いた話。
もし違うなら、問題のあるメソッドだけを上書きしないで、クラス全部書き換えればいいじゃない?
>例えば標準クラスライブラリのクラスがバグていて1行修正すれば直りますと。
あなたの方法は標準のクラスライブラリのような場合に適用されるということですね。しかも、私の知ってる限りのライブラリは直接変更されてる方が多いです。
>問題の起きたプログラムだけ継承して修正したクラスを使うのと、標準クラスを修正するのはどっちが
>デグレードが少ないですか? っと言う感じでデグレードと行数を直接比べられる?
標準クラスを修正した方がデグレード少ないです。不具合があってもいいユーザは、そのまま前バージョン使うので影響も手間もなし。
継承修正とは継承したクラスにコピペプログラミングするわけですね。
一度、設計手法の勉強をしてオブジェクト指向がなぜ必要かを学ぶか、引退することをお勧めします。
0646デフォルトの名無しさん
2012/08/19(日) 23:18:08.20privateメンバとかvirtual付いてないメンバでやってみろよ
0647デフォルトの名無しさん
2012/08/19(日) 23:21:25.76確かにC++はできねぇな。だから再利用性の低い欠陥言語だと思うよ。
ちなみに俺は10年前はC++マスターで大学で俺以上にC++のできる奴は居なかった。
>>643
いやいや合理的でないのはおまえさんだよ。そしてPGをいますぐ引退した方がいい。
0648デフォルトの名無しさん
2012/08/19(日) 23:24:07.62この文に何の意味が
0649デフォルトの名無しさん
2012/08/19(日) 23:24:38.000650デフォルトの名無しさん
2012/08/19(日) 23:24:46.07そして10年後の今腐り果ててしまったんだすね、ご愁傷様w
マジその酷いリテラシなんとかしたほうがいいよ
0651デフォルトの名無しさん
2012/08/19(日) 23:26:41.20昔はC++に精通してたけど新しいパラダイムについていけなくて切羽詰っている
そのためすぐPGを引退したほうがいいなどの発言をする
0652デフォルトの名無しさん
2012/08/19(日) 23:26:49.620653デフォルトの名無しさん
2012/08/19(日) 23:28:43.60まあ確かに意味ないね。大抵は大学入試勉強で忙しくてプログラミング言語習得している奴少ないしなwwww
大学出た後に仕事でどれだけやったかの方が意味あるかもね。
C++は大分わすれちゃったけど、他の言語はかなりいけますよ。
おまえらよりはな。
0654デフォルトの名無しさん
2012/08/19(日) 23:29:22.330655uy
2012/08/19(日) 23:30:01.15てことは30過ぎだよね?30過ぎてまだこんなこといってんの?あたまおかしいんじゃないの?しねば?
0656デフォルトの名無しさん
2012/08/19(日) 23:30:55.34すげぇぇぇぇぇぇぇぇぇぇぇぇ!!!
>>654
すげぇぇぇぇぇぇぇぇぇぇぇぇ!!!
0657デフォルトの名無しさん
2012/08/19(日) 23:32:56.730658デフォルトの名無しさん
2012/08/19(日) 23:34:28.11そう頭おかしいんだよ。人を使う仕事をやれって言われても全部断ってるんで
底辺労働をわざとやっている奇人変人扱いだ。
でも死ぬべきなのはおまえだよ。
0659デフォルトの名無しさん
2012/08/19(日) 23:35:47.00爆発シロと念を込めながらピキピキしながらコーディングだwww
0660デフォルトの名無しさん
2012/08/19(日) 23:37:13.25とり
0661デフォルトの名無しさん
2012/08/19(日) 23:41:29.02おまえらの場合は言語がうまく使えないから人を使うしか生きる術は無いんだろ?同情するよ。
0662デフォルトの名無しさん
2012/08/19(日) 23:44:02.410663デフォルトの名無しさん
2012/08/19(日) 23:51:56.12>だから、元のメソッドを変更しなきゃ、メソッド単位の変更だけで、コード単位の変更はできないでしょ。
>あるメソッドが、2つの結果をもたらします。しかし、1つは仕様変更でになりました。継承修正では2つとも変更が必要ですね?
>あるメソッドが、80行のコードからできてました。仕様変更により1行を変更しなければなりません。
>継承修正では残りの79行も新たに書くのでデグレードの可能性が高いですね?
>継承修正とは継承したクラスにコピペプログラミングするわけですね。
だからね、継承を凄く勘違いしているよね。
継承元のメソッドを呼ぶことができるから
メソッドを一から書く必要はないよ。
0664520
2012/08/19(日) 23:53:38.56663=520
0665デフォルトの名無しさん
2012/08/19(日) 23:54:19.78>継承元のメソッドを呼ぶことができるから
>メソッドを一から書く必要はないよ。
あのぉ、もちろんやらない方法なんだけどさ、かりに継承によってバグフィックスするとして
上書きしたいバグってるスーパーメソッドを呼んでどうすんだよw
0666デフォルトの名無しさん
2012/08/19(日) 23:56:42.33その中でBというクラスを使っています。
Bというクラスにバグがあったので
Cとくクラスを作りました。
でもAというクラスは
Bを使っています。
継承でバグを直せませんでした。
はい論破w
0667デフォルトの名無しさん
2012/08/19(日) 23:58:15.530668デフォルトの名無しさん
2012/08/20(月) 00:00:41.32ファクトリーでBを生成してりゃファクトリのBをCに置き換えるだけでバグフィックスできるけどな。
そういう根本的な設計思想も無いんだろうな。ご愁傷様。
0669デフォルトの名無しさん
2012/08/20(月) 00:01:28.58Aを継承したBというクラスでfooメソッドをコピペしバグを修正しました。
fooメソッドにはもうひとつバグがありました。
Bというクラスにも当然バグが含まれています。
さらにBを継承したCを作ってバグを修正しました。
fooメソッドにはもうひとつバグがありました。
BにもCにも当然バグが含まれています。
さらにCを継承したDを作ってバグを修正しました。
Aというクラスのfooメソッドが修正されました。
しかし、コピペしたからBとCのバグは修正されません。
デスマ 〜 そして伝説へ
0670デフォルトの名無しさん
2012/08/20(月) 00:01:45.72継承でバグフィックスする設計思想など、こちらからお断りです
0671デフォルトの名無しさん
2012/08/20(月) 00:02:36.68すべてのクラスの生成を全部newから
ファクトリーにしろって話?w
ばーかw
0672デフォルトの名無しさん
2012/08/20(月) 00:03:12.07じゃなくて、うまく使いこなせませんでしたって言いたいんじゃないの?
バグの証明するほうが難しいのにね
0673デフォルトの名無しさん
2012/08/20(月) 00:03:39.78原始時代に(・∀・)カエレ!!よ。新しい物を受け入れない奴は化石だ。
0674デフォルトの名無しさん
2012/08/20(月) 00:06:05.21おまえは文系か?なんでΕが∀になる?ファクトリーによる反例を1つ上げただけだお。
0675デフォルトの名無しさん
2012/08/20(月) 00:06:29.670676デフォルトの名無しさん
2012/08/20(月) 00:07:25.07継承でできることは、スーパークラスのメソッドの
前後にコードを挟みこむことができるが、
メソッドの中にあるコードに、処理を挟むことは出来ない。
バグってのは、メソッドの中にあるコードが問題だから
これを直そうとすると、スーパークラスのメソッド全体を
コピペする(か同等のコードを自作する)しかない。
これがどんなに愚かなことかわかるだろう。
0677デフォルトの名無しさん
2012/08/20(月) 00:08:46.19自分で言っといてあほだなあ全てのクラスにバグがないと証明できない以上∀じゃないと意味ないだろ
0678デフォルトの名無しさん
2012/08/20(月) 00:11:35.39そりゃ全部一人で作って一人で統括して管理してりゃ根本から治すけど、
別人が作ったライブラリだったり、バイナリだったりした場合に
継承バグフィックスは恐ろしく役に立つ。javaに限るけどな。C++はキツイ。
0679デフォルトの名無しさん
2012/08/20(月) 00:15:12.07JavaやC#のような全てヒープになっていて
DIコンテナやサイドバイサイドのような本格的サポートがあるなら継承バグフィックスなんて論外だろうし
0680デフォルトの名無しさん
2012/08/20(月) 00:15:41.71全てのクラスにバグが無いと証明する必要があるなら全部ファクトリーにすりゃいいじゃん。
普通の脳ならそんな非現実的なバカな事は考えないので、
よく変更のある(バグが入りやすい)クラスだけファクトリーにするべき。
0681デフォルトの名無しさん
2012/08/20(月) 00:15:49.830682デフォルトの名無しさん
2012/08/20(月) 00:16:11.27お前、部下に直せって指示も出せないの?
0683デフォルトの名無しさん
2012/08/20(月) 00:18:04.08バグが入りやすいと想定してなかったクラスにバグがあったらどうすんだ
そこだけ全newを書き換えてくのか
一貫性ないんだなお前
0684デフォルトの名無しさん
2012/08/20(月) 00:18:09.57そうだよね、標準クラスライブラリにバグがあるって普通は言わないよね
おかしな仕様はたまにあるけど、調べていったら納得する事の方が多いしねぇ
なぜ標準クラスライブラリにバグがあるとか言う奴の話をさらりと受け止められるんだろう?
0685デフォルトの名無しさん
2012/08/20(月) 00:18:40.29よく変更があるのなら、バグが修正されるのも早い
お前の修正継承が、バグの元になるわけだが。
0686デフォルトの名無しさん
2012/08/20(月) 00:19:43.340687デフォルトの名無しさん
2012/08/20(月) 00:21:15.83お前の部下は一生ついてくる忠犬かよ。それにサードパーティのライブラリやら、別会社から提供されるAPI群だったり色々だろ。
つーか継承バグフィックスもしたことないようなママゴトみたいな小プロジェクトしか
やった事無いやつらなのか?
0688デフォルトの名無しさん
2012/08/20(月) 00:21:37.04その中でBという【他人が作った】クラスを使っています。
Bという【他人が作った】クラスにバグがあったので
Cというクラスを自分で作りました。
でもAという【他人が作った】クラスは
Bという【他人が作った】クラスを使っています。
継承でバグを直せませんでした。
そこにファクトリーを入れろって言ってるんですか?w
はい論破w
0689デフォルトの名無しさん
2012/08/20(月) 00:22:36.22> お前の部下は一生ついてくる忠犬かよ。
?
部下は一生ついてくる忠犬じゃないですけど、
部下に指示出しますよ?
あなたは部下に指示を出さないということですね?www
0690デフォルトの名無しさん
2012/08/20(月) 00:23:40.11未熟な時期は自分以外のところに問題があると思うから
ある程度はしかたないことだけど
それをわからせる人が回りにいないことのほうが不幸なのかも
0691デフォルトの名無しさん
2012/08/20(月) 00:23:47.66おまえは文系かよ。なんでΕが∀になるんだ?
0692デフォルトの名無しさん
2012/08/20(月) 00:23:56.56恐らくあなたという存在の話を聞いていたらプロジェクトを崩壊させかねない爆弾だからそういう事態になっているのかとw
0693デフォルトの名無しさん
2012/08/20(月) 00:24:43.35最初に質問を繰り返しますね。
お前、部下に直せって指示も出せないの?
0694デフォルトの名無しさん
2012/08/20(月) 00:30:51.88意味の無い質問に答える必要はないね。
部下に直せって言うレベルの小プロジェクトなんか問題外だ。
外部の会社の提供するAPI群のバグフィックスが主だろ?
例えばjavaのライブラリってバグあるから継承バグフィックスする事は多い。
0695デフォルトの名無しさん
2012/08/20(月) 00:32:19.99小プロジェクトなんですね!
笑うところですかここはwwww
0696デフォルトの名無しさん
2012/08/20(月) 00:33:31.33デスマーチプロジェクトは規模拡大で解決せよって事ですね、分ります!
0697デフォルトの名無しさん
2012/08/20(月) 00:34:30.61元ソースがいじれる状態にて、
バグのあるクラスを修正して使うのと、
バグのあるメソッドを上書きしたクラスを使うのと、
ソースが増えて管理がし辛くなる以外にいったい何の差があるの?
0698デフォルトの名無しさん
2012/08/20(月) 00:34:57.940699デフォルトの名無しさん
2012/08/20(月) 00:38:21.94なんでバグ直すための継承クラスが0.1%〜1%増えた程度で規模拡大になるんだアホか。
>>698
おまえは文系か?なんで∃が∀になるんだ。文系はPGやるなよバグの温床で迷惑だから。
0700デフォルトの名無しさん
2012/08/20(月) 00:40:01.820701デフォルトの名無しさん
2012/08/20(月) 00:42:01.80∃が∀になるような文系は文字通りお話にならんね。
で、あなたのご自慢のコミュ力はどの程度ですか?
0702デフォルトの名無しさん
2012/08/20(月) 00:42:30.730703デフォルトの名無しさん
2012/08/20(月) 00:43:29.37∃゜∀゜E ウヒョヒョヒョ
∃゜∀゜E ウヒョ ウヒョ
0704デフォルトの名無しさん
2012/08/20(月) 00:45:53.11以上。
0705デフォルトの名無しさん
2012/08/20(月) 00:47:16.71おまえも∃が∀になるようなアホだな。
だめだなんでこのスレはバカ文系ばっかなんだ?
0706デフォルトの名無しさん
2012/08/20(月) 00:49:55.130707デフォルトの名無しさん
2012/08/20(月) 00:50:44.21それがなんで>>704のように∀ 全てに一般化されたものとして否定するんだ?
つまりおまえらはアホということですか?
0708デフォルトの名無しさん
2012/08/20(月) 00:52:10.850709デフォルトの名無しさん
2012/08/20(月) 00:53:39.00好きにしろ、そんでもって収拾つかなくなって詰んどけ
0710デフォルトの名無しさん
2012/08/20(月) 00:56:48.220711デフォルトの名無しさん
2012/08/20(月) 00:57:38.400712デフォルトの名無しさん
2012/08/20(月) 01:01:41.710713デフォルトの名無しさん
2012/08/20(月) 01:03:39.89世の中の悪の根源は文系だと思い知らされるわ。
0714デフォルトの名無しさん
2012/08/20(月) 01:08:08.870715デフォルトの名無しさん
2012/08/20(月) 01:10:58.99十分条件(xならばy)がいつのまにか必要十分条件(xならばyかつ yならばx)に脳内変換されるっていうのも文系脳。
0716デフォルトの名無しさん
2012/08/20(月) 01:14:48.840717デフォルトの名無しさん
2012/08/20(月) 01:16:15.03この流れ精神分裂の人と話している気分になれるw
0718デフォルトの名無しさん
2012/08/20(月) 01:18:26.54∃:存在する
∀:全て
と置換して読むと精神分裂の人の言葉が分るよw
0719デフォルトの名無しさん
2012/08/20(月) 01:26:03.84それは文字の成因であって、通常の解釈は
∃:ある一つについて〜がいえる
∀:全てについて〜がいえる
という使い方をするんだよ。中学で習うべきだな。
つうか記号を使ってないだけで中学の数学でも使っている当たり前の概念だけど。
0720デフォルトの名無しさん
2012/08/20(月) 01:28:42.35絶対いらねぇwww
「または」、「かつ」、無限を扱わないなら、これだけで十分だよ
0721デフォルトの名無しさん
2012/08/20(月) 01:29:55.80継承でバグ修正とか言ってる奴は馬鹿
0722デフォルトの名無しさん
2012/08/20(月) 01:34:28.37背理法は中学で習うだろ。いつのまにか∃と∀は使ってんだよ。
0723デフォルトの名無しさん
2012/08/20(月) 01:36:26.98唐突になんだよ。継承バグフィックスもやったことないゴミプログラマですと宣言してるようなもんじゃん。
0724デフォルトの名無しさん
2012/08/20(月) 01:38:42.08それがないと問題発生する時に考えりゃいいんだよ
それまでは a かつ b かつ c ... で上等
0725デフォルトの名無しさん
2012/08/20(月) 01:41:09.35ボタンがおかしくなるバグを継承バグフィックスしたもんですよ。
(文系脳に断っておくけどこれは一例だからな)
public class BugFixedButton extends JButton {
public BugFixedButton() {
setDefaultCapable(false);
}
}
0726デフォルトの名無しさん
2012/08/20(月) 01:42:43.19いくら俺は正しいんだって叫んでも認められる事は無いから、もうね・・・
0727デフォルトの名無しさん
2012/08/20(月) 01:45:15.20文系どもから認められなくて、村八分になった俺が泣いちゃうとでも思ってるのか?
この田舎物。
0728デフォルトの名無しさん
2012/08/20(月) 01:45:59.54継承によるバグフィックスに対して、一つのテクニックと見なし普通にやってしまう
ソフトウェア設計者とは、絶対に一緒に仕事をしたくない
0729デフォルトの名無しさん
2012/08/20(月) 01:51:48.67おまえらは自尊心過剰で真理さえも捻じ曲げるのだ。
そんなバカ達に認められない事は光栄なことだw
0730デフォルトの名無しさん
2012/08/20(月) 01:55:11.230731デフォルトの名無しさん
2012/08/20(月) 02:02:01.41スーパーハード業界へ行けよ。そんな業界無いけどな。
0732デフォルトの名無しさん
2012/08/20(月) 02:03:52.03魔術というなら、テンプレートメタプログラミングみたいに参加する者皆驚愕のレベルが欲しいトコロ
0733デフォルトの名無しさん
2012/08/20(月) 02:08:29.480734デフォルトの名無しさん
2012/08/20(月) 02:16:58.940735uY ◆gXFLM6waxs
2012/08/20(月) 02:21:24.55「クラスに対しての継承」なんてものはもう古いんだよ、俺ほとんどそれはやらないし、Mix-inの効率は理解した
継承関係のようなものが欲しいとしてもやはりそれはmoduleのMix-inで実現すべき
オブジェクトつまりインタンスに対してのMix-inがこれからは主流になる
これの方が拡張性も柔軟性もはるかに高い
出来ない言語は今すぐしぬべき
0736デフォルトの名無しさん
2012/08/20(月) 02:23:17.91バグフィクス指向なあなたは-70%くらい使えてそうですね。
なんで、ooやclassという言葉が使われてるか理解できないんだろうなぁ。
0737デフォルトの名無しさん
2012/08/20(月) 02:28:53.82自業自得で勝手にデスマーチやってるのが目に浮かびますわ。
0738uY ◆Kbsfk1dG1s
2012/08/20(月) 02:36:58.88そのメソッドがメソッドの外部の変数に対して破壊的操作をしてない事が確定してないと無理だし
グローバル変数だけじゃなく、例えばクラスのメンバ変数に対しての破壊的操作もダメだし、
すべてを参照などの引数で渡してる事になる
そしてそのコーディング規則をプロジェクト全体で完全に守っていないといけない
間違ってメソッド外部の変数への、書き込みは行わない & 行ってしまったら検知する
くらいのシステムは作られていますか?
それが出来ているなら有り
0739デフォルトの名無しさん
2012/08/20(月) 02:38:08.79まあ、そこまで管理するなら、スーパークラス直したい
0741デフォルトの名無しさん
2012/08/20(月) 02:47:07.120742デフォルトの名無しさん
2012/08/20(月) 02:59:52.47新しくもないし普通に誰もがやっている事だろ。
そんな事も知らない人たちの、ここは田舎者の寒村スレなのかもしれないが
まあそんなド田舎者を罵倒している俺も相当アホだが。
0743uy
2012/08/20(月) 03:02:15.63オラワクワクしてきたぞ
0744デフォルトの名無しさん
2012/08/20(月) 06:53:41.63C#はスタックにデータもてるよ
構造体変数はスタックに置かれる
0745デフォルトの名無しさん
2012/08/20(月) 07:01:01.34それは関係ないでしょう、ヒープと同様に扱えるならば。
障害になるのは実装方法ではなくインターフェイス
インターフェイスがヒープならそれはプログラムからみて何時でもヒープ。
具体的実装方法ばかり考えていると520のように抽象的な思考ができなくなってしまいますよ
0746uy
2012/08/20(月) 07:11:14.77動的伸縮できるならまだしも有限とかアホじゃないの
0747デフォルトの名無しさん
2012/08/20(月) 07:30:13.88構造化プログラミングに置いてサブルーチン概念を効率よく実装する方法として提案され、それ以降のCPUに採用された。
RISCが搭乗してスタックのような複雑な物を実装するよりも
スタックを実現可能な単純な命令セットを高速に実行した方がパフォーマンスが上げられると判明、
コンパイラにもそれができるだけの技術的・メモリー的余裕ができてからはx86系などのレガシー対応が必要無いCPUからは再び消失した。
それまでは、gotoだけでサブルーチンをプログラマが頑張って作っていた。
さて、gotoだけでオブジェクト指向などという概念も無い時代に繰り返し使うルーチンの実現はかなり高度なプログラミングだが、
無知から始めるなら、このスレッドには何人がサブルーチンを実現できるだけの技量があるか見ものではあるw
あとからならアホとでもバカとでも言えますがねぇ
0748デフォルトの名無しさん
2012/08/20(月) 07:30:48.36このスレに関係ある話っすか
0749デフォルトの名無しさん
2012/08/20(月) 07:50:09.370750デフォルトの名無しさん
2012/08/20(月) 07:57:51.87C言語でいうところのswitch文。使っていいのは、ここまで。
gotoの戻り値の変更は不能という条件でよろしく。
0751デフォルトの名無しさん
2012/08/20(月) 09:32:25.68じゃあ、何指向?
0752デフォルトの名無しさん
2012/08/20(月) 09:38:20.390753デフォルトの名無しさん
2012/08/20(月) 09:51:46.74VBScriptのClassが面白いなぁ
0754デフォルトの名無しさん
2012/08/20(月) 10:06:06.130755デフォルトの名無しさん
2012/08/20(月) 10:31:46.960756デフォルトの名無しさん
2012/08/20(月) 15:28:26.44gotoのみで呼び出し側に戻る方法がわからん。
10 a=0:b=0
20 goto 1000
30 a=1:b=1
40 goto 1000
50 a=0:b=2
60 goto 1000
70 end
1000 if a=0 then print "A"
1010 if a=1 then print "B"
1010 if a=2 then print "C"
2000 if b=0 then 30
2010 if b=1 then 50
2010 if b=2 then 70
2000行目以降の戻り値をプログラムで持たないとダメってことかね?
basicだと、gosub-return命令あったからなあ
0757デフォルトの名無しさん
2012/08/20(月) 17:58:09.96まず、配列をスタック代わりに利用するアルゴリズムを考える
つぎに、配列に戻り先用のヒントになる数値を入れてgotoで処理先にとぶ
サブルーチンから、サブルーチンに飛ぶ場合は、必ずスタック用の配列に戻り先のヒントを入れる
リターンは、スタック用の配列からヒントを取り出し
on s(last) goto 100,200,300
で対応...ただ、面倒臭いねぇ...
0758デフォルトの名無しさん
2012/08/20(月) 18:09:35.350759デフォルトの名無しさん
2012/08/20(月) 18:10:53.45ただサブルーチンからサブルーチンをコールする考慮が抜けていたので
結局、自前でスタック管理しないといけないわけだね。
0760デフォルトの名無しさん
2012/08/20(月) 20:48:29.94アセンブラなら間接ジャンプ命令ぐらい使えるだろ
0761デフォルトの名無しさん
2012/08/20(月) 21:59:42.99そんなに必死に自己肯定せんでも大丈夫だよ
明らかにあかん方法だから
0762デフォルトの名無しさん
2012/08/20(月) 23:09:02.41当時の混迷ぶりは手に取るように分るね
0763デフォルトの名無しさん
2012/08/20(月) 23:55:04.11時代変って昔gotoを使ったプログラムが書けない奴は能力不足と言い放っていた人は居た訳ですが
現在も健在です、勘弁してほしい所ですが偉い人にも結構いますw
0764デフォルトの名無しさん
2012/08/21(火) 00:40:22.16多重ループからの抜け出し処理でgoto使う人は、まだいそうだな。
0765デフォルトの名無しさん
2012/08/21(火) 00:42:03.77それとこれは別の話でいいよね?
0766デフォルトの名無しさん
2012/08/21(火) 00:46:40.890767デフォルトの名無しさん
2012/08/21(火) 00:51:25.24わかってて書きました
ごめんなさい
0768デフォルトの名無しさん
2012/08/21(火) 00:56:15.150769デフォルトの名無しさん
2012/08/21(火) 01:13:34.17はい、その通りだと思います。
0770デフォルトの名無しさん
2012/08/21(火) 01:16:52.340771uy
2012/08/21(火) 02:01:48.27今まで一度も書いたこと無いんだけど
多くの場合において実はそれって別の書き方あるんじゃね?って思う
0772デフォルトの名無しさん
2012/08/21(火) 02:10:42.090773デフォルトの名無しさん
2012/08/21(火) 02:11:24.69for(i=0; i<=10; i++){
...
for(j=0; j<=10; i++){
...
for(k=0; k<=10; i++){
...
if(iku == true)
technobreak; // 何重ループでも余裕
}
}
}
0775デフォルトの名無しさん
2012/08/21(火) 04:08:43.04C#などでは割とやりやすい
void MyLoopProcess()
{
foreach(LoopIndex index in LoopIndex.Enumerate())
{
if(...) break;
}
}
struct LoopIndex
{
public int i,j,...;
public static IEnumerable<LoopIndex> Enumerate()
{
for(int i = 0; i < I ; ++j)
for(int j = 0; j < J ; ++j)
...
yield return new LoopIndex{ i = i , j = j ... }
}
}
0776デフォルトの名無しさん
2012/08/21(火) 07:53:05.63何が明らかにあかんだよ。おまえは明らかにアカンじゃないか。
>>725みたいにバグを修正して先に進めばいいところを
SUNやオラクルに問い合わせて返事が来ないから仕事を進められませんとか
他人が悪いからできないと自己肯定しているような愚図であるお前はさっさとこの業界から去れ。
0777デフォルトの名無しさん
2012/08/21(火) 07:57:02.64そう思えてきたな。
0778デフォルトの名無しさん
2012/08/21(火) 08:19:33.370779uY ◆gXFLM6waxs
2012/08/21(火) 10:13:30.00仕事で採用するような余裕があるんなら
それはそれでいいだろ
部外者のお前らが何かいう事じゃない
ありきたりな設計とプログラミングしか考えられない奴はただの社畜
0780デフォルトの名無しさん
2012/08/21(火) 10:19:26.062chで日本のITを俯瞰出来るとは、2chもメジャーになったな。
0781デフォルトの名無しさん
2012/08/21(火) 10:38:04.090782aa
2012/08/21(火) 11:17:10.193重以上の多重ループの場合、最内ループ内の処理で、内側2つ分のループ処理をキャンセルしたい場合
1つはbreakで脱せるが、2つ目はbreakしたことをフラグ等で管理しないといけない、ってケースで悩んだことあるな。
int cnt = 0;
for(int a=0;a<100;a++) {
boolean flag = false;
for(int b=0;b<100&&!flag;b++) {
for(int c=0;c<100&&!flag;c++) {
if ( isBingo(a,b,c) ) {
cnt++;
flag = true;
break;
}
}
}
}
かならず最初のループに戻る場合なら、これでいいが、1つ外側のループに戻る場合もあるとか、さらにループ階層が多重になった場合、管理できなくならない?
その点、GOTOを使うとすっきりするとは思うけど・・・
int cnt = 0;
for(int a=0;a<100;a++) {
LABEL_JUMP:
for(int b=0;b<100;b++) {
for(int c=0;c<100;c++) {
if ( isBingo(a,b,c) ) {
cnt++;
goto LABEL_JUMP;
}
}
}
}
0783デフォルトの名無しさん
2012/08/21(火) 11:48:00.75すっきりしないよ、もう多重ループが深すぎるという段階で
ループネスト数を減らす処置をしないと、余程ループの中身が単純でも無い限りは混沌としてしまう。
0784デフォルトの名無しさん
2012/08/21(火) 12:45:11.84こういう制御フローを逆に戻るようなgoto使う奴がいるから
禁止にされるんだろうな
0785デフォルトの名無しさん
2012/08/21(火) 12:50:51.66for(int a=0;a<100;a++) {
for(int b=0;b<100;b++) {
for(int c=0;c<100;c++) {
if ( isBingo(a,b,c) ) {
cnt++;
goto LABEL_JUMP;
}
}
}
LABEL_JUMP:
}
これなら許せる
0786デフォルトの名無しさん
2012/08/21(火) 12:52:32.890787デフォルトの名無しさん
2012/08/21(火) 12:59:39.95コンパイルエラーにすれば良いのにな
0788デフォルトの名無しさん
2012/08/21(火) 13:01:39.20そこまでやるなら素直に、continue / break に拡張施すのが正解だろ
0789デフォルトの名無しさん
2012/08/21(火) 13:01:47.02下の奴は無限ループ発生しそうな典型的なコードに見える
0790デフォルトの名無しさん
2012/08/21(火) 13:08:58.60実行手順を意識し過ぎているんだ
int cnt = 0;
for(int b=0;b<100;b++) {
for(int c=0;c<100;c++) {
for(int a=0;a<100;a++) {
if ( isBingo(a,b,c) ) {
cnt++;
break;
}
}
}
}
0791デフォルトの名無しさん
2012/08/21(火) 13:14:40.640792デフォルトの名無しさん
2012/08/21(火) 13:17:25.27if (c == 100) {c = 0; b += 1; }
if (b == 100 {b = 0; a += 1;}
return a == 100;
}
的な関数を作って
while (count_up(a, b, c)) {
if (isBingo(a, b, c)) { cnt++; }
}
とかした方がいいんじゃないの
0793デフォルトの名無しさん
2012/08/21(火) 13:31:03.62何で素直に書けない奴多いんだ?
int cnt = 0;
for(int a=0;a<100;a++) {
if(0 == check_value(a))
cnt++;
}
int check_value(int a){
for(int b=0;b<100;b++) {
for(int c=0;c<100;c++) {
if ( isBingo(a,b,c) ) {
return 0;
}
}
}
return -1;
}
0794デフォルトの名無しさん
2012/08/21(火) 13:33:10.500795デフォルトの名無しさん
2012/08/21(火) 13:43:11.630796デフォルトの名無しさん
2012/08/21(火) 14:06:32.54ループ変数がこれだけで済んでるならそれで正解だね
話の流れ的にもっと多段になってくると for を回している部分がバラバラになって
メインテナンス性が落ちてくるので考える必要があるかも知れない。
0797デフォルトの名無しさん
2012/08/21(火) 14:48:11.08正解な訳あるかアホ
意味的に全くの誤り
小手先のテクニック
0798uY
2012/08/21(火) 18:51:21.30イテレータ使いこなせてない奴って
ソースコードですぐに分かる
for文() インクリメント() 使ってる時点でダメなんだよ
0799デフォルトの名無しさん
2012/08/21(火) 20:19:13.31わざわざ使う必要ないケースもあるわけだ
0800デフォルトの名無しさん
2012/08/21(火) 20:21:36.35└─‐┐ナ┐┌┘ _ ヘ____
/./┌┘└┬┘└┼────┘ロコ┌i
</  ̄L.l ̄ ̄L.lL.! ┌┘|
_,,:-ー''" ̄ ̄ ̄ `ヽ、
,r'" `ヽ.
__,,::r'7" ::. ヽ_
_____ ゙l | :: _ノ ヘ_ ゙) 7
/`ー---‐^ヽヽ`l :: __ ____ /ノ )
l::: lヾミ,l _;;r';; ;;ヽ ん';; ヽ ヒ-彡|
_ ,--、l::::. ノ〉"l,_l "|!!;; O;;!〉;.:) f'<!;O; ;;;!|= ゙レr-{
,--、_ノ:: `ー':: 、ミー---‐,,l| ヽ"::::''`ー-‐'´.::;i, i `''-‐' r';' }
,/ ::: i ̄ ̄ | ゙N l ::. ....:;イ;:' l 、 ,l,フ ノ|
/:::::::. l::: l::::::: l. |_i"ヽ;:...:::/ ゙'''=-='''´`ヽ. /i l"
l:::::::::::. l::: !:: |::::::: l .| ::゙l ::´ヽ---‐-‐-‐---/` ,il"..|'". .
|:::::::::l:::: l::: |:: l::::: l .{ ::| 、 ::\二二二二/, il |
|::::::::::l:::. }::: l:::::,r----- l/ト、 :|. ゙l;: ::=====: ,i' ,l' ノト、
ヽ::::::::l:::: ト:;;;;;;;/-/__........... / .| \ゝ、゙l;: ,,/;;,ノ;r'" :| \
\::::`ー‐' / l__l;;;;;;;;;;;/' | `''-、`'ー--─'";;-'''" ,| \
0801520
2012/08/21(火) 20:39:18.31継承によるコード再利用は、元のコードがOOで設計させていないと適用しにくい。
そもそもOOが出来ない人なんだね。
>だから、元のメソッドを変更しなきゃ、メソッド単位の変更だけで、コード単位の変更はできないでしょ。
>あるメソッドが、2つの結果をもたらします。しかし、1つは仕様変更でになりました。継承修正では2つとも変更が必要ですね?
>あるメソッドが、80行のコードからできてました。仕様変更により1行を変更しなければなりません。
>継承修正では残りの79行も新たに書くのでデグレードの可能性が高いですね?
>継承修正とは継承したクラスにコピペプログラミングするわけですね。
だからこんな、わけのわからに事ばかり書くんだ。
>>666
オブジェクトはクラスからしか生成出来ないと思っているよね。
標準ライブラリは出来て、自分の作ったクラスには適用出来ないのはなぜ?
標準ライブラリはOOで正しく設計いるけど、自分の作ったクラスはOOの設計がなっていないと言う事。
結論として
継承による改修は出来ない (前提条件:OOの設計が出来ていないソースコード)
継承による改修は出来る (前提条件:OOの設計が出来ているソースコード)
ということで、前提条件付きで両方正しいが結論だね。
0802デフォルトの名無しさん
2012/08/21(火) 20:44:00.26>継承修正とは継承したクラスにコピペプログラミングするわけですね。
極端な馬鹿を例にだすなw
0803デフォルトの名無しさん
2012/08/21(火) 20:45:17.86(
,, ) )
゙ミ;;;;;,_ (
ミ;;;;;;;;、;:..,,.,,,,,
i;i;i;i; '',',;^′..ヽ
゙ゞy、、;:..、) }
.¨.、,_,,、_,,r_,ノ′
/;:;":;.:;";i; '',',;;;_~;;;′.ヽ
゙{y、、;:...:,:.:.、;:..:,:.:. ._ 、}
".¨ー=v ''‐ .:v、,,、_,r_,ノ′
/;i;i; '',',;;;_~⌒¨;;;;;;;;ヾ.ミ゙´゙^′..ヽ
゙{y、、;:...:,:.:.、;:..:,:.:. ._ .、) 、}
".¨ー=v ''‐ .:v、冫_._ .、,_,,、_,,r_,ノ′
/i;i; '',',;;;_~υ⌒¨;;;;;;;;ヾ.ミ゙´゙^′.ソ.ヽ
゙{y、、;:..ゞ.:,:.:.、;:.ミ.:,:.:. ._υ゚o,,'.、) 、}
ヾ,,..;::;;;::,;,::;):;:;:; .:v、冫_._ .、,_,,、_,,r_,ノ′
0804デフォルトの名無しさん
2012/08/21(火) 20:56:02.28標準ライブラリ手出しするような非常事態になったら、第三者はモンキーパッチで一時的に逃げるしかないから仕方なくそうしてるだけで
ベストプラクティスだからやってんじゃないんだよ。ソースに手出しできるライブラリのメンテナならソースを直接いじる。
っていうかやってることは処理を上書きしてるだけだから、OOもクソもないそれこそモンキーな手法。
百歩譲って、オプソ言語の標準ライブラリの開発元が、元のソースのバグを完全放置して
継承パッチだけでしのいでるプロジェクト例を出してみたら、標準ライブラリの例も少しは受け入れられるんじゃね。
お前のプロジェクト以外で
0805デフォルトの名無しさん
2012/08/21(火) 20:57:18.14/∵∴∵∴\
/∵∴∵∴∵∴\
/∵∴∴,(・)(・)∴|
|∵∵/ ○ \|
|∵ / 三 | 三 | / ̄ ̄ ̄ ̄ ̄
|∵ | __|__ | < 馬鹿みたい
\| \_/ / \_____
\____/
0806デフォルトの名無しさん
2012/08/21(火) 21:15:59.07動かすってことを前提に考えないと
0807デフォルトの名無しさん
2012/08/21(火) 21:16:53.89/ | \
|
|
|
|
┏┓ ┏━┓ ┏┓
┃┗━┓ ┏┓ ┗┓┃ ┏┛┗━┓ ┏┓
┃┏━┛ ┏┛┗━┓┃┃ ┗┓┏━┛ ┏┛┗━━━┓
┃┃ ┗┓┏┓┃┗┛ ┏┛┃┏━┓ ┗┓┏━━┓┃
┏━┛┗━┓ ┏┛┃┃┃ ┏━━┓ ┃┏┛┗━┛ ┏┛┃┏━┛┃ ┏━━┓
┃┏┓┏━┛ ┗━┛┃┃ ┗━┓┃ ┃┃┏┓ ┗┓┃┃┏┓┗┓ ┃┏┓┃
┃┗┛┃ ┏┛┃ ┏┛┃ ┃┃┃┗━┓ ┃┃┃┗┛┏┛ ┃┗┛┃
┗━━┛ ┗━┛ ┗━┛ ┗┛┗━━┛ ┗┛┗━━┛ ┗━━┛
0808デフォルトの名無しさん
2012/08/21(火) 21:21:21.950809デフォルトの名無しさん
2012/08/21(火) 21:25:03.42動くものを作っても、動くのは前提条件なので、それだけでは評価はあがりも下がりもしません
0810デフォルトの名無しさん
2012/08/21(火) 21:29:32.54俺は馬鹿なんで良く分からないが...
不用意な継承は望まない結果を生む原因になるので、想定された継承以外での継承はしない方が良いと思うのだが
0811デフォルトの名無しさん
2012/08/21(火) 21:35:53.20ダメ出しされる理由探しに勤しんでるのかな?
0812デフォルトの名無しさん
2012/08/21(火) 21:42:56.180813デフォルトの名無しさん
2012/08/21(火) 21:46:41.08ooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。
ooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。
vvooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。
ooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。v
ooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。
ooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。
ooで設計してるなら、設計に出てこないクラス増やすなよ。実装バグフィクスのために。
0814デフォルトの名無しさん
2012/08/21(火) 21:55:00.62これはOK?
0815デフォルトの名無しさん
2012/08/21(火) 22:09:48.13オブジェクトのインターフェースってのはプログラム同士の契約だろ
相手先のオブジェクトが何を求めていて、何をサポートすれば良いかなんて
一般論で分かるはずが無い。
オブジェクトに接続する側はインターフェースの振る舞いは想定するが
実装がどうなっているかなんてことには無関係だ。
正しく動くオブジェクトを作るには、自分だ提供するオブジェクトが
相手が期待する振る舞いを出来るようにするしか無い
元のオブジェクトをラップしてインターフェースを委譲して
大丈夫かどうかは自分たちで確認する以外に無いし
それを設計論で答えを出そうとすることがバグってる。
0816デフォルトの名無しさん
2012/08/21(火) 22:12:32.95オブジェクトのインターフェースってのはプログラム同士の契約だろ
相手先のオブジェクトが何を求めていて、何をサポートすれば良いかなんて
一般論で分かるはずが無い。
オブジェクトに接続する側はインターフェースの振る舞いは想定するが
実装がどうなっているかなんてことには無関係だ。
正しく動くオブジェクトを作るには、自分だ提供するオブジェクトが
相手が期待する振る舞いを出来るようにするしか無い
元のオブジェクトをラップしてインターフェースを委譲して
大丈夫かどうかは自分たちで確認する以外に無いし
それを設計論で答えを出そうとすることがバグってる。
0817デフォルトの名無しさん
2012/08/21(火) 22:12:48.41オブジェクトのインターフェースってのはプログラム同士の契約だろ
相手先のオブジェクトが何を求めていて、何をサポートすれば良いかなんて
一般論で分かるはずが無い。
オブジェクトに接続する側はインターフェースの振る舞いは想定するが
実装がどうなっているかなんてことには無関係だ。
正しく動くオブジェクトを作るには、自分だ提供するオブジェクトが
相手が期待する振る舞いを出来るようにするしか無い
元のオブジェクトをラップしてインターフェースを委譲して
大丈夫かどうかは自分たちで確認する以外に無いし
それを設計論で答えを出そうとすることがバグってる。
0818デフォルトの名無しさん
2012/08/21(火) 22:13:00.08オブジェクトのインターフェースってのはプログラム同士の契約だろ
相手先のオブジェクトが何を求めていて、何をサポートすれば良いかなんて
一般論で分かるはずが無い。
オブジェクトに接続する側はインターフェースの振る舞いは想定するが
実装がどうなっているかなんてことには無関係だ。
正しく動くオブジェクトを作るには、自分だ提供するオブジェクトが
相手が期待する振る舞いを出来るようにするしか無い
元のオブジェクトをラップしてインターフェースを委譲して
大丈夫かどうかは自分たちで確認する以外に無いし
それを設計論で答えを出そうとすることがバグってる。
0819デフォルトの名無しさん
2012/08/21(火) 22:16:43.090820デフォルトの名無しさん
2012/08/21(火) 22:27:59.390821uY
2012/08/21(火) 22:28:10.57def func n
p "abc" + n
end
end
a = A.new
p a.func(3) rescue p $!
class B < A
def func n
p "abc" + n.to_s
end
end
b = B.new
b.func(3)
なくはない
0822デフォルトの名無しさん
2012/08/21(火) 22:30:25.950823デフォルトの名無しさん
2012/08/21(火) 22:32:21.120824デフォルトの名無しさん
2012/08/21(火) 22:32:52.030825uY
2012/08/21(火) 22:33:14.97良いと思うよ
ほとんど利用価値のない継承の
唯一の使いどころかもしれない
0826uY
2012/08/21(火) 22:35:15.51なんとかしてやりましたけど?
A = Class.new {
define_method :func ,&->n{
p "abc" + n
}
}
a = A.new
p a.func(3) rescue p $!
B = Class.new(A) {
define_method :func ,&->n{
p "abc" + n.to_s
}
}
b = B.new
b.func(3)
0827デフォルトの名無しさん
2012/08/21(火) 22:35:38.010828uY
2012/08/21(火) 22:36:50.030829デフォルトの名無しさん
2012/08/21(火) 22:39:06.300830uY
2012/08/21(火) 22:44:30.28バグを特定すれば
もしかしたらほんの数文字書き換えるだけで済むものを
再実装やっちゃうのか
バグ特定の方がもしかしたら早くねそれ
継承そのものがいらない概念
0831デフォルトの名無しさん
2012/08/21(火) 22:46:14.94いつも二人か三人組で来る気持ちの悪い人達の事だよ、Iの言う疑心暗鬼な人達は
いつもみかん〜とかメンヘラなんとか〜言ってる奴ら
レイプ魔みたいな人達
レス見るとわかるよ
超気持ち悪い
0832デフォルトの名無しさん
2012/08/21(火) 22:49:57.950833デフォルトの名無しさん
2012/08/21(火) 23:04:03.21じゃあ、名無しで書き込めカス
0834デフォルトの名無しさん
2012/08/22(水) 00:07:17.350835デフォルトの名無しさん
2012/08/22(水) 00:12:31.780836デフォルトの名無しさん
2012/08/22(水) 00:20:53.500837520
2012/08/22(水) 04:11:56.63・直接ソースコードの修正:手続き(手順)に対する修正
・継承による修正:機能に対する修正
手続き(手順)に対する修正と機能に対する修正を
同じレベルと考えるか、別次元と考えるか?、だね。
>>810
>俺は馬鹿なんで良く分からないが...
本当に馬鹿だと思っているなら普通は書かないよね。
>想定された継承以外での継承はしない方が良いと思うのだが
想定は出来ないでしょう。どのようなケースでも対応出来るように設計すると思うけど。
0838デフォルトの名無しさん
2012/08/22(水) 05:03:06.700839デフォルトの名無しさん
2012/08/22(水) 05:14:32.240840デフォルトの名無しさん
2012/08/22(水) 07:44:55.82短さを求めるなら、関数型でしょう。
0841uy
2012/08/22(水) 08:14:58.04もしかして関数型スレ足りないんじゃないの?
隔離所が足りないから出て来ちゃってる
0842デフォルトの名無しさん
2012/08/22(水) 08:19:40.56きえろ
0843uy
2012/08/22(水) 08:28:18.330844uy
2012/08/22(水) 08:36:50.87真面目に継承使ってるやつって何考えて生きてるのかわからない
それ、どういう効果ねらってんの?
効率?
効率でるかそれ?
0845デフォルトの名無しさん
2012/08/22(水) 08:37:14.00あ、でもやっぱつけてていいや
そっちのほうが名前欄で一括ローカルあぼーんできてよかった
0846デフォルトの名無しさん
2012/08/22(水) 09:05:34.27真面目に「日本語」使ってるやつって何考えて生きてるのかわからない
と同意に聞こえるのは俺だけか?
なんでもそうだが、一般的に「よし」とされている実装方法を守ることは
設計方針がある程度予測できるため、全てのコードを追う必要もなく
引継ぎも苦労しないものなんだよ。
数人以下の小規模プロジェクトでソースの門外不出が約束されている、やっつけ仕事ならアリかもしれんが。
0847デフォルトの名無しさん
2012/08/22(水) 09:07:17.13俺が部下なら上司には正しい日本語を使ってもらいたし
俺が上司なら、部下には正しい日本語を教えたいと思うが、
そうではないと考える人もいるんだね。
0848uy
2012/08/22(水) 09:29:27.21え?一般的によしとされてるか?
なんでもかんでも継承って一昔前の話じゃないの?
mix-inあったら普通そっち使うよね
継承されるとコンストラクタが「無駄に」複雑になるだけ
コンストラクタにかくべき処理なんてただの初期化
つまりただの代入文がまとまってればいいだけなんだよ
mixinのほうがはるかに単純
0849デフォルトの名無しさん
2012/08/22(水) 09:50:57.96何の言語を使っているか曖昧な状態で、その指摘は何の意味もなさないよ。
まあおそらくruby信仰者なのだろうが。
自分の望む設計ポリシーを持った言語で開発できないケースだってあるという点、注意してね。
「だからjavaはダメなんだよ、俺このプロジェクト絶対やらね」って
まあ、稀にいるけどね、こういう迷惑な人。
0850uy
2012/08/22(水) 10:06:11.950851デフォルトの名無しさん
2012/08/22(水) 10:12:01.02それで関数型だと自然と短く書けるという話はどうなった?
0852デフォルトの名無しさん
2012/08/22(水) 11:03:09.10http://www.nicovideo.jp/watch/sm2840707
0853デフォルトの名無しさん
2012/08/22(水) 11:24:58.76mix-inのない言語はプログラミング言語ですらない
0854デフォルトの名無しさん
2012/08/22(水) 11:47:55.250855デフォルトの名無しさん
2012/08/22(水) 11:51:27.32基本的にそういう人は抽象的に思考できない人、全体像が見渡せずに今書いているコードにだけ集中し過ぎてしまっているケースが多いね
0856デフォルトの名無しさん
2012/08/22(水) 12:51:57.17moduleなんてあっても使わない。
0857デフォルトの名無しさん
2012/08/22(水) 13:47:38.46ない言語なんてあるのかよ。moduleの意味がわかってないだけか?
0858デフォルトの名無しさん
2012/08/22(水) 14:00:24.77class も function もない言語なら普通にあるだろ。BASICなんかの中には。
0859デフォルトの名無しさん
2012/08/22(水) 14:11:18.11そこらへんは教育用言語だな。
procedure moduleとかあるのはありそうだけど。
0860uY
2012/08/22(水) 14:17:33.030861デフォルトの名無しさん
2012/08/22(水) 14:19:52.85使うのかい?
0862デフォルトの名無しさん
2012/08/22(水) 14:25:17.06ruby大好き人間は、他を腐すときにmoduleを引き合いに出すものだよ
0863デフォルトの名無しさん
2012/08/22(水) 14:33:42.06ワロタ
0864uY
2012/08/22(水) 14:42:29.18ミックスインが主流になってくると思うよ
少なくともプログラムの設計段階で、
いままでクラスの継承関係でツリーを作ってたんだろうけどそれはミックスインで置き換わる
クラス継承を使う場面も一応存在する
クラスでライブラリのクラスの拡張するときは
親クラスのコンストラクタの呼び出しが必要になってくるから継承は必要になる
つうかそれもmix-inでやるようにライブラリが作られていないのが悪いんだけど
いまのところそれ以外の場所での継承は無意味だと思ってる
0865デフォルトの名無しさん
2012/08/22(水) 14:45:29.540866uY
2012/08/22(水) 14:53:04.420867デフォルトの名無しさん
2012/08/22(水) 14:56:32.640868uY
2012/08/22(水) 15:00:41.74それですらなければ負け惜しみにもならないよ
0869デフォルトの名無しさん
2012/08/22(水) 15:01:22.57いまさらどうこう、っていうより、ちゃんと設計できる人ならC++でも
同じ考え方の元で、やっていた話。これから、とか意味わからん。
0870uY
2012/08/22(水) 15:06:42.68スーパークラスのメソッドはデフォルトでは呼び出せなくていい
呼び出さずにオーバーライドだけする事の方が多いんだから
0871デフォルトの名無しさん
2012/08/22(水) 15:10:57.150872uY
2012/08/22(水) 15:12:22.63プログラムの設計に継承を使うような風習は終わっていくから、覚えておくように
0873デフォルトの名無しさん
2012/08/22(水) 15:19:30.08やっぱり設計したことないんだな。
0874uY
2012/08/22(水) 15:21:02.310875uY
2012/08/22(水) 15:26:10.55やっと間違いに気づき始める奴らが出てきた
俺もC++使ってたころ、色々とクラスの機能は使ったけど継承だけは使わなかったんだよね
プログラミング初めて最初の瞬間から既に継承って概念に違和感持ってた
その違和感はmix-inに触れてよく分かった
継承は複数の役割を1個の機能で実現しようとしちゃってるんだよ
通りで使いたくならないわけだったわ
0876uY
2012/08/22(水) 15:28:23.80これを使ってバグ修正だ といわれても別に驚かない
バグをバグで潰すなんて素晴らしい
いいぞ もっとやれ
0877デフォルトの名無しさん
2012/08/22(水) 15:29:58.950878uY
2012/08/22(水) 15:34:06.43お前は二度とmix-in使うなよ
0879uY
2012/08/22(水) 15:35:09.78今後お前がmix-in使う事あったら負けな?
uYに負けた敗北者だからな?
ちなみに俺はmix-inも使うし、継承も使う
使い分けることが出来るからwwwwwwwww
0880デフォルトの名無しさん
2012/08/22(水) 15:35:42.330881デフォルトの名無しさん
2012/08/22(水) 15:36:41.510882uY
2012/08/22(水) 15:37:12.68すべて継承でやれよ
0883520
2012/08/22(水) 15:38:54.29まつもとゆきひろ氏も多重継承と言っているよね。
なんでメソッドの継承とクラスの継承を比べるのか
不思議だったけどこれでわかったよ。
0884uY
2012/08/22(水) 15:39:02.63え?何?もしかして?wwww
タイプミスですかwwwwwwwwwwwwwwwwww恥ずかしいwwwwwwwwwwwwwwwwwwwwwwwwwwwww
継承ってタイプミスしても大丈夫なんだな
0885デフォルトの名無しさん
2012/08/22(水) 15:41:11.54さっきは継承はバグのようなものだと言ってたのに使うのか。
0886デフォルトの名無しさん
2012/08/22(水) 15:43:50.68理解してないのバレてない?
0887デフォルトの名無しさん
2012/08/22(水) 15:49:58.95>rubyのmix-inを学べばすぐに分かる
>プログラムの設計に継承を使うような風習は終わっていくから、覚えておくように
>>883
>まつもとゆきひろ氏も多重継承と言っているよね。
www
お前が学べよw
0888デフォルトの名無しさん
2012/08/22(水) 15:51:55.71クラスA内に使いたいクラスBのフィールドを定義するのと同等じゃね?
mix-inって何が凄いの?
0889デフォルトの名無しさん
2012/08/22(水) 15:56:21.570890デフォルトの名無しさん
2012/08/22(水) 15:59:30.500891デフォルトの名無しさん
2012/08/22(水) 15:59:50.890892デフォルトの名無しさん
2012/08/22(水) 16:00:00.810893デフォルトの名無しさん
2012/08/22(水) 16:00:12.390894デフォルトの名無しさん
2012/08/22(水) 16:00:23.140895デフォルトの名無しさん
2012/08/22(水) 16:00:57.850896デフォルトの名無しさん
2012/08/22(水) 16:01:32.93委譲でも困る事は少ないよね。
単一継承は不便といえば不便だけど、ミックスインだってトレイトだって不便な多重継承なわけで、どの辺でバランスを取るかだと思う。
0897デフォルトの名無しさん
2012/08/22(水) 16:03:28.14うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
うああああああああああああああ
0898デフォルトの名無しさん
2012/08/22(水) 16:05:07.00/___ \ _____ 思った通り
( ( ))  ̄ \ \. / \ 小っさい脳みそだお
/ ̄ ̄ ̄ ̄\ . \ / \
/;;:: ::;::::ヽ / ノ ー \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ .| (●) (●) |
\ (__人__) /
/ ` ⌒´ \
/::::::::\
/:::::::::::::::::::::::::::::::::::::::\ 〜
|:::::::::::::;;;;;;|_|_|_|_| 〜
|;;;;;;;;;;ノ∪ \,) ,,/ ヽ 〜 ←>>1
|::( 6∪ ー─◎─◎ ) 〜
|ノ (∵∴ ( o o)∴) 〜
| ∪< ∵∵ 3 ∵> ムッキー !!
\ ⌒ ノ______
\_____/ | | ̄ ̄\ \
___/ \ | | | ̄ ̄|
|:::::::/ \___ \| | |__|
|:::::::| \____|⊃⊂|__|__/ /
|:::::/ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
0899デフォルトの名無しさん
2012/08/22(水) 16:05:46.00,!\ ! \ こういうスレ、マジでもういいから・・・
i \ l \,,..__
,i′ ,\___,,--―l \::゙'冖ーi、、
i :;\::::::::::..l `'‐、、
/__,..;:r---―-、,..__. ,;'il:;} .;:::`L__
,.:f''""゙゙゙´ 、 ̄ヽ,// ...::::::l;;;:;;::::
_/ ...... 、 \//、 ::::::::リ;;:::::::::....
// ......:;::::::::::::. ヽ、\ ゙ヽ ヘ ● ....:::::::::i';;;;::::::::::::
;;/ ::::::::::::;;;;;ノ ̄\:: 〉 〉゙'、 `ヽ_ノ ......:::::::.;;;:ノ:;;;:::::::::::::
/ ..::::、__;;ノ;;;`ヽ_/: / /⌒)メ、_ノ/ .....:::::;;;/;;;:::::;;:::::::::
..:::イ;;.ヽ::;;;;;;;;;(__ノ /'"..:::::::::::::/ ...............:::::::::::;;;,;ノ;;::::::::::::::::
:::::::l;;;;;;;;;\;;;;;;;,.(__ノ;.;:.\:::::::::/::::::::::::::::::::::::::::;;;;;/;:::::::::::::::::
::::::::,!::;;;;;;;;;;:.`゙'-、、 ::: \_/::::::::::;;;___,.;-―''"::::::::::::::::::::::::
..::::::::::,!;;;;;:;;;;;:::;;;;;:::;;;;;;`゙ ̄'''冖''―--―'";;;;;;;;;:::::::::::::::::::::::::
0900uY
2012/08/22(水) 16:05:58.04すぐ ○○ == ×× って当てはめようとするなよ 継 承 と は 別 概 念 だ
Matzはコミュ障だから、昔から説明を端折る癖がある
ruby使いであればmix-inが多重継承とは違う事くらいすぐにわかる
継承はタイプミスしても大丈夫なんですか?
0901uY
2012/08/22(水) 16:09:48.28「mix-inやっぱり使いたいです。uyさん使わせてください。」って言え
継承が間違っていた事を泣きながら詫びろ
いままで継承を書いてきたソースコードすべてに謝れ
ゴミカスコードを量産してしまった事を関係者すべてにあやmれ
お前らがmix-in使う = 負け
mix-in使いたかったらまず謝れよ
ぜんぜん先に進まないよ
0902デフォルトの名無しさん
2012/08/22(水) 16:11:17.50世間一般でいうオブジェクト指向の「継承」と違いそうだから。
0904デフォルトの名無しさん
2012/08/22(水) 16:13:24.16/ __ \. ||
| |(゚) (゚)| | ||
ヽ.  ̄ ̄ ̄ / 「|^| |`|
 ̄□ ̄ | ! : ::} ___________
/ ̄ ̄ハ ̄ ̄\ ヽ ,イ | | |
__/ \ | ̄|. | | |
| | / , ヽ| | | | |
| | / / r. | | | |
| | | ⌒ ーnnn |\ ノ |_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
0905デフォルトの名無しさん
2012/08/22(水) 16:15:21.50,i':r" + `ミ;;,
__,、 ≡ 彡 ミ;;;i
〃ニ;;::`lヽ,,_ ≡ 彡 ,,,,,、 ,,,,、、 ミ;;;!
〈 (lll!! テ-;;;;゙fn __,,--、_ .. ,ゞi" ̄ フ‐! ̄~~|-ゞ, ≡
/ヽ-〃;;;;;;;llllll7,,__/" \三=ー"."ヾi `ー‐'、 ,ゝ--、' 〉;r' ≡ 自分自身を客観的に見ることはできるんです
>、/:::/<;;;lllメ \ヾ、 ヽTf=ヽ `,| / "ii" ヽ |ノ
j,, ヾて)r=- | ヾ: :ヽ;;: | l | l ''t ←―→ )/イ^ ≡ あなたとは違うんです
,イ ヽ二)l(_,>" l| ::\;:: | | | ヽ,,-‐、i' / V
i、ヽ--イll"/ ,, ,//,, :;; l // l く> /::l"'i::lll1-=:::: ̄\
ヾ==:"::^::;;:::/;;;;;;;;;:::::::::::::: :::::ゞ ノ/ L/〈:::t_イ::/ll|─-== ヾ
\__::::::::/::::::::::::_;;;;;;;;;;;;;;;;;ノノ ヘ >(゙ )l:::l-┴ヾ、ヽ )
 ̄~~ ̄ ̄/ :::|T==--::::: // / ト=-|:|-─ ( l /
/ :: ::l l::::::::::::::::::/ /:::::::::::/:::::(ヽ--─ / | /
ヽ_=--"⌒ ゙゙̄ヾ:/ /:::::::/:::::::::`<==-- ノ / /
0906uY
2012/08/22(水) 16:15:49.20雑魚は這いつくばって死ね
0907デフォルトの名無しさん
2012/08/22(水) 16:16:41.06,i':r" + `ミ;;,
__,、 ≡ 彡 ミ;;;i
〃ニ;;::`lヽ,,_ ≡ 彡 ,,,,,、 ,,,,、、 ミ;;;!
〈 (lll!! テ-;;;;゙fn __,,--、_ .. ,ゞi" ̄ フ‐! ̄~~|-ゞ, ≡
/ヽ-〃;;;;;;;llllll7,,__/" \三=ー"."ヾi `ー‐'、 ,ゝ--、' 〉;r' ≡ 自分自身を客観的に見ることはできるんです
>、/:::/<;;;lllメ \ヾ、 ヽTf=ヽ `,| / "ii" ヽ |ノ
j,, ヾて)r=- | ヾ: :ヽ;;: | l | l ''t ←―→ )/イ^ ≡ あなたとは違うんです
,イ ヽ二)l(_,>" l| ::\;:: | | | ヽ,,-‐、i' / V
i、ヽ--イll"/ ,, ,//,, :;; l // l く> /::l"'i::lll1-=:::: ̄\
ヾ==:"::^::;;:::/;;;;;;;;;:::::::::::::: :::::ゞ ノ/ L/〈:::t_イ::/ll|─-== ヾ
\__::::::::/::::::::::::_;;;;;;;;;;;;;;;;;ノノ ヘ >(゙ )l:::l-┴ヾ、ヽ )
 ̄~~ ̄ ̄/ :::|T==--::::: // / ト=-|:|-─ ( l /
/ :: ::l l::::::::::::::::::/ /:::::::::::/:::::(ヽ--─ / | /
ヽ_=--"⌒ ゙゙̄ヾ:/ /:::::::/:::::::::`<==-- ノ / /
0908デフォルトの名無しさん
2012/08/22(水) 16:18:34.94例えばjavaだとoverrideつけとけば、継承元にない場合教えてくれるから大丈夫だよ。
0909デフォルトの名無しさん
2012/08/22(水) 16:19:05.04,i':r" + `ミ;;,
__,、 ≡ 彡 ミ;;;i
〃ニ;;::`lヽ,,_ ≡ 彡 ,,,,,、 ,,,,、、 ミ;;;!
〈 (lll!! テ-;;;;゙fn __,,--、_ .. ,ゞi" ̄ フ‐! ̄~~|-ゞ, ≡
/ヽ-〃;;;;;;;llllll7,,__/" \三=ー"."ヾi `ー‐'、 ,ゝ--、' 〉;r' ≡ 自分自身を客観的に見ることはできるんです
>、/:::/<;;;lllメ \ヾ、 ヽTf=ヽ `,| / "ii" ヽ |ノ
j,, ヾて)r=- | ヾ: :ヽ;;: | l | l ''t ←―→ )/イ^ ≡ あなたとは違うんです
,イ ヽ二)l(_,>" l| ::\;:: | | | ヽ,,-‐、i' / V
i、ヽ--イll"/ ,, ,//,, :;; l // l く> /::l"'i::lll1-=:::: ̄\
ヾ==:"::^::;;:::/;;;;;;;;;:::::::::::::: :::::ゞ ノ/ L/〈:::t_イ::/ll|─-== ヾ
\__::::::::/::::::::::::_;;;;;;;;;;;;;;;;;ノノ ヘ >(゙ )l:::l-┴ヾ、ヽ )
 ̄~~ ̄ ̄/ :::|T==--::::: // / ト=-|:|-─ ( l /
/ :: ::l l::::::::::::::::::/ /:::::::::::/:::::(ヽ--─ / | /
ヽ_=--"⌒ ゙゙̄ヾ:/ /:::::::/:::::::::`<==-- ノ / /
0910デフォルトの名無しさん
2012/08/22(水) 16:20:25.30ノ 二__, --、r'"___、 ヾ ト、::ヽ
ミレ'"~,-,、 ! ! ' '" ̄ .ノ \ヾ:、
K/ー'~^~_/ ヽミ:ー‐‐'" ヽ i.
!〉 ー―'"( o ⊂! ' ヽ ∪ Y_
i ∪ ,.:::二Uニ:::.、. l i
.! :r'エ┴┴'ーダ ∪ !Kl
.i、 . ヾ=、__./ ト=
ヽ. :、∪ ゙ -―- ,; ∪ ,!
\. :. .: ノ
ヽ ヽ. . .イ
. `i、 、::.. ...:::ノ ,∧
0912デフォルトの名無しさん
2012/08/22(水) 16:25:14.49| .|_,.、/'i
ノ'" ニヽイ
r〈 くン __
ト-'r、ィ-へ7 _Σニ'ゝ=<ーァ
Y  ̄' |'"´  ̄`ヽ、
| |___,,.._ゝ___ , `ヽ、
| イ-'/´ ̄/ ̄ハ`""''ヽ、ィ _i
| / /| /-!、レ' | ハ_ ! `''〈 こいつ最高にアホ
.| | / レ'ー=、 レ,.=、、7 ハ |
| .| | | "" . ヒ_ノイ/ /__!イ
|、__ |,| | rー--、 "i ト !ソV、
ト、,ト、,___,.ィ! ', ト、 ヽ.__,ノ ,.イ ハ' ̄'`
i\ | ヽ|`「>ーr=i'"レヘレヽ|
〉 ヽ、 イ´ Σ>o<{ハヽ、ィ'i_
ゝ、_ `ヽr-'"´ 、 / i 〉, フ
∠ >ヽ. Σ>o<{ _,イ イイ.
レへ, ハ / ⌒ |__,.-ヘ.7
'⌒!,ヘ/ 、 , ト, \
r〉 ' i ヽ'〈´ 〉
/ / ! ヽ ヽ、 /
/ / ,イ `く
/ / _rヘo'_ ヽ、
rく / レiヽ_7 ヽ 」、
0914デフォルトの名無しさん
2012/08/22(水) 16:27:24.42/´・ω・`ヽ ヽ、 lヽ' ` ´
きめぇwwwwwwww ,ノ ヽ、_,,, ニコ厨自重wwwwwwww
きめえええwwvwww, '"´``Y'""``'j ヽ |
{ ,ノ' i| ,. ,、 ,,|,,ktkrwwwwwwwwwww ニ
'、 ヾ ,`''-‐‐'''" ̄_{ ,ノi,、;;;ノ l ――‐ ・
キタ━━━━━━━━!! ヽ、, ,.- ,.,'/`''`,,_ ,,/ ヽ ・
`''ゞ-‐'" `'ヽ、,,、,、,,r' | ―――― ・
,ノ きめぇええwwwwwwwww
./ ;ヽ .| ――┐
↓お前の人生wwwwwwwwww .;;;l |. |
つまんね・・・・・・ .| ,,, / ;;;| .| ――┘
| ,' ;;;l l ;;'i, ;| | ┌―――
↓ねーよwwww / / l `'ヽ, 、;| /. | 一 -十
俺のほうがマッチョだな ヽ l ,i| / | 口 ヽ|
l`'''" ヽ `l: `''"`i `l / ヽノ \|
wwwww l ,. i,' } !テラマッチョwwwwwwwwww
,, .--、,,__,,-' ̄;;"`´ ;; __ __, -―- 、;; ̄`l ┌┐┌┐
ちょwwwwwwwwなんぞこれwwwwwwww´| l ヽ.,/ ││││
/l ;;, -‐Y´| l __ /`'| | | l l;| l ヽ. └┘└┘
/|;;;;ヽ/ .| | |.;;l_,-'l | V | |.l .| .| l i i | ;;l | ○ 〇
0915520
2012/08/22(水) 16:28:12.26>すぐ ○○ == ×× って当てはめようとするなよ 継 承 と は 別 概 念 だ
「あるとき、著名な若手研究者が多重継承とMix-inは別物だと信じていらっしゃった。
しかも、その原因がRubyであったのを知って深く反省したものです。」
まつもとゆきひろ氏談
著名な若手研究者も間違えるみたいだね。
0916デフォルトの名無しさん
2012/08/22(水) 16:28:50.71ソウル中央地裁で開かれた。金被告側は起訴された行為自体は認めたものの、
「豊臣秀吉の朝鮮侵略などに抵抗した義兵の精神を受け継ぐ行為だ」として無罪を求めた。
被告側は日本の竹島(韓国名・独島)の領有権主張も非難した。公判は即日結審し検察は懲役1年を求刑。判決は9月5日に言い渡される。
起訴状によると、金被告は7月9日早朝、トラックで大使館正門に突っ込み門を壊した。日本の民族派団体の男性が6月に、
元従軍慰安婦の被害を象徴する同大使館前の少女像に「竹島は日本固有の領土」と書いたくいを縛り付けたことに怒り、
日本が責任ある措置を求める世論を起こす目的だったと、金被告は捜査段階や公判で主張した。(共同)
ソース 産経新聞
http://sankei.jp.msn.com/world/news/120822/kor12082213080004-n1.htm
ソウルの日本大使館正門に突っ込んだトラック。荷台には「独島はわれわれの領土」と書かれている=7月9日(共同)
http://sankei.jp.msn.com/images/news/120822/kor12082213080004-p1.jpg
0917デフォルトの名無しさん
2012/08/22(水) 16:29:29.41一体どこにデバッグに梃子摺る要素があるのか分からない
分けが分からないw
自分で書いたコードすら管理できないならプログラミングやめろよ
0918デフォルトの名無しさん
2012/08/22(水) 16:29:38.19デバッグが必要なプログラミングをしているのなら、何か間違っている。
しかし、GUIやドライバのような自分が全てを知り得ないようなものとのI/Fを
プログラミングするのであれば、相性と言う問題も含めてデバッグが必要になってくる。
或いは、チューニング作業もある意味デバッグと言ってもいいかもしれない。
それはさて、トリッキーで短いコードは判り難いと言うことはそんなに受け容れ難いことなのかねぇ。
0920デフォルトの名無しさん
2012/08/22(水) 16:33:45.15おまえは凄くゴミ臭いのにえらい大きく出たもんだw
0921uY
2012/08/22(水) 16:35:06.39module A
attr_accessor :x
end
a = Object.new
a.extend A
a.x = 5
p a.x
これを継承()だとか多重継承()() だとかいわれても困るんだよ
じゃあ
a.extend A
これ使いまくってる俺は、多重継承使いまくりなのかよって話
a.extend A ←これが多重継承だとまだいえるのか?
別 物 で す
0922uY
2012/08/22(水) 16:36:09.01そしてこれは
お前が俺に謝るまで一生使えない機能だから
覚えておかなくていいよ
忘れろwwwwwww一生継承だけつかってろwwwwwwwwwww雑魚wwwwwwwwwwwwwwww
0923デフォルトの名無しさん
2012/08/22(水) 16:36:18.01「俺すげぇぇぇぇぇ」
「馬鹿にはわからないだろな」
をやらなければいいんだよね?
文章と一緒で読者を意識して理解しやすく書けばいい
0924デフォルトの名無しさん
2012/08/22(水) 16:36:39.44言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0925uY
2012/08/22(水) 16:37:03.470926デフォルトの名無しさん
2012/08/22(水) 16:37:27.80一人でしかプログラムを書かない、書けないバカが言いだしそうな台詞だな
アルゴリズムとは別の誰が書いても同じような部分は没個性的であればあるほど良いに決まっている
既に築き上げられた定石とイディオムの塊だよ。
vc++やvbから入った奴らのガラパゴス進化したコードなんて読んでみたいと思うか?想像するだけでぞっとする
0927デフォルトの名無しさん
2012/08/22(水) 16:37:53.15その程度のコストも支払えない環境で開発するなら、Cでアセンブラ時代にやっていたような仕組みを導入するのがよいです。
固定構造体に確保済み配列を使いまわす例のヤツねw
0928uY
2012/08/22(水) 16:38:06.28じゃ
0929デフォルトの名無しさん
2012/08/22(水) 16:38:15.47Aを継承したBというクラスでfooメソッドをコピペしバグを修正しました。
fooメソッドにはもうひとつバグがありました。
Bというクラスにも当然バグが含まれています。
さらにBを継承したCを作ってバグを修正しました。
fooメソッドにはもうひとつバグがありました。
BにもCにも当然バグが含まれています。
さらにCを継承したDを作ってバグを修正しました。
0930デフォルトの名無しさん
2012/08/22(水) 16:40:39.91それ、同じことをC++でやると継承使うんだけどね。
rubyはその部分をmoduleという機能つかって簡略化しているんだよ。
0931デフォルトの名無しさん
2012/08/22(水) 16:45:42.77それ、同じことをC++でやると継承使うんだけどね。
rubyはその部分をmoduleという機能つかって簡略化しているんだよ。
0932デフォルトの名無しさん
2012/08/22(水) 16:45:47.51ループさせんなバカ。
もう一つバグがあったらBを書き換えればいいだろ。
前提としてAは5年前にAさんが作った物でBはお前が作っている。
それともCさんDさん・・・・・・・Zさんって無限に必要なのか?
0933デフォルトの名無しさん
2012/08/22(水) 16:45:50.42それ、同じことをC++でやると継承使うんだけどね。
rubyはその部分をmoduleという機能つかって簡略化しているんだよ。
0934デフォルトの名無しさん
2012/08/22(水) 16:46:01.20それ、同じことをC++でやると継承使うんだけどね。
rubyはその部分をmoduleという機能つかって簡略化しているんだよ。
0935デフォルトの名無しさん
2012/08/22(水) 16:46:27.10それ、同じことをC++でやると継承使うんだけどね。
rubyはその部分をmoduleという機能つかって簡略化しているんだよ。
0936uy
2012/08/22(水) 16:46:30.90別物だから
0937デフォルトの名無しさん
2012/08/22(水) 16:46:49.87やらずに当時の試行錯誤がさらに力技になった果てに520が生まれるって印象。
0938デフォルトの名無しさん
2012/08/22(水) 16:49:00.04全世界のライブラリをおまえが管理している前提かよ。
0939uy
2012/08/22(水) 16:49:02.67構造体とクラスはおなじ
簡略化してるだけ
配列も構造体も同じ
簡略化してるだけ
配列とINT変数も同じ
簡略化してるだけ
二審数もrubyもおなじ
簡略化してるだけ
0940デフォルトの名無しさん
2012/08/22(水) 16:53:24.55やっと気づいたのか。
そういった設計を簡単に実装できるように言語がサポートしてるだけ。
Cでooを実現するために、第一引数をオブジェクトとするローカルルール作ったり。
0941デフォルトの名無しさん
2012/08/22(水) 16:54:26.81>しかも、その原因がRubyであったのを知って深く反省したものです。」
>まつもとゆきひろ氏談
uYが520から完膚なきまでにボコられw
>つまりMatzのrubyとmix-inへの理解力はその程度ってこと
「まつもとゆきひろ」まで完全否定して発狂しているぞw
0942デフォルトの名無しさん
2012/08/22(水) 16:58:09.44さっきも言ったけど、お前さんが言う「継承」は一般的な「継承」と意味が違うんだよ。
なぜrubyでmoduleを採用したか知ってる?
javaのような単一継承は世の中の事象を表現するのに、やりすぎた制限だから
多重継承を許したいが、多重継承はモジュール間の関係がネスト化して複雑になるため
その問題を解決する方法としてmixinを採用し、rubyではそれ専用にmoduleという機能を用意して
ネストが複雑にならないように制限かけているんだよ。
もう、継承という言葉を使わないほうがいいよ。誤解されるから。
rubyのmoduleが素晴らしいと言ってればいいだろ。
0943デフォルトの名無しさん
2012/08/22(水) 16:59:45.480944デフォルトの名無しさん
2012/08/22(水) 17:45:57.20あれは偽物、俺のなりすましな。
ま、証明はできないが。
0945デフォルトの名無しさん
2012/08/22(水) 18:06:18.59今時、モジュールなどというものを重視している言語がメジャーなものの中に
あるということを教えていただきました。ありがとうございました。
0946デフォルトの名無しさん
2012/08/22(水) 19:16:03.73>a.extend A
ObjectとAを多重継承したクラスやがな
0947デフォルトの名無しさん
2012/08/22(水) 19:47:56.30文字一致くらい==でやりたいし、イテレータを++で進めたいとか思ってるんだけど、
なかなかそういう言語が増えないのが疑問。
0948デフォルトの名無しさん
2012/08/22(水) 20:25:36.120949uy
2012/08/22(水) 21:36:27.97rubyやってないやつって時代錯誤なこと言い始めるよな
イテレータ進めるのに++て
0950デフォルトの名無しさん
2012/08/22(水) 21:40:28.27トリなしuYもローカルあぼーんしました
0951uy
2012/08/22(水) 21:40:45.87とりあえずさあ最近でてくる言語がなぜrubyの真似してるのが多いのか考えた方がいいよ
別に常用しなくてもいいんだから最低限ruby流の書き方くらいしってれば
時代遅れなこと言い始めることもないんだよ
互換性を捨てながらも進化してるってことはな
構文に関していえばrubyは最先端って意味だよ
0952デフォルトの名無しさん
2012/08/22(水) 22:01:27.40みてるほうが、恥ずかしいから
0953デフォルトの名無しさん
2012/08/22(水) 22:06:23.730954uy
2012/08/22(水) 22:13:49.54ruby python 関数型言語のどれもやってない奴なんて
設計や実装を語る発言権すらないわ
作るのかたとえC# JAVAであろうと先進的な概念はマイナー言語にしかないよ
マイナー言語で有益さが認められてようやくC# JAVAに実装され広まっていくんだけど
大抵は既に間違った風習が蔓延ってるから機能実装されたとしても
大々的に記事とかで取り上げられなければ
C# JAVAだけやってて気づけるわけがなく、優秀な知り合いでもいなければ一生情報など拾えず
時代錯誤なことやりつづけるだろう
周りも同じだから、周りがほとんどそれ正しいと認識してる状態で知識あるやつが一人もいなければ全員が全員で間違う
間違った風習が蔓延ってるからJAVAしかやらないJAVA使いはカスなんだよ
rubyだけやってる奴の方がJAVAしかやってない奴よりは先進的な方法だけは知ってるからまだマシ
今後自分で何か設計するとしてもrubyの実装にあわせながらやっていけば初心者が最初から綺麗にうまくできても不思議じゃない
rubyはそれだけ根がちゃんとしてる
時代錯誤なことはいい加減にしろカス
0955デフォルトの名無しさん
2012/08/22(水) 22:16:00.80javaのように制約は多いけど大概の事は簡単にできる仕様もある。
rubyはいじったことは無いけどどうなんだろうね。
0956uy
2012/08/22(水) 22:23:36.02言語の作りそのものがオブジェクト指向の見本になる
イテレータかくならrubyの真似すればいいんだよ
他言語では普通にやってるインクリメントがどれだけ冗長か
インクリメントしないとアルゴリズムが記述できない言語は既に時代錯誤
0957デフォルトの名無しさん
2012/08/22(水) 22:27:02.700958デフォルトの名無しさん
2012/08/22(水) 22:28:49.57array[i]=0;
}
冗長だよな。でもこの程度の無駄でやる気を失ってるようではカスだぜ。
0959デフォルトの名無しさん
2012/08/22(水) 22:30:04.150960デフォルトの名無しさん
2012/08/22(水) 22:31:34.22設計の勉強したことないプログラマに設計はさせない方がいいか。
0961デフォルトの名無しさん
2012/08/22(水) 22:35:20.45冗長って何がだよ
だったら、アセンブラでかけや
0962uY
2012/08/22(水) 22:37:29.95俺は社畜ではないから
C++でfor文書くときはマクロで記述するよ
>>960
周りが俺の設計に合わせてコードかくなら複数人での作業は可
俺が周りに合わせる事はない
つうか設計書に書くならrubyコードでもPythonでもなく「こんな言語あったらいいな」の自作の言語で書くだろ
手書きプログラミングするときにまでendかかない
0963デフォルトの名無しさん
2012/08/22(水) 22:39:08.360965デフォルトの名無しさん
2012/08/22(水) 22:39:31.790967デフォルトの名無しさん
2012/08/22(水) 22:41:36.220968デフォルトの名無しさん
2012/08/22(水) 22:42:03.88java1.7は大概のループでC++を超える実行効率を叩きだす。
0969uY
2012/08/22(水) 22:43:33.57こういうのがJAVERだよな
内部の仕組みが何も分かってない
たとえ最適化性能で一時的にJAVAが↑にいったとしても
C++よりもJAVAのほうが色んなこと裏でやってんだから
速度差なんて火を見るより明らか
0970uY
2012/08/22(水) 22:48:52.74ブラウザかOSでも作ってるのかって話だよ
普段何作ってるんですか?ぜひ教えてくださいwwwwwwwwwwwwwwwwwwwwww
そんなに速度なんて必要とされていない場所まで速度がー速度がー言ってる奴って冗長だよな
0971uY
2012/08/22(水) 22:51:59.530972デフォルトの名無しさん
2012/08/22(水) 22:55:24.23それをrubyみたいにカッコつけてやる必要はない。ましてやlambdaとかclosureとかウンコだと思う。
ましてやruby厨みたいに威張り散らかす必要はもっとない。
0973uY
2012/08/22(水) 22:58:19.59array[i]=0;
}
↓
ary = [1,2,3]
ary.map!{0}
↓
謝れ
0974uY
2012/08/22(水) 22:59:37.950975uY
2012/08/22(水) 23:02:20.360976デフォルトの名無しさん
2012/08/22(水) 23:03:17.950977デフォルトの名無しさん
2012/08/22(水) 23:04:30.910978uY
2012/08/22(水) 23:05:35.09マジそういうのいいからさっさと
ary = [1,2,3]
ary=[0]*ary.size
p ary
ary = [1,2,3]
ary.size.times{|i|ary[i]=0}
p ary
ary = [1,2,3]
ary.each{|i|i=0}
p ary
謝れ!!!!!!!!!!!
0979デフォルトの名無しさん
2012/08/22(水) 23:07:25.790980デフォルトの名無しさん
2012/08/22(水) 23:07:45.040981デフォルトの名無しさん
2012/08/22(水) 23:08:33.470982デフォルトの名無しさん
2012/08/22(水) 23:08:38.89冗長
>ary.size.times{|i|ary[i]=0}
冗長
>ary.each{|i|i=0}
冗長
0983uY
2012/08/22(水) 23:08:43.89謝るまでmix-in使えないからな?
>>980
え、初期化?
え、代入にしか見えない
はい初期化
ary = []
0984デフォルトの名無しさん
2012/08/22(水) 23:09:41.701で初期化してみ
0985デフォルトの名無しさん
2012/08/22(水) 23:10:16.010986uY
2012/08/22(水) 23:10:18.03さっさと謝れ
0987デフォルトの名無しさん
2012/08/22(水) 23:12:08.67池沼?
0988uY
2012/08/22(水) 23:12:17.86ary = 1
ハァ?
ツウカこういうアルゴリズムの存在自体が「冗長」
なんだよ
rubyで普通に最初からやってれば、配列まわして全部0にするとか
1にするとかは、ねーーーーーーーーからさ
質が違うんだよ
時代遅れいい加減にしろ
0990デフォルトの名無しさん
2012/08/22(水) 23:13:04.47レスが冗長()
0992デフォルトの名無しさん
2012/08/22(水) 23:14:36.620993デフォルトの名無しさん
2012/08/22(水) 23:14:52.02誰に謝るんだ?人間じゃないrubyに謝ってどうするんだ?
狂信者にはruby神が見えるのか?
rubyごときが神だとはお笑いだw
0994デフォルトの名無しさん
2012/08/22(水) 23:15:12.78人生が冗長()
0995uY
2012/08/22(水) 23:15:34.06ゆとりJAVA使いが何か申しておるwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0996デフォルトの名無しさん
2012/08/22(水) 23:16:03.420997デフォルトの名無しさん
2012/08/22(水) 23:16:32.950999デフォルトの名無しさん
2012/08/22(水) 23:17:15.541000uY
2012/08/22(水) 23:17:21.32>>1
. ; '
. ・ ' . ; '
ハ, ;'. ,ハ ∧ ∧,〜
( ゚./ /ω゚ ) ( (⌒ ̄ `ヽ _
/ ./ / \ \ \ `ー'"´, -'⌒ヽ
⊂ )/ / ノ\つ /∠_,ノ _/_
(_⌒ヽ /( ノ ヽ、_/´ \
ヽ ヘ } 、( 'ノ( く `ヽ、
ε≡Ξ ノノ `J /` \____>\___ノ
────────────/───―‐/__〉.───`、__>.──────
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。