16/05/19 22:07:47.87 9fCVrsOw.net
手順とかノウハウとか語りたい
2:デフォルトの名無しさん
16/05/19 22:30:15.79 7RT/6RIS.net
まず服を脱ぎます
3:デフォルトの名無しさん
16/05/19 23:11:13.52 DISKdlQR.net
パンツを脱いだプログラマ
4:デフォルトの名無しさん
16/05/19 23:13:39.91 QjLNgnwx.net
>>1
ノウハウや成果物は20年前と比べて随分と公開されていると思うが。
スモールオブジェクトプログラミングとかGRASPとかエクササイズ等等。
5:デフォルトの名無しさん
16/05/19 23:14:14.30 P4wIeaTA.net
デザインパターンを研究しろ。
■■■■ 糸冬 了 ■■■■
6:デフォルトの名無しさん
16/05/19 23:19:53.32 QjLNgnwx.net
今の時代、冗談抜きで語る事はないよ。国内の有識者がまとめた資料(SlideShare等)を
読むだけ。
7:デフォルトの名無しさん
16/05/20 01:27:57.35 0eowHHkD.net
実務での設計・構築経験がある奴はいないのか?
誰かがこう言ってるじゃなくて、経験談を語り合いたい。
8:デフォルトの名無しさん
16/05/20 06:37:23.45 A9KUpz/E.net
経験談を語る=有識者がこう言ったという事を蒸し返すだけだけど。
9:デフォルトの名無しさん
16/05/20 06:46:44.02 A9KUpz/E.net
後、今はこの手の話題はTwitterの方が向いている。
2chは発言の質が玉石混合であんまり参考にならない。昔は
いろいろスレが立っていたが。
ちなみにドメインモデル周りの成果物は機密保持の関係上、
あまり表に出てこないかな。
10:デフォルトの名無しさん
16/05/20 08:18:55.59 fT3/H/UL.net
ドメインモデルの進化系がマイクロサービスだと思っている
11:デフォルトの名無しさん
16/05/20 09:38:37.61 ezy2NA/m.net
>>10
進化系というかDDDでいうところの境界づけられたうんちゃらをマイクロサービスとして分離する基準にするとちょうどいいってだけだよね。
最近の小規模プロジェクトでもマイクロサービスを気軽に導入しちゃう雰囲気は謎。マイクロサービスをOOPとかと同列のソフトウェアデザインと考えている人が多いからなのか。
12:デフォルトの名無しさん
16/05/20 11:45:46.78 0eowHHkD.net
本に書いてある指針に沿ってやってみても役に立つ部分と足りない部分がある。
実体験と本を読んだだけとは大きな違い。
例えば、オブジェクトの抽出はどうやってる?
仕様書から名詞を洗い出すとか言われることが多いけど、
すべての名詞がオブジェクトに対応する訳じゃない。
オブジェクトとする基準とかレベルとかどんな感じでやってる?
13:デフォルトの名無しさん
16/05/20 12:59:06.12 tPlPBHxz.net
分かりやすい名前をつければ、後は大した問題ではない
14:デフォルトの名無しさん
16/05/20 13:01:40.82 0eowHHkD.net
そんなんでシステムが構築できると思ってるのか?
15:デフォルトの名無しさん
16/05/20 13:42:47.84 jCV1qcCq.net
確かに
全ての変数に分かりにくい名前をつける事を強要された挙句
その名前をデータベースと言う名の紙の辞書に登録しなきゃならないっていう環境で起こる問題に比べたら
大した問題じゃないよな
16:デフォルトの名無しさん
16/05/20 13:42:47.94 xL1EKSbm.net
サルでも解るように教えてくれ
17:デフォルトの名無しさん
16/05/20 13:44:27.63 jCV1qcCq.net
>>16
考えるな、感じろ
直感と経験からオブジェクトにするものとクロージャにするものとを区別していけば
大きく間違えることはそんなに無い
18:デフォルトの名無しさん
16/05/20 13:47:05.45 0eowHHkD.net
直感と経験って説明できないときに都合よく使う言葉だよなあ。
そんなんじゃ判断はばらばらになって品質が安定しない。
だからプロセスとか指針が重要なんだが。
19:デフォルトの名無しさん
16/05/20 13:54:08.42 jCV1qcCq.net
例えば飛行機の制御プログラムを組むとして、
そのプロセスやら指針やらはサルでも分かるようにきちんと説明できるの?
20:デフォルトの名無しさん
16/05/20 13:55:31.32 0eowHHkD.net
サルでも分かるようにってのは俺の書き込みじゃないから知らんけど
ある程度の知識がある奴が理解できる指針は提示する必要があるだろ。
21:デフォルトの名無しさん
16/05/20 13:57:21.26 jCV1qcCq.net
もう一点。
複数のプロダクトの設計段階での判断がプロダクト毎に異なる事と、
それらプロダクトの品質とは関係あるの?
22:デフォルトの名無しさん
16/05/20 13:59:42.00 jCV1qcCq.net
>>20
うん、必要があるか、無いか、で言ったら必要あるよね。
それが実行可能かどうかについて訊いたんだけどね。
23:デフォルトの名無しさん
16/05/20 14:03:06.56 0eowHHkD.net
お前が指針を提示できないことは分かったからいいよ。
まともな本を読んでりゃ指針が書かれていることくらい分かるから。
24:デフォルトの名無しさん
16/05/20 14:07:35.14 6MfCjgLg.net
>>13
正解。設計と同じぐらい大事。
現場ではエンジニアが自由に名前決めすぎ。
25:デフォルトの名無しさん
16/05/20 14:08:53.28 jCV1qcCq.net
君が「本に書かれてるから絶対に正しいんだ」って姿勢を見せるのは結構な事だけど
質問に対する答えとして不適切な事を言っておきながら答えたことにするのは人間としてどうかと思うよ。
ちなみに
直感と経験、を具体的に言うと
動作の主体になって、状態を持つものはオブジェクト
動作の客体にしかならないものはクロージャ
みたいな感じに分けてるよ。
直感的でしょ?
26:デフォルトの名無しさん
16/05/20 14:14:49.64 0eowHHkD.net
>>25
本に書かれている指針を理解したうえで、実際のプロジェクトに適用したときの
経験について語ってくれってこと。どうして分からないかなあ…。
オブジェクトとクロージャの区別に拘るのは違和感があるんだけど開発言語は何?
言語によってはその区別が重要なんだろうか。
27:デフォルトの名無しさん
16/05/20 14:19:58.58 jCV1qcCq.net
>>26
まずその本とやらの題名なりamazonのurlなりを具体的に示して欲しいかな?
本によって言ってることまちまちだしね。
趣味でx86_64アセンブリとLispを少々
28:デフォルトの名無しさん
16/05/20 14:24:17.23 0eowHHkD.net
本によってまちまちだからこそ、実際に使ってみてどうだった?って感想が
聞きたいんだけど。
趣味レベルってことで納得。
Lispだとクロージャの役割が大きいのかなあ。
業務システムの設計・構築経験がある人の体験談を聞きたい。
29:デフォルトの名無しさん
16/05/20 14:28:12.35 jCV1qcCq.net
> Lispだとクロージャの役割が大きいのかなあ。
というかクロージャを拡張したら割と簡単にオブジェクトが作れるから
そこまでする必要があるかどうかで自然とオブジェクトにするかどうかが決まる感じ
ところでこれ設計の話?それとも実装の話?
30:デフォルトの名無しさん
16/05/20 14:31:52.11 0eowHHkD.net
設計の話だけど、構築するために設計するんだから構築段階で設計の品質が実体化するとも言える。
実装を無視した設計はあり得ないから、実装も設計に関係する。
31:デフォルトの名無しさん
16/05/20 14:32:58.18 wXLR68d1.net
>>1
おれもそもそもOOPのメリットが分からん
OOPでうまくつくっていける奴は関数型でも
手続き型言語でもそれなれにやっていけそうだが
32:デフォルトの名無しさん
16/05/20 14:41:33.00 0eowHHkD.net
>>31
どの設計手法を使うにしても基礎は共通してるからある手法できれいな設計ができれば
他の手法を使うときも正しい使い方ができると思う。
手続き型よりもオブジェクト指向のほうが構成要素の区切りが明確になりやすいのがメリットだと思う。
関数型の設計手法はどんなものか分からないや。
33:デフォルトの名無しさん
16/05/20 14:42:40.60 jCV1qcCq.net
OOPって要するに分割統治をアグレッシブにやってるだけと違うの?
34:デフォルトの名無しさん
16/05/20 15:06:25.53 xWTkKLUb.net
OOPスパゲッテー依存で後で泣く
インターフェース
クラス
ウーーーーー
もう少しいい言語設計を
35:デフォルトの名無しさん
16/05/20 15:42:04.87 0eowHHkD.net
>>34
それは設計が悪い。
36:デフォルトの名無しさん
16/05/20 15:42:33.48 0eowHHkD.net
言語設計じゃなくてシステム設計が悪い。
37:デフォルトの名無しさん
16/05/20 17:57:03.05 xL1EKSbm.net
OOPダメみたいな流れはどうして?
JavaやC#どっぷりのオレは、生きていけないの?
38:デフォルトの名無しさん
16/05/20 18:03:59.50 JTjd3aWK.net
OOPはモジュール作成者にメリットはあっても
利用者にはメリットはないんだよ
39:デフォルトの名無しさん
16/05/20 20:52:17.59 0eowHHkD.net
>>37
オブジェクト指向をきちんと活用するのは難しいからじゃね。
素人には理解できない。
まちがった使い方をする。
間違ってるのは素人の俺じゃなくてオブジェクト指向だ。
って流れだと思う。
40:デフォルトの名無しさん
16/05/20 20:55:01.79 0eowHHkD.net
>>38
システムの改修が容易だというのは利用者にとってもメリットだな。
システムの改修を容易にできるだけの洗練された設計が実現できていることは少ないから
オブジェクト指向のメリットを実感できない設計が多いのかもしれないけど。
オブジェクト指向が悪いんじゃなくて、設計者が要求されるレベルに達していないことが多いだけ。
41:デフォルトの名無しさん
16/05/20 21:00:29.42 fT3/H/UL.net
利用者にメリットがないとか言ってるやつに限って
OCPすら満たしてないシステム作ってそう
42:デフォルトの名無しさん
16/05/20 21:13:45.60 JHcTy9r/.net
関数型の匿名関数に積極的に名前を付けていくとOOPになる感じ
43:デフォルトの名無しさん
16/05/20 21:49:33.16 lJQ06Hkz.net
OOPは悪くはないけどメリット少ない
親クラスを継承する必要性も少ないし
DBのSELECT結果をオブジェクトに入れる必要もない
44:デフォルトの名無しさん
16/05/20 21:52:47.80 0eowHHkD.net
>>43
継承を推奨してる設計指針なんて見たことないけど。
オブジェクト指向設計について語りたいならまともな本を読んでからにしようぜ。
45:デフォルトの名無しさん
16/05/20 21:54:23.51 fT3/H/UL.net
>>43
継承と移譲について理解しようね
46:デフォルトの名無しさん
16/05/20 22:19:45.27 5OAEQxQd.net
継承はアンチパターン
47:デフォルトの名無しさん
16/05/20 22:39:20.85 lJQ06Hkz.net
>>44
推奨とか知らんけど実際の現場では継承されまくってるだろ
>>45
理解してるから言ってる。基本継承は不要。移譲だけでいいぐらい
48:デフォルトの名無しさん
16/05/20 22:43:46.88 0eowHHkD.net
>>47
継承を利用すべきじゃない場面でも継承が利用されているのは問題であるってほとんどの本に書いてあるぞ。
まともな本すら読まずに間違った設計をしているからメリットを実感できないだけで設計者のレベルが低いだけ。
49:デフォルトの名無しさん
16/05/20 22:48:17.41 lJQ06Hkz.net
>>48
じゃああんたが言ってることと俺が言ってることは同じじゃんか
何で俺は噛み付かれたんだ
50:デフォルトの名無しさん
16/05/20 22:50:13.54 0eowHHkD.net
>>47
継承を利用すべきじゃない場面でも継承が利用されているのは問題であるってほとんどの本に書いてあるぞ。
まともな本すら読まずに間違った設計をしているからメリットを実感できないだけで設計者のレベルが低いだけ。
51:デフォルトの名無しさん
16/05/20 22:51:14.89 0eowHHkD.net
>>49
×OOPはメリット少ない
○バカな設計者が設計するシステムはダメ
全然違う。
52:デフォルトの名無しさん
16/05/20 22:53:29.65 ALiU1X8u.net
こういう展開は今まで何度も何度も見たが
「OOPのメリットはこれとこれとこれだ!」
という歯切れのいい意見を一度として聞いたことが無い
53:デフォルトの名無しさん
16/05/20 22:54:45.09 0eowHHkD.net
>>52
>>32
ほとんどの本にこういったことが書かれているし、実感としても合ってる。
54:デフォルトの名無しさん
16/05/20 22:59:42.47 5OAEQxQd.net
SOLIDしやすいのがメリット
55:デフォルトの名無しさん
16/05/20 23:17:55.91 Zd4GCHrY.net
継承はアンチパターンと思うのはまだ恵まれている方だ。俺は継承をしてくれなくて困ることの方が多い。コピペの嵐ぱない。
56:デフォルトの名無しさん
16/05/20 23:23:18.18 Ykc02+7p.net
それはオブジェクト指向とか以前の話だわ
57:デフォルトの名無しさん
16/05/20 23:25:43.35 5OAEQxQd.net
コピペと継承関係ねえぞ
58:デフォルトの名無しさん
16/05/20 23:27:16.59 0eowHHkD.net
>>57
親クラスに一回記述すれば済むのに
別々のクラスの両方に同じコードが書かれているってことだろ。
59:デフォルトの名無しさん
16/05/20 23:48:05.55 5OAEQxQd.net
いやだからそれ継承どうこうじゃねえよ
60:デフォルトの名無しさん
16/05/20 23:52:47.17 0eowHHkD.net
>>59
お前が言いたいことはみんな分かってるだろうから会話の流れも読もうぜ。
61:デフォルトの名無しさん
16/05/21 00:07:02.79 q2Zh6d9K.net
>>49
> 何で俺は噛み付かれたんだ
そこにお前がいるから(名言)
62:デフォルトの名無しさん
16/05/21 00:07:37.44 RrD1FkH/.net
>>59
お前の存在自体がアンチパターンだなwww
63:デフォルトの名無しさん
16/05/21 00:09:06.75 hclWowah.net
>>58
親クラスは便利物置場じゃないからな
64:デフォルトの名無しさん
16/05/21 00:14:14.80 Dey5A/Jl.net
オブジェクト指向設計の経験がある奴はおらんのか?
65:デフォルトの名無しさん
16/05/21 00:17:03.45 hclWowah.net
実装レベルの設計なんか必要ないでしょ。
設計が必要なのは業務ロジックまで。
実装レベルの設計が必要なのは
相当プログラマーのレベルが低い場合のみ。
66:デフォルトの名無しさん
16/05/21 00:24:35.47 Dey5A/Jl.net
実装レベルの設計って曖昧だけど
クラスと公開されたメソッドは決める必要がある。
で、それを決めるためにはクラス間の関連を考える必要がある。
ってなるとそれなりに詳細に設計することになるが。
67:デフォルトの名無しさん
16/05/21 00:27:38.10 pCEMwj0Q.net
個人で開発してるならいらんかも知らんけど
チームで実装する場合はクラス図とシーケンス図ぐらいは必要じゃね
まぁ個人でやる場合も10年後にメンテする人のために残しといた方がいいけどな
10年もたてば実装した本人も忘れてるだろ
68:デフォルトの名無しさん
16/05/21 00:27:53.71 q2Zh6d9K.net
>>65
> 設計が必要なのは業務ロジックまで。
業務ロジックの設計って
具体的にどんなことや?
69:デフォルトの名無しさん
16/05/21 00:34:44.35 sajHzwwt.net
そこらへんはシステムの特性やエンジニアの質など様々な要因で変わるから永遠に議論が終わらない話題だね。
70:デフォルトの名無しさん
16/05/21 00:36:09.71 Dey5A/Jl.net
>>68
>>65がどういう意味で書いたのかは知らんが、要件定義的な作業は必要だろ。
UMLで言えばスイムレーンに分けたアクティビティ図を書くとか。
71:デフォルトの名無しさん
16/05/21 01:06:07.75 Dey5A/Jl.net
>>69
しかし、実際のプロジェクトでは何らかの基準で決める訳でルールは必要。
ルールもなしに場当たり的に決めているならお話にならない。
72:デフォルトの名無しさん
16/05/21 09:34:19.36 4qmWB+Wj.net
>>71
お前は何がしたいんだ?
研究したいなら大学に行くといいよ
現実では直感と経験でだいたい全部決めてる。
実装する時には例えばGoogleのスタイルガイドに合わせるとか、
既存のコードから空気読むとか、
何らかのルールがあるのは確かだけど
設計の段階でそんなこと言ってたらプロジェクトは進まない。
73:デフォルトの名無しさん
16/05/21 09:51:01.31 zSvCOHYP.net
>>67
資料より対話の方が大事
図や文章はあくまで補助のメモ書きだね
74:デフォルトの名無しさん
16/05/21 10:22:35.74 hclWowah.net
>>67
シーケンス図は業務で必要だね
クラス図は今まで一度も必要になったことがない
クラス図が必要なほど複雑なクラス構成にすること自体間違ってると思う
>>72
直感と経験で決めるやつがリーダーで
チーム内の統一までやってくれればいいんだけどね
1メンバーがマイルールで直感と経験で独断で決めるのはどうかと思う
チーム内にルールは必要だし、大学とか研究とかは関係ない
75:デフォルトの名無しさん
16/05/21 10:28:49.34 Dey5A/Jl.net
>>72
だから、実際のプロジェクトでは決めるんだから何らかの基準で判断してるんだろ。
76:デフォルトの名無しさん
16/05/21 10:30:45.98 Dey5A/Jl.net
>>73
資料がないと改修で泣くよ。
77:デフォルトの名無しさん
16/05/21 10:31:01.96 4qmWB+Wj.net
>>74
誰が一人で設計すると言ったね
要件と要求を元に設計は成される物だから、当然複数人で話し合って物事は決まっていく。
その中で、経験上これはこうした方が良い気がする、とか
直感的にこれはまずいんじゃねーかと思う、とか
そういう話なんだが。
もしかして君は複数人で設計した事が一度も無いの?
78:デフォルトの名無しさん
16/05/21 10:32:32.20 4qmWB+Wj.net
>>75
実際のプロジェクト毎にその基準が変わるから
ある一つのプロジェクトについて「これはこうだったあれはああだった」って言っても
意味が無いんだよ。
79:デフォルトの名無しさん
16/05/21 10:32:37.55 Dey5A/Jl.net
>>74
クラス図が必要なほど複雑なクラス構成にすること自体間違ってると思うってのは
簡単なシステムしか作ってないからそんなこと言うんだろな。
80:デフォルトの名無しさん
16/05/21 10:34:45.75 Dey5A/Jl.net
>>78
説明できるだけの経験がない、しっかりした基準がないてきとーな判断をしてる。
どっちかだろ?
81:デフォルトの名無しさん
16/05/21 10:37:30.66 4qmWB+Wj.net
>>80
そこまで他人をこき下ろす以上は、君はそういった経験が豊富なんだよね?
ちょっと語ってくれないか。
君が経験したプロジェクトに基づいて、どういう手法を採用し、どういう問題が起きたか。
82:デフォルトの名無しさん
16/05/21 10:38:13.47 q2Zh6d9K.net
どういう手法?
人海戦術とノミニケーションだろwwww
83:デフォルトの名無しさん
16/05/21 10:42:52.87 Dey5A/Jl.net
>>81
会話の内容からしてお前よりははるかにあるだろう。
俺の経験はちょっとずつ出してる。
他の人の経験を聞きたいから、自分の考えを一方的に語りたくない。
84:デフォルトの名無しさん
16/05/21 10:45:22.63 4qmWB+Wj.net
>>83
そうともさ
俺は20代なんだから君のほうが経験が豊富かも知れないけど、それが何だと言うんだ
で、俺は君の経験を聞きたいんだけど?
どんどん語ってくれよ。
85:デフォルトの名無しさん
16/05/21 10:47:07.78 q2Zh6d9K.net
>>84
お前も少ない経験でいいから語れよw
お前がどこの誰か特定できるように
細かくな。
86:デフォルトの名無しさん
16/05/21 10:48:18.26 Dey5A/Jl.net
>>84
プロジェクトを進めるためには決めなければいけないんだから
そのときにどいうい基準で決めるのがいいんだろうか?って考える癖を付けると実力が上がる。
実際、決めなきゃ進まないんだから決めているのにある選択をした理由をちゃんと考えて記録しないのは
だめなプロジェクトで良くみる。
87:デフォルトの名無しさん
16/05/21 11:08:42.80 zSvCOHYP.net
>>76
資料無いと泣くようなシステムから脱却したいね
88:デフォルトの名無しさん
16/05/21 11:09:50.85 Dey5A/Jl.net
>>87
どうやって?
89:デフォルトの名無しさん
16/05/21 11:12:20.08 4qmWB+Wj.net
>>85
おーけい。
ある会社のインターンでの話なんだが
Google Chromeって名前のWebブラウザあるだろ?
あいつがメモリをバカ食いするのは当時でも有名でね。
どのモジュールがどのくらいメモリを食っていて、どれだけ無駄が出ているかってのを調べるために
コンパイラを改造する仕事を割り当てて貰ったんだ。
コンパイラを改造して、コンパイル時に適切なコードを差し込むことによって
Chrome自体のコードを改変せずにメモリの詳細な統計データを得ることが出来るようになる事が目的だった。
実際にはChromeじゃなくてオープンソースのChromiumの方だけどな。
果たして、それは上手く行かなかった。
というのも、オブジェクト間に参照のループがあったり
同じクラスから別の意味を持つクラスが派生してたりして
Chromium全体が密結合になっており、
「どのクラスのインスタンスがどれだけメモリを食っているか」という情報はあまり役に立たなかったんだ。
結論:オブジェクト指向設計を下手に導入すると、メンテナンス性が下がる
90:デフォルトの名無しさん
16/05/21 11:12:22.49 zSvCOHYP.net
>>88
美しいコードを書けってこと
結局のところそれだけなんだよね
91:デフォルトの名無しさん
16/05/21 11:14:11.26 Dey5A/Jl.net
>>89
Javaで書かれてる?
92:デフォルトの名無しさん
16/05/21 11:15:01.57 Dey5A/Jl.net
>>90
コメントは書く?
93:デフォルトの名無しさん
16/05/21 11:16:06.62 hclWowah.net
ここにいるやつらは2chでまで設計議論するような勤勉なやつらだから
書くコードはみんな美しいだろうな
それをチーム内に統一するのがなかなか難しいんだよ
ルール作っても守らないやつは守らないし
そもそも勤勉なやつのほうが少ないから勤勉なやつにいつも負荷かかる
94:デフォルトの名無しさん
16/05/21 11:16:39.20 4qmWB+Wj.net
>>91
c++03で書かれてた
95:デフォルトの名無しさん
16/05/21 11:18:54.32 Dey5A/Jl.net
>>94
C++は知らないけどメモリの状態を出力する機能くらいあるだろ?
それ使えば一発だったな。
96:デフォルトの名無しさん
16/05/21 11:20:45.55 4qmWB+Wj.net
>>93
うちの場合、c++なら
Makefileにcpplint.pyによるチェックが書かれてて
Googleのスタイルガイドから逸脱したコードはそもそもコンパイルできないようにしてる。
97:デフォルトの名無しさん
16/05/21 11:22:33.52 zSvCOHYP.net
>>92
コードで意図を表明出来ない場合にのみ書く
98:デフォルトの名無しさん
16/05/21 11:22:
99:43.32 ID:4qmWB+Wj.net
100:デフォルトの名無しさん
16/05/21 11:25:54.47 Dey5A/Jl.net
>>98
その機能がC++にないとは思えないけどなあ。
Javaにはある。
101:デフォルトの名無しさん
16/05/21 11:26:55.23 zSvCOHYP.net
c++ってメタデータ無いのにそんな分析できるのか
102:デフォルトの名無しさん
16/05/21 11:27:47.25 Dey5A/Jl.net
>>97
言語の標準ライブラリにもマニュアルが添付されてるけどそれについては?
103:デフォルトの名無しさん
16/05/21 11:29:03.59 4qmWB+Wj.net
>>101
関数にコメント書くことと、コードにコメント書くことは違うと思うの。
104:デフォルトの名無しさん
16/05/21 11:30:35.57 4qmWB+Wj.net
>>98
どうしてc++にそういった機能があると思えるんだ?
105:デフォルトの名無しさん
16/05/21 11:33:32.42 hclWowah.net
>>96
ああ、そういうのいいね
java+eclipseならcheckstyleプラグインがあってあれも悪くなかった
いまのプロジェクトはPHPなのでまじカオス
途中から入ると改善しようにも限界がある
106:デフォルトの名無しさん
16/05/21 11:33:48.04 4qmWB+Wj.net
>>98じゃなくて>>99だったね。
視力落ちたかな
107:デフォルトの名無しさん
16/05/21 11:36:02.84 xO6NCrBP.net
ドキュメントとコメントはまた別やで
108:デフォルトの名無しさん
16/05/21 11:36:18.20 Dey5A/Jl.net
>>103
そんな機能もないの?って感じだから。
109:デフォルトの名無しさん
16/05/21 11:38:51.76 xO6NCrBP.net
>>89
継承は糞 だな
110:デフォルトの名無しさん
16/05/21 11:39:02.19 4qmWB+Wj.net
>>107
つまり直感ってことね。
その直感は誤りだよ。
111:デフォルトの名無しさん
16/05/21 11:42:08.97 Dey5A/Jl.net
>>109
C++は知らないって言ったろ。
Javaだったら当然の機能だからほんとにないとは思えなかった。
112:デフォルトの名無しさん
16/05/21 11:44:15.31 4qmWB+Wj.net
>>110
Javaに特有の機能が他の言語に無いとは本当に思えなかった、なんて思ってるとは今でも信じられないよ。
アセンブリ言語をやると良いよ。
そうすれば君に足りない知識や経験が得られるだろうから。
113:デフォルトの名無しさん
16/05/21 11:45:38.42 q2Zh6d9K.net
>>89
お前のレスの内容からわかるのは
こういうことだ。
1. Chrome(chromium)はオブジェクト指向を導入している。
その理由が何かはわからないが、開発者は天才集団だ。
オブジェクト指向を導入することが成功への近道であると
天才集団が判断したに違いないし、実際に成功している。
2. お前はChromiumの改造に失敗した。
天才集団が作ったソースコードを修正する技術力がなかった。
お前のレスからわからないこと
1. Chromiumがオブジェクト指向だったからわからなかったと言っているが、
オブジェクト指向以外で作られたChromium(もちろんそんなものはないが)を
お前がメンテナンスできたわけじゃないので、オブジェクト指向が原因とは断定できない。
まず話を整理した。反論があるのならどうぞ?
114:デフォルトの名無しさん
16/05/21 11:47:36.21 Dey5A/Jl.net
>>111
アセンブリ言語くらい知ってるけど。
ちなみにgprofは使わなかった理由は?
gprofはC++でも使えるだろ?
115:デフォルトの名無しさん
16/05/21 11:48:04.13 RrD1FkH/.net
>>110
おばかwww
116:デフォルトの名無しさん
16/05/21 11:55:52.40 xEB5od3W.net
>ID:Dey5A/Jl
仮想マシンで無駄なオーバーヘッド垂れ流しの高級言語と一緒にするな
どうせならC++はスレ違いと主張しろ
117:デフォルトの名無しさん
16/05/21 11:56:37.92 4qmWB+Wj.net
>>112
最初のは1行目だけは合ってるな。
何をどう曲解したらその後ろが読み取れたのかが分からんのだけど
Chrome/Chromiumはメモリをバカ食いしてswapを浪費し結局遅くなるという点で失敗してる
というニュアンスの事を言ったつもりだし
オブジェクト指向導入が成功への近道だなんて一言も言ってない。
天才集団云々についてはソースきぼん
二つ目は概ね正しい。俺にはChromiumとそれに使われるコンパイラ(clangだった)を
同時に魔改造するだけの技術力は無かった。
んでもって、俺が言ったのは正しくは
下手くそなオブジェクト指向設計を行った結果密結合になり、
根幹となる部分を書き換えるような改造が困難になった、ということで
オブジェクト指向設計全体を否定してはいなに。
118:デフォルトの名無しさん
16/05/21 12:00:05.18 Dey5A/Jl.net
>>115
C++はメモリ解法が組み込まれた?みたいなことを噂で聞いた気がするから
オブジェクトを把握してるのかと思ってたんだけどなあ。
C++について話すのはスレと違うから止めるわ。
119:デフォルトの名無しさん
16/05/21 12:00:14.12 4qmWB+Wj.net
>>113
gprof?
勿論使ったけど、思ったような情報が集められなかったんだ。
そんな事より、アセンブリ言語を知ってるなら
メモリにどの種類のオブジェクトがどれだけ乗ってるかを調べるのは難しいことだって事くらい常識だろ?
120:デフォルトの名無しさん
16/05/21 12:04:18.12 4qmWB+Wj.net
ところで
c++はマルチパラダイム言語で、勿論オブジェクト指向も含む
っていう主張はこのスレでは通らない感じ?
121:デフォルトの名無しさん
16/05/21 12:04:56.21 Dey5A/Jl.net
>>118
お前が言ってることが本当なら
C++はオブジェクト指向を十分活用できる実装になっていないって俺は評価する。
アセンブリとJavaじゃ全然違う。
122:デフォルトの名無しさん
16/05/21 12:07:12.55 4qmWB+Wj.net
>>120
そうかい。
全然違うからこそ、学ぶ価値が有るよって言ってるんだけど。
ちなみにc++に於けるGCは普通はリファレンスカウントのみです。
スコープから外れた次点でデストラクタが走るっていう機構を利用してる。
123:デフォルトの名無しさん
16/05/21 12:10:29.05 Dey5A/Jl.net
>>121
だからアセンブリ知ってるって言ってるだろ。読んで。
スレと違うからもっと語りたいならスレ立てるなりふさわしいスレに移ってやろう。
124:デフォルトの名無しさん
16/05/21 12:14:07.97 4qmWB+Wj.net
>>122
知ってるって言ってる割に知ってるなら当然ある筈の知識が欠落してるようにしか見えないから
敢えて言ってるんだけどね。
Java使えます!オブジェクト?知りません!みたいな感じ?
125:デフォルトの名無しさん
16/05/21 12:15:40.19 Dey5A/Jl.net
>>123
他のスレを立てるなりしてくれりゃ相手してやるよ。
このスレではスルーするから。
126:デフォルトの名無しさん
16/05/21 12:16:35.00 GoMclkdv.net
オブジェクトちんこはオワコン
127:デフォルトの名無しさん
16/05/21 12:17:05.21 4qmWB+Wj.net
なんでそう偉そうなのさ?
スレリンク(tech板)l50
128:デフォルトの名無しさん
16/05/21 12:18:49.57 Dey5A/Jl.net
>>126
>>112の内容で語りたいんだろ?
アセンブリのスレは違う。
129:デフォルトの名無しさん
16/05/21 12:21:19.22 4qmWB+Wj.net
>>127
俺が語りたいのは、
こんなプロジェクトをやりました
オブジェクト指向設計は上手くやりましょう
って話だぞ?
お前があまりにも無知だからアセンブリスレで勉強したら良いと思ってそのスレを挙げたんだけど。
130:デフォルトの名無しさん
16/05/21 12:29:14.18 q2Zh6d9K.net
>>116
つまり単にお前の技術力が低くて、
技術力が低いがゆえにオブジェクト指向をディスってるわけね?
Chromeと同等の、ブラウザをオブジェクト指向を使わずに
もっとシンプルに、(お前は実装できる力がないのは分かってるから)
もっとシンプルに実装しているやつを持ってこいよ。
今のままではお前が複雑なシステムを
メンテする力がないってことしかわからない。
オブジェクト指向をディスるなら、サンプルじゃない程度の規模で
ほぼ同じものを別の方法で作ったものを持って事ないと
全然比較にならない。
お前オブジェクト指向が~といってるだけで、比較を何もしていない。
131:デフォルトの名無しさん
16/05/21 12:34:27.23 4qmWB+Wj.net
>>129
> 技術力が低いがゆえにオブジェクト指向をディスってるわけね?
違う。
オブジェクト指向設計をディスってる訳じゃなくて、下手くそな設計をディスってる。
思い込みを捨ててよく読みなおして欲しいな。
> Chromeと同等の、ブラウザをオブジェクト指向を使わずに
> もっとシンプルに、(お前は実装できる力がないのは分かってるから)
> もっとシンプルに実装しているやつを持ってこいよ。
なにをもって「同等の」と言うかにも依るんだけど、lynxならその条件を満たすんじゃない?
Googleのトップページがきちんと見れる位にはW3CやECMAに良く対応してるし。
URLリンク(lynx.browser.org)
132:デフォルトの名無しさん
16/05/21 12:36:31.08 Dey5A/Jl.net
>>116
正しい設計をしなきゃいけないって結論なんだろ?
だから正しい設計をするための指針が必要って話。
「既存のコードから空気読んで」なんて言ってたらいい設計にならない。
133:デフォルトの名無しさん
16/05/21 12:38:33.81 4qmWB+Wj.net
>>131
設計と実装をごっちゃにしてないか?
俺が「既存のコードから空気を読んで」って言ったのは、その直前の文からも分かるように
ifと(の間にスペースを入れるかどうか、とかそのレベルの話をしたんだが。
134:デフォルトの名無しさん
16/05/21 12:39:00.03 q2Zh6d9K.net
>>130
技術力が低いとお前自身が認めてるのに、
そのお前が下手と言っても意味はない。
たとえば将棋で、なんでこんな手を指すのだ?って
名人の対局を見ていっているようなものだ。
お前が理解できていない。
lynxはJavaScriptすら搭載されてないので同等とみなせない
なにをもって「同等の」にこだわるのなら、
お前がこれから一ヶ月の間、仕事(学校?)中も含めて
一日中それ過ごせるブラウザだ。
135:デフォルトの名無しさん
16/05/21 12:40:20.10 q2Zh6d9K.net
>>131
> 正しい設計をしなきゃいけないって結論なんだろ?
後から読むときに読みやすくて、
後から拡張するときに書きやすくするため
だから既存のコードから空気を読みやすくするために、
正しい設計をする。
136:デフォルトの名無しさん
16/05/21 12:41:30.36 Dey5A/Jl.net
>>132
指針やルールなしに直感と経験でてきとーに決めた結果だめな設計になる。
ダメな設計はダメだってお前も認めているんだろ?
だったら正しい設計をできるようにするにはどうすればいいと思ってんの?
137:デフォルトの名無しさん
16/05/21 12:41:43.67 4qmWB+Wj.net
>>133
> 技術力が低いとお前自身が認めてるのに
言ってないし、認めてもいない。
Chromiumやclangを魔改造するだけの技術力は無かった、と過去形で言ったに過ぎない。
> 一日中それ過ごせるブラウザだ。
その条件ならlynxで十分だね。
138:デフォルトの名無しさん
16/05/21 12:42:24.07 q2Zh6d9K.net
> その条件ならlynxで十分だね。
ほう。じゃあGMailやGoogle Mapを見るときはどうするの?
139:デフォルトの名無しさん
16/05/21 12:43:09.36 q2Zh6d9K.net
> Chromiumやclangを魔改造するだけの技術力は無かった、と過去形で言ったに過ぎない。
今は技術力があることをを証明してないし、
毎度毎度、こいつは何も証明していない。
自分の感想を言ってるに過ぎない。
技術力がないことだけは真実だろう。
140:デフォルトの名無しさん
16/05/21 12:43:21.58 4qmWB+Wj.net
>>137
メールはmewがあるし、地図なんて街を歩けばそこらに有るだろ?
141:デフォルトの名無しさん
16/05/21 12:44:59.69 q2Zh6d9K.net
>>139
つまりそういうことだよw
お前は使わない。使わないから
そんな機能があることを想定しない。
そんな機能がないことを前提として設計を考えている。
だからもっとシンプルに書けるはずだと言っているが無理。
つまり、お前の世界が狭いために、
それだけの設計をしている理由がわからないし、
いざその設計を前にすると、お前は何もできなかった。
井の中の蛙ってやつだよw
142:デフォルトの名無しさん
16/05/21 12:45:45.19 4qmWB+Wj.net
>>138
そんなに証明に拘るなら、今趣味でOS書いてっからそれを読んでみてよ。
どのくらい低レベルな技術力かわかるから。
URLリンク(github.com)
143:デフォルトの名無しさん
16/05/21 12:46:04.92 q2Zh6d9K.net
>>141
低レベルと理解したw
144:デフォルトの名無しさん
16/05/21 12:47:57.47 q2Zh6d9K.net
おっと、間違えた
技術力が低いと理解したw
145:デフォルトの名無しさん
16/05/21 12:50:15.82 4qmWB+Wj.net
>>140
つまりどういうこと?
君が「ブラウザ」にメールと地図とその他ありとあらゆる機能、例えば電話なんかを搭載しないと気が済まないのかも知れん。
それは結構な事なんだけど、ブラウザってのはそもそも
URLリンク(ja.wikipedia.org) より引用すると
『大まかに言うと、ウェブブラウザは3つの部分から構成される。
1. URI, HTTP 等に基き、サーバと通信してリソースを取得する、HTTP ユーザエージェントの部分。
2. 取り寄せた資源をその種類 (HTML/XHTML/XML, 文書、画像等)に応じて解析する構文解析の部分。
3. 構文解析の結果を基に文字や画像を適切に配置し、あるいは文字の大きさを調整したり色を付けるなどして最終的に人間の為の表示を行う描写の部分。』
こういうものだろ?
何でメールを開くのにブラウザを使わなきゃならないんだ?
146:デフォルトの名無しさん
16/05/21 12:52:45.65 q2Zh6d9K.net
> 君が「ブラウザ」にメールと地図とその他ありとあらゆる機能、例えば電話なんかを搭載しないと気が済まないのかも知れん。
ブラウザにGmailや地図機能が搭載されてると思ってるのか?
こいつ本気で世界が狭いぞwww
147:デフォルトの名無しさん
16/05/21 12:52:55.78 Dey5A/Jl.net
オブジェクト指向設計の話に戻れよ。
関係ない話して>>135をスルーすんな。
148:デフォルトの名無しさん
16/05/21 12:55:56.13 4qmWB+Wj.net
>>146
すまんね。
えーと、何の話だっけ?
そうそう、正しい設計をするにはどうすれば良いか、だったね。
直感と経験で適当な設計をすれば良いんじゃないの?
適当:ある性質・状態・要求などに、ちょうどよく合うこと。ふさわしいこと。
149:デフォルトの名無しさん
16/05/21 12:57:31.54 Dey5A/Jl.net
>>147
それができていないから困ったんだろ?
150:デフォルトの名無しさん
16/05/21 12:58:17.08 4qmWB+Wj.net
>>148
適当でない設計が成されてたから、困ったね。
151:デフォルトの名無しさん
16/05/21 13:00:59.05 Dey5A/Jl.net
>>149
Googleでもできていないのにお前は直感と経験で正しい設計ができるって自信の根拠は?
お前は経験が不足していることも認めているから、直感だけだな。
そんなんで間違えないとは思えないだろ?
152:デフォルトの名無しさん
16/05/21 13:01:29.28 q2Zh6d9K.net
設計なんて作るもので変わるものなのに、
単純な機能しか想定できてないやつに、
Chromeの設計をごちゃごちゃいう資格はねーよ。
153:デフォルトの名無しさん
16/05/21 13:10:37.89 4qmWB+Wj.net
>>150
Google ChromeやChromiumの設計にはGoogleは関与していないんですがそれはそれとして
適当でない設計だったら設計しなおせばいいんじゃないの?
設計し直す事によってノウハウも貯まるんだし。
>>151
君が、使いもしない機能のために設計を複雑化させる人だという事は分かった。
俺はlynxとchromiumを同じだけ使った訳じゃないけど、俺にとってはどちらも不便じゃなかった。
ただそれだけの事実をどうして捻じ曲げて解釈するのかね。
154:デフォルトの名無しさん
16/05/21 13:15:07.48 Dey5A/Jl.net
>>152
矛盾してるなあ。
「下手な設計のせいでだめなシステムになる」
「適当でない設計だったら設計しなおせばいい」
ダメな設計なのに修正できてないシステムが存在するのはどうして?
理由くらい想像つかない?
155:デフォルトの名無しさん
16/05/21 13:16:45.12 q2Zh6d9K.net
>>152
「想定」っていうのは、お前がお前自身で使うことを想定しろって話じゃない。
他人が使う機能を想定しろ。
どうしてお前はいつも、お前の中の世界だけで
物事を考えてるんだ?w
156:デフォルトの名無しさん
16/05/21 13:23:26.36 4qmWB+Wj.net
>>153
> ダメな設計なのに修正できてないシステムが存在するのはどうして?
何が自明じゃないのかが分からないんだけど
実装した「後」に設計を変更したら違う実装が必要になるよね?
同じ実装を使いまわしてる以上は、設計の大幅な修正は出来ないよ。
逆に、設計を修正したいのなら実装は捨てる勢いじゃないと。
派閥や権力の問題でそれが出来ないから、そういったシステムが存在するのでは?
157:デフォルトの名無しさん
16/05/21 13:23:53.70 4qmWB+Wj.net
>>154
アスペだからさ。
158:デフォルトの名無しさん
16/05/21 13:25:02.03 Dey5A/Jl.net
>>155
つまり「適当でない設計だったら設計しなおせばいい」というのは現実的じゃないと認めると?
159:デフォルトの名無しさん
16/05/21 13:25:16.60 W+CoeO47.net
OOPは甘え
160:デフォルトの名無しさん
16/05/21 13:28:33.55 4qmWB+Wj.net
>>157
何か飛躍してる気がする
設計が適当かどうかは設計の段階で判別すべき問題であって、
駄目な設計の元で実装を与えたらそりゃそんなシステムが作られるよねって事を言いたいんだけど・・・・・・
設計が適当かどうかの判別が出来ない人間が営業やってるってそ�
161:ネに変な仮定かな。
162:デフォルトの名無しさん
16/05/21 13:34:12.37 Dey5A/Jl.net
>>159
設計がダメだとダメなシステムができるってことは最初から分かってるから何度も言わなくていいよ。
だから、「正しい設計をする必要があるんだろ?」って聞いたら
「だめな設計ならしなおせばいいから問題ない」みたいなことをお前が言い出したから意味不明。
何が言いたいんだか明確に。
163:デフォルトの名無しさん
16/05/21 13:36:12.26 W+CoeO47.net
>>160
君はウォーターフォールとスパイラルの違いすら理解出来ていないのか
164:デフォルトの名無しさん
16/05/21 13:37:41.47 Dey5A/Jl.net
>>161
スパイラルなら設計指針がいらないとでも?
165:デフォルトの名無しさん
16/05/21 13:42:03.68 4qmWB+Wj.net
>>160
確かに、間の話をすっ飛ばすと意味不明だな。
>>131で君は
> だから正しい設計をするための指針が必要って話。
こう書いたけど、俺はどちらかと言うと、
派閥や権力なんかの問題で正しい設計を妨害されるのでなければ、
指針なんか無くてもそのうち正しい設計にたどり着けるだろうっていう楽観論を持ってる。
設計を一人でやるのでなければね。
一人で設計するのであれば、確かに指針は必要だと思うよ。
166:デフォルトの名無しさん
16/05/21 13:48:13.84 Dey5A/Jl.net
>>163
経験のない奴がやれば間違った設計をすることはお前も認めたんだけど。
だから「間違った設計をしたら直せばいい」って流れだろ。
自分の書き込みに沿って話せよ。
で、言ってることがぶれてて分からん。分かるように書いてくれ。
167:デフォルトの名無しさん
16/05/21 13:50:59.11 q2Zh6d9K.net
間違った設計はなくても、設計が変わることはある。
一度作ったソフトウェアがバージョンアップしないと言うのなら別だけど、
ブラウザのようなものは、設計は常に変わっていく。
だめだから変わるんじゃない。
いいものから更にいいものに変わるんだよ。
何が正しい設計? そんなものバージョンアップで変わるに決まってる。
最初から未来の設計をしてはいけない。
168:デフォルトの名無しさん
16/05/21 13:52:49.78 4qmWB+Wj.net
>>164
ちょっと待った。
そんな事俺認めてたっけ?
169:デフォルトの名無しさん
16/05/21 13:54:12.61 q2Zh6d9K.net
バージョンアップで設計が変わるということがどういうことかというと、
バージョンアップで搭載される機能によって、正しい設計は変わるということ。
つまり搭載される機能を把握してないと、正しい設計はわからない。
ここで、ブラウザにどんな機能が搭載されているかを
把握してないようなやつが、Chromeの設計をディスった所で
的外れでしか無い。
「お前はこういう設計になってる理由が分かってない」の一言で一蹴できる話。
そこまで考えられないから、技術力が低いといわれている。
170:デフォルトの名無しさん
16/05/21 13:54:38.15 Dey5A/Jl.net
>>166
どっかで認めていたはずだけど、逆に経験がない設計者が最初から正しい設計ができると思ってんの?
171:デフォルトの名無しさん
16/05/21 13:57:33.25 q2Zh6d9K.net
lynxとChromeを同等の機能を持ったブラウザという認識しか出来ないやつに、
どんな機能を満たすために設計すればいいかなんて答えられるわけないし、
lynxで十分な機能だと思ってるやつが、Chromeの設計をディスった所で
「必要とされる機能」を理解してないやつの考えとしか思われない。
172:デフォルトの名無しさん
16/05/21 13:59:49.12 4qmWB+Wj.net
>>168
経験があろうがなかろうが最初から正しい設計なんてそうそう出来ない。
そして、最初から正しい設計が出来るって事と、
正しい設計がそのうち出来るって事は明確に違う。
もしかして、設計は上書き不能なデバイス上で行う類のものだったりするの?
173:デフォルトの名無しさん
16/05/21 14:01:49.63 4qmWB+Wj.net
>>169
その「同等」の要件に、俺が、不自由しない事って指定したのは君(>>133)なんだが。
174:デフォルトの名無しさん
16/05/21 14:04:12.14 Dey5A/Jl.net
>>170
「最初から正しい設計なんてそうそう出来ない」「そのうち正しい設計になる」
ってその間プロジェクトはどうなってるのかな?
業務システムの開発プロジェクトに参加した経験ないだろ?
175:デフォルトの名無しさん
16/05/21 14:05:02.11 4qmWB+Wj.net
>>172
設計フェーズ中ですな。
176:デフォルトの名無しさん
16/05/21 14:06:24.85 q2Zh6d9K.net
>>171
> その「同等」の要件に、俺が、不自由しない事って指定したのは君(>>133)なんだが。
その質問の本当の狙いは、お前がブラウザの機能として
想定しているものが、大幅に狭いってことを明らかにするためだよw
見事お前はlynxで機能として十分だと言ってくれたわけで、
お前にそう言わせることが、その質問の俺の勝利条件w
設計というものは、必要な機能によって何が正しいかが変わるものので、
その必要な機能を把握してないやつに正しい設計はわからないし、
正しい設計がわからないやつが
177:Chromeの設計をディスることは出来ない。
178:デフォルトの名無しさん
16/05/21 14:06:26.42 Dey5A/Jl.net
>>173
設計フェーズはいつ終わるんだ?
期間はどのくらい?
業務システムの開発プロジェクトに参加した経験ないだろ、は?
179:デフォルトの名無しさん
16/05/21 14:07:38.65 q2Zh6d9K.net
>>172
> 「最初から正しい設計なんてそうそう出来ない」「そのうち正しい設計になる」
> ってその間プロジェクトはどうなってるのかな?
その質問に意味はあるのか?
どのフェーズでも同じことだろ
「最初から正しい要求なんてそうそう出来ない」「そのうち正しい要求になる」
「最初から正しい仕様なんてそうそう出来ない」「そのうち正しい仕様になる」
180:デフォルトの名無しさん
16/05/21 14:08:47.42 q2Zh6d9K.net
>>175
> 設計フェーズはいつ終わるんだ?
> 期間はどのくらい?
終るタイミングや期間は、他のフェーズと同じ考え方だろ。
要求フェーズはいつ終るんだ?
期間はどのくらい?
お前が業務システムに参加しているならば
答えられるはずだ。
181:デフォルトの名無しさん
16/05/21 14:09:04.62 Dey5A/Jl.net
>>176
実際のプロジェクトの経験があれば質問の意味は分かるだろ?
182:デフォルトの名無しさん
16/05/21 14:09:39.96 4qmWB+Wj.net
>>174
「本当の狙い」だなんて後出しされても知らんよ。
>>175
高々半年やそこらだろ。
そして「業務システムの開発プロジェクト」とやらに参加したことは確かに無いが、
それを確認して君に何の利益があるんだい?
183:デフォルトの名無しさん
16/05/21 14:09:51.70 q2Zh6d9K.net
>>178
質問の意味ならばお前もわかってるはずだ。
自分の質問に、自分で答えられるはずだよな?
まずお前の場合でいいから、
答えを言ってみてはどうだ?
184:デフォルトの名無しさん
16/05/21 14:11:47.99 q2Zh6d9K.net
>>179
> 「本当の狙い」だなんて後出しされても知らんよ。
意味わからん。
お前を罠にハメたってだけだが?w
最初から「お前の技術力が低いから、Chromeの設計をディスってるんだな」って
思ったから、うまく誘導して、お前の技術力が低い根拠を、お前自身に言わせただけ。
お前の想定する範囲が狭いことがわかったので、
お前にChromeの設計はできん。設計できんやつがあれこれ言った所で
何の説得力もない。
185:デフォルトの名無しさん
16/05/21 14:13:45.30 4qmWB+Wj.net
>>181
人を罠にはめて笑うのって本当にそれだけで楽しいの?
不思議な人。
186:デフォルトの名無しさん
16/05/21 14:14:42.87 Dey5A/Jl.net
>>179
務システムの開発プロジェクトに参加したことがないと確認して話が噛み合わないのが納得。
設計に続く構築フェーズの人の手配は数ヶ月前からやる必要があるから
設計フェーズの期間は事前に決まってる。
で、その期間で完成したものが設計フェーズの成果物。
その後に修正しないってことはないけど、構築が始まっちゃってるんだから
簡単に変更できるものじゃない。
だから、「そのうち正しい設計になる」みたいな発想はおかしい。
それと完成したシステムの設計を変更するってことは構築もやり直すんだから
これまた困難なこと。
187:デフォルトの名無しさん
16/05/21 14:20:51.60 4qmWB+Wj.net
>>183
つまり、君の質問は
「理論的に、正しい設計をするにはどうなっていなければならないか」
ではなく
「正しい設計を期限内に完了させるにはどうすれば良いか」
という事?
ごめん、その質問なら俺には答えられないわ。
マ板でやれ。
188:デフォルトの名無しさん
16/05/21 14:23:53.36 q2Zh6d9K.net
>>182
> 人を罠にはめて笑うのって本当にそれだけで楽しいの?
笑ってない。
お前が間違っていると主張している。
で、その主張の根拠を集めたに過ぎない。
所詮お前は、設計に必要な機能の想定の時点で出来てない。
189:デフォルトの名無しさん
16/05/21 14:24:16.67 Dey5A/Jl.net
>>184
開発期間に制約がないプロジェクトって謎過ぎて…。
個プロジェクトにおける設計指針について語りたいから人の趣味レベルなら好きにしてよ。
190:デフォルトの名無しさん
16/05/21 14:24:25.73 zSvCOHYP.net
>>101
そのライブラリには誰にでも数回の操作でアクセスできるソースコードとユニットテストは無いの?
ドキュメントが正しいってどうやって確かめてるのかな?
191:デフォルトの名無しさん
16/05/21 14:24:52.96 q2Zh6d9K.net
>>183
期間内に正しい設計にすればいいんだよw
要求フェーズでも同じことだろ。
192:デフォルトの名無しさん
16/05/21 14:25:19.45 4qmWB+Wj.net
>>185
へーwww
笑ってないんだwww
もうちょっと具体的に言ってくれない?ww
193:デフォルトの名無しさん
16/05/21 14:27:20.91 Dey5A/Jl.net
>>187
ドキュメントが必要だと言語の開発者も認めていることはスルーかな?
194:デフォルトの名無しさん
16/05/21 14:28:36.75 Dey5A/Jl.net
>>188
そりゃそうだろ。当然のこと。
195:デフォルトの名無しさん
16/05/21 14:29:51.35 Dey5A/Jl.net
>>187
コードのコメントとテストが不要なんて言ってないし。もちろんそれも必要。
196:デフォルトの名無しさん
16/05/21 14:35:31.86 4qmWB+Wj.net
ところで、>>Dey5A/Jlはプログラム技術板の住民に何を求めてたんだろう。
197:デフォルトの名無しさん
16/05/21 14:36:22.78 q2Zh6d9K.net
>>189
何度も具体的に言ったが?
最初から「お前の技術力が低いから、Chromeの設計をディスってるんだな」って
思ったから、うまく誘導して、お前の技術力が低い根拠を、お前自身に言わせただけ。
具体的にいって欲しいならこれに過去レスの内容を肉付けするだけだけど。
最初から「お前の技術力が低いから、Chromeの設計をディスってるんだな」って思った。
技術力が低いことを直接認めさせようとしても無理だろう。だから間接的に攻めよう。
実際にブラウザを作るのは労力がかかるから技術があってもやりたくない。
Chromeの設計をディスるならば、他のブラウザを知ってるはずだ。
それを持ってきてもらう。ただし同等の機能を搭載しているのが条件だ。
といったらlynxを持ってきた。これは使える。lynxとChromeが持っている機能は明らかに違う。
lynxで出来ないGmailやGoogle Mapのことについてどう考えているのかを聞いてやろう。
(続く)
198:デフォルトの名無しさん
16/05/21 14:36:44.78 Dey5A/Jl.net
>>193
プログラム技術はプロジェクト経験者がいないと思ってるのかな?
199:>>194の続き
16/05/21 14:36:54.49 q2Zh6d9K.net
そしたらそんなことはブラウザではやらないと言った。
これは決め手になる。つまりはそういう用途で使うことを想定してないということだ。
「技術力が低い」理由の一つは「想定能力が低い」ことでもある。
今までの話から、ブラウザの機能として想定しているものがlynx程度だって判明している。
設計はどんな機能を搭載するかで決まるものだから、その機能すら想定してないやつには
正しい設計など出来ない。よってこいつにChromeの設計をディスる能力はない
200:デフォルトの名無しさん
16/05/21 14:39:37.89 4qmWB+Wj.net
>>195
そうではなく、上流工程のノウハウを持つ人材ってどのくらい見てるのかなって疑問に思っただけ。
201:デフォルトの名無しさん
16/05/21 14:41:34.89 4qmWB+Wj.net
>>194
その「同等」の定義によると、GMailやらGoogle Mapsやらは使えなくても良い事になってる。
202:デフォルトの名無しさん
16/05/21 14:41:37.38 Dey5A/Jl.net
>>197
単なる疑問なのに他行けとか言っちゃうのはやめようね。
203:デフォルトの名無しさん
16/05/21 14:43:32.77 4qmWB+Wj.net
>>199
そういう風に解釈したなら謝るよ、ごめんよ。
204:デフォルトの名無しさん
16/05/21 14:44:24.02 q2Zh6d9K.net
>>198
それはお前が使う場合の想定の話だろ?
自分専用ツールでもない限り、
想定っていうのは他人が使うことを想定しなければいけない。
ここで明らかにしたかったのはお前の想定能力
お前の想定ではGMailやらGoogle Mapsやらは使えなくても良い事になっている。
そういう人にChromeに設計はできない。
という話をしている。
205:デフォルトの名無しさん
16/05/21 14:45:27.96 Dey5A/Jl.net
>>200
いえいえ。
206:デフォルトの名無しさん
16/05/21 14:47:09.27 zSvCOHYP.net
>>190
標準ライブラリは変化が小さく安定してるからね
詳細なドキュメントやコメントを書く余裕がある(価値があるなしは置いておいて)
しかし変化の激しいビジネスドメインで同じことをやろうとしてもコードとドキュメントやコメントの同期が追いつかない
だからドキュメントやコメントではなくコードとユニットテストが大切なんだ
207:デフォルトの名無しさん
16/05/21 14:47:09.39 4qmWB+Wj.net
>>201
> それはお前が使う場合の想定の話だろ?
そりゃそうだが、アスペに何言ってるの?
> お前がこれから一ヶ月の間、仕事(学校?)中も含めて
> 一日中それ過ごせるブラウザだ。
こう言ったから、その条件ならlynxも含まれるね!って言ったんだけど。
URLリンク(ja.wikipedia.org)
208:デフォルトの名無しさん
16/05/21 14:51:05.77 q2Zh6d9K.net
>>204
そこは重要なところか?w
> その「同等」の定義によると、GMailやらGoogle Mapsやらは使えなくても良い事になってる。
と言ってしまった、お前の想定能力の低さに
なんの関係があるんだ?w
209:デフォルトの名無しさん
16/05/21 14:52:37.29 Dey5A/Jl.net
>>203
変化しているならなおさらドキュメントがないと影響範囲とか変更履歴の確認とか大変。
概要くらいはドキュメントに書こう。
お前も実際のプロジェクトでの経験はない人?
210:デフォルトの名無しさん
16/05/21 14:53:38.93 4qmWB+Wj.net
>>205
全て重要な事だろ。何言ってんだ?
君の言う「同等」の定義によると、「俺が」「一ヶ月」使えるなら同等だって事なんだろ?
その意味で、lynxもGoogle Chromeも同等のWebブラウザだぞ?
211:デフォルトの名無しさん
16/05/21 14:58:53.23 q2Zh6d9K.net
>>207
お前にとっては重要な事なんだなw
俺にとってはChromeのオブジェクト指向による設計を
お前がディスってるのは、単にお前の技術力が低いだけってことを
証明できればそれで十分なんだよ。
で実際証明された。そしてここはお前が反論できない部分でもある。
想定能力の低さによる判断の一つの例が
> 「俺が」「一ヶ月」使えるなら同等だって事なんだろ?
だからねw
212:デフォルトの名無しさん
16/05/21 15:00:45.44 q2Zh6d9K.net
あ、そうかあんたはアスペでしたねw
同等のブラウザの話をしてるんだから、
Chromeの代わりに一ヶ月同じように使うっていうのは
当たり前の前提条件ですよ。
213:デフォルトの名無しさん
16/05/21 15:02:29.73 4qmWB+Wj.net
>>208
想定能力が低いって意味が、アスペルガー症候群に於ける認知能力の特異性について指しているなら、
俺の想定能力が低いのは正しい。
で、アスペルガー症候群って知ってる?
あと、技術力が低い事と想定能力とやらが低い事の間には正の相関があるの?
214:デフォルトの名無しさん
16/05/21 15:04:53.28 4qmWB+Wj.net
>>209
君は>>133で書いてる。
> なにをもって「同等の」にこだわるのなら、
> お前がこれから一ヶ月の間、仕事(学校?)中も含めて
> 一日中それ過ごせるブラウザだ。
つまり、君にとって、「同等の」の定義は、俺が一ヶ月使えるブラウザだって事だ。
それを後から「当たり前の前提条件ですよ」と言ってひっくり返すのは宜しくないな。
215:デフォルトの名無しさん
16/05/21 15:05:58.61 q2Zh6d9K.net
> で、アスペルガー症候群って知ってる?
なんだ? 自分から自分でアスペって言い出したのは
なんでだって思ったら、アスペの特徴のうち
優れた点だけを抜き出して、
俺は優れているんだって言うつもりかな?
アスペルガー症候群? 知らないなぁ。
説明して見せてw
その説明によっては、君は単なるバカでアスペじゃないかもねw
216:デフォルトの名無しさん
16/05/21 15:06:47.38 q2Zh6d9K.net
>>211
つまり、lynxは同等のブラウザじゃないってこと?w
217:デフォルトの名無しさん
16/05/21 15:07:40.84 4qmWB+Wj.net
>>212
アスペの特徴のうち劣ってる点を前面に出しているんだけど、日本語読めてる?
説明はWikipediaに丁寧に書かれてるから省くよ。スレ違いだしね。
218:デフォルトの名無しさん
16/05/21 15:08:37.71 4qmWB+Wj.net
>>213
「同等」の定義にもよる。
219:デフォルトの名無しさん
16/05/21 17:04:25.49 uPXSQ8F/.net
ある言語の言語仕様がクソだとか
あるコンパイラの実装がクソだとか
初心者ってのはとにかくそれを言いたがる
無邪気にそれを言いたがる
220:デフォルトの名無しさん
16/05/21 17:15:38.68 jm0r3P4w.net
レス9で懸念した通りになったな。ネタスレに振り切らないと荒れるだけ。
こういうのはTwitterのような業界有名人同士がテンポ良く議論しないとあ
んまり為にならない。
221:デフォルトの名無しさん
16/05/21 17:53:28.24 Dey5A/Jl.net
業界有名人同士のTwitterって…。
222:デフォルトの名無しさん
16/05/21 18:26:36.65 J4qAac+5.net
スレタイからかけ離れた煽り合戦になってるな
良いオブジェクト指向設計は何かを
議論するスレかと思ってたが
223:デフォルトの名無しさん
16/05/21 18:37:45.87 Dey5A/Jl.net
経験者が予想以上に少ないのかねえ。
224:デフォルトの名無しさん
16/05/21 19:48:31.27 zSvCOHYP.net
>>206
変化があるたびにコメントとドキュメントを直していたらコストは3倍になる
実際は同期が取れているかのチェックなどでさらに工数が増える
これは許容できないコストだよ
225:デフォルトの名無しさん
16/05/21 20:22:38.39 Ox0LpmWi.net
ドキュメントは自動生成だろ
226:デフォルトの名無しさん
16/05/21 20:45:52.79 Dey5A/Jl.net
>>221
ドキュメントすらないシステムを理解して改修する手間よりずっと少ないじゃん。
そもそも客からドキュメントの提出を求めて来るだろ。
趣味じゃなく実業務のプロジェクトやってことあるのか?
趣味でやってるなら趣味でやってるって書いてくれよ。
それならそれに合わせて緩く対応するから。
227:デフォルトの名無しさん
16/05/21 20:46:46.87 Dey5A/Jl.net
>>222
設計書がなけりゃ何見て作るんだろ?
228:デフォルトの名無しさん
16/05/21 21:09:25.89 zSvCOHYP.net
>>223
システムを理解するにはメモ書き程度の資料と綺麗なコードがあれば充分
大人の事情でドキュメントを作る事はあっても役にたつなんて本気で思ってるうちはアマチュアだよ
229:デフォルトの名無しさん
16/05/21 21:11:26.64 xm4TkEYQ.net
ドキュメントを書かない奴はレベルが低い
230:デフォルトの名無しさん
16/05/21 21:16:44.29 Dey5A/Jl.net
>>225
ふーん。どういうプロセスでオブジェクト指向設計をやってるのか語ってくれ。
231:デフォルトの名無しさん
16/05/21 21:19:21.49 ycaEwNI1.net
>>218
どういう実務経歴の人がどういう観点から発言しようとしてるのか
明確にしないと説得力なんか全然出ない。
てなるとある程度名と実績の知れた人、自己責任で過去に関わった案
件の内容を差し障りのない範囲で公開できる人(=業界有識者、オピニオンリー
ダー)に限定されてしまうな。
ここまでくどく書く必要があるかどうかわからんが、極端な話、ソーシャル
アプリと原発制御システムとでは開発手法が全然違うしな。なんで、同じ土俵で
議論なんてできるわけない。ブログに書くゆるふわ日記と隙のない法務文書を書
くぐらい違う。
232:デフォルトの名無しさん
16/05/21 21:25:36.87 Dey5A/Jl.net
>>228
相手の発言内容から参考になるかならないか自分で判断できるだろ。
日本人のオピニオンリーダーとやらのつぶやきよりも原著を読んだほうがよっぽど信頼できるし。
2ちゃんなんだから誰が発言したかじゃなくていろんな意見を聞きたいってとこだな。
今のところ、実体験の裏付けがあると思える書き込みはほとんどないのは残念だけど。
233:デフォルトの名無しさん
16/05/21 21:28:16.08 ycaEwNI1.net
>>229
煽り口調で書き込みされた時点で信用もクソもないと思うけど。
少なくとも議論する気なんてないよね?
234:デフォルトの名無しさん
16/05/21 21:32:06.53 Dey5A/Jl.net
>>230
プロセスなんていらない、文書なんていらない、なんて書き込みされてりゃ呆れるだろ。
で、Twitterがいいと思うなら勝手にTwitter使ってやってりゃいいじゃん。
わざわざスレに来て書き込むのは無意味すぎて不快。
235:デフォルトの名無しさん
16/05/21 21:40:10.70 zSvCOHYP.net
>>227
DDD
236:デフォルトの名無しさん
16/05/21 21:52:07.81 Dey5A/Jl.net
>>232
体験談を語って欲しいもんだ。
237:デフォルトの名無しさん
16/05/21 22:04:24.15 a4jHAOFt.net
>>233
1) 語れるほどの実体験を持つ者はこのスレにはいない
2) いたとしても、それを無料で語ってくれる者はいない
238:デフォルトの名無しさん
16/05/21 22:18:00.97 Dey5A/Jl.net
>>234
語れない、語りたくないなら書き込まないでいいから。
そもそも2ちゃんに書き込んだって一円にもならないんだから嫌なら書き込むなw
239:デフォルトの名無しさん
16/05/21 23:13:38.33 hclWowah.net
>>222
お客さん向けの設計書の納品でjavadoc送りつける人かな?
>>225
お客さんがいるシステムを作ったことない人かな?
240:デフォルトの名無しさん
16/05/21 23:39:12.12 sajHzwwt.net
予想通りに自分の環境を前提にした正しさを押し付けあって不毛な議論が続くスレに!最高だぜ!
241:デフォルトの名無しさん
16/05/21 23:55:43.52 zSvCOHYP.net
ドキュメント厨の最後の砦はいつも御客様なんだよな
ドキュメント自体の有用性を説明する事にはいつも失敗している
情けない連中だよ
242:デフォルトの名無しさん
16/05/21 23:57:30.93 Dey5A/Jl.net
>>238
ドキュメントがいらないって言ってるプロセスの提唱者がいるもんなら教えてくれ。
それとプロジェクトでの実体験はいつになったら語ってくれんの?
243:デフォルトの名無しさん
16/05/22 00:00:37.02 sxeEi6BC.net
>>238
前もって言っとくと
ドキュメントがいらないと
詳細なドキュメントがいらないケースもある
って主張は違うから。
詳細なドキュメントがいらないケースもあるって主張をしたいなら、そんなことはみんな知ってる。
244:デフォルトの名無しさん
16/05/22 00:21:40.24 WwOYSBmy.net
あと、ドキュメントっていうのは、README.mdや
ソースコードのリポジトリに含めたテキストファイルでもいい。
245:デフォルトの名無しさん
16/05/22 00:25:24.91 dTyROPbW.net
ドキュメントがいらないと主張する人だって、生存期間が長く
一定の規模を超えるプロジェクト(他にも色んな条件はあるけど)には
メモ書き程度の資料では対応出来ないことを知っている。
逆に、ドキュメントが必要だと主張する人だって、使い切りで
数キロにも満たないソフトウェアにドキュメントが不要な場合も
あることは知っているはず。
この問題は魔法の言葉で片付けられる。
ケースバイケース。
246:デフォルトの名無しさん
16/05/22 00:34:36.57 WENufHUB.net
>>242
正解。
問題はどう考えても前者なのに
ドキュメント書きたがらない自称スーパープログラマー様。
こういう輩の存在がデスマーチの遠因。
247:デフォルトの名無しさん
16/05/22 00:37:59.86 sxeEi6BC.net
オブジェクト指向設計で想定してる典型的なプロジェクトくらい分かってるもんだと思ってたけど
複数人が関わる業務システムの開発プロジェクトって前提で語ろうぜ。
個人の趣味レベルならドキュメントいらないなんて語られても話が混乱するだけ。
体験談を語ってくれるならそれはありがたいけど、個人でやった場合だと明記してくれ。
248:デフォルトの名無しさん
16/05/22 00:48:43.39 mLM/Nu20.net
マジでアマチュアばかりなのかここ
コードが最も正確なドキュメントってことにまだ気付いてないのか
なぜすでにある情報を複数箇所に劣化コピーしただけのゴミをありがたがるのか
あぁもしかしてコード読めない人達でしたか?
249:デフォルトの名無しさん
16/05/22 00:51:23.21 sxeEi6BC.net
>>245
チームで開発するとき、お前の考えをチームメンバーと共有する必要があるんだけど
どうやってんのかな?
開発が終わって運用チームに引き渡すときドキュメントを求めれるけどどうしてるの?
運用後の改修のたびにすべてのコードをチェックさせるのかな?
実体験があるとは思えないんだけど、違うなら回答して。
250:デフォルトの名無しさん
16/05/22 00:59:11.29 mLM/Nu20.net
>>246
知識共有はメモ書きとモデルのイラストと対話だ
何度も言ってるだろバカが
逆に聞くがお前んとこじゃチームとの協調が必要な部分でクソの役にも立たんドキュメント渡すだけなのか?
そりゃ失敗するわけだよ
251:デフォルトの名無しさん
16/05/22 01:05:50.60 sxeEi6BC.net
>>247
対話はその場にいないメンバーには伝わらない、忘れる、誤解する。
絵を描く必要があると認識してるんだから、描いた絵を残さないと後工程のメンバーが困る。
ソースだけじゃ伝達できないって認めてるじゃんw
設計の共有は文書+ミーティング。当たり前じゃん。
252:デフォルトの名無しさん
16/05/22 01:08:07.29 sxeEi6BC.net
>>247
開発が終わって運用チームに引き渡すときドキュメントを求めれるけどどうしてるの?
運用後の改修のたびにすべてのコードをチェックさせるのかな?
についてはスルーかなぁ?
実際のプロジェクトでは重要なことなんだけど。
253:デフォルトの名無しさん
16/05/22 01:14:34.16 mLM/Nu20.net
>>248
メモ書きやモデルはコードを書く過程で使うだけの中間生成物でしかない
コードができればモデルを最も明確に表したドキュメントはコードそのものになる
中間生成物は時間とともに劣化するので害悪になる前に破棄しなければならない
後の行程に引き継ぐなんてもってのほか
横着していらん問題を持ち込むな
知識伝達は面と向き合って対話で行うんだよ
その場に居ないから伝わらないなんて調整力の無さの言い訳をするな
支障が出るほど連日居ないゴーストメンバーなんて存在しねえよ
254:デフォルトの名無しさん
16/05/22 01:15:14.13 mLM/Nu20.net
>>249
ユニットテストも知らないのか
255:デフォルトの名無しさん
16/05/22 01:16:23.86 sxeEi6BC.net
>>250
実際のプロジェクトの経験ないだろ?
256:デフォルトの名無しさん
16/05/22 01:17:12.92 mLM/Nu20.net
>>252
お前がな
257:デフォルトの名無しさん
16/05/22 01:21:10.56 sxeEi6BC.net
>>253
客との合意を文書にしないってありえないから妄想語るのもいい加減にしようぜ。
バカもここまで来ると笑っちゃう。
客とも口頭で合意して終わりなんだ??
んーーー、どうなのお?
258:デフォルトの名無しさん
16/05/22 01:21:41.95 WENufHUB.net
>>245みたいなのが一番アマチュア
一人で何か作らせるにはいいが
チームではスタンドプレーが多く使い物にならない
>知識伝達は面と向き合って対話で行うんだよ
はい、完全な炎上原因
こんな現場たくさん見てきたわ
259:デフォルトの名無しさん
16/05/22 01:27:01.44 WENufHUB.net
>>250
実際に顧客と話をする営業やPMにソース読ませるの?馬鹿馬鹿しい
260:デフォルトの名無しさん
16/05/22 01:29:31.11 mLM/Nu20.net
やれやれだ
お前らはもう一生間違ってるドキュメントの更新に時間使ってろよ
うちは客がリアルタイムに必要とするモノを作る
もうそれでいいだろう
住み分けって大事だよホント
261:デフォルトの名無しさん
16/05/22 01:32:47.40 sxeEi6BC.net
>>257
客の要求を確認するのにも文書が必要なんだけど
お前の顧客は口頭だけのあいまいな説明で納得してくれるし
求めている機能と違うとか言い出さない妄想上の存在なんだろうな。
262:デフォルトの名無しさん
16/05/22 01:34:21.91 mLM/Nu20.net
>>256
ソースも読めない営業と仕事してんのか
優れたコードは素人でも部分的にソースを読めるもんだぞ
逆に素人がみても全くわからんようなコード書くから無意味なドキュメントがないと安心できなくなってるんだろうな
263:デフォルトの名無しさん
16/05/22 01:35:55.78 sxeEi6BC.net
>>259
笑わせに来てるだろw
264:デフォルトの名無しさん
16/05/22 01:39:45.41 SSySxKMQ.net
>>259
これはさすがに苦しい言い分だと思うが……
printf("hello world\n");
これすらわからねえなんてザラじゃね?
265:デフォルトの名無しさん
16/05/22 01:40:32.08 mLM/Nu20.net
>>258
文章がいかに曖昧なものか理解してない時点で素人丸出しだな
ブツとして無意味と思いつつ形式的に書いて渡す事はあれどそれを真面目に解釈してモノを作るなんてバカな真似はアマチュアで卒業しとけよ
システム開発ってのは進路調整の連続なんだよ
ドキュメントの更新日がちょっと古かったらもう信用できない
どのみち直接対話で確認を取りに行くしかない
266:デフォルトの名無しさん
16/05/22 01:42:37.38 sxeEi6BC.net
>>262
お前の目的は何なんだよww
さすがに釣りだろ?
267:デフォルトの名無しさん
16/05/22 01:55:46.57 mLM/Nu20.net
>>261
苦しくないって
例えばこんなコードは素人にゃわけわからん
int x = 0;
for(i = 0; i < len(a); ++i) x += a[i][IDX_UP] * a[i][IDX_PRC];
でも素人でもこれは理解できる
購入品リスト.合計金額()
客と密接に対話して作りあげたモデルから生成されるコードは客でも読める
というか素人でも読めるように書くためのモデリングとコーディングがOOPの真髄だろ
268:デフォルトの名無しさん
16/05/22 01:58:22.26 sxeEi6BC.net
>>264
漢字オブジェクト名www
269:デフォルトの名無しさん
16/05/22 01:58:50.19 mLM/Nu20.net
>>263
ドキュメント文化をやめてほしい
少なくとも疑問を持ってほしいだけだよ
もし業界全体で馬鹿馬鹿しいドキュメント文化から解脱できたなら
それはいったいどれだけの国益になるか
そこを考えてほしいんだ
270:デフォルトの名無しさん
16/05/22 01:59:51.63 mLM/Nu20.net
>>265
もしかしておじいちゃん?
271:デフォルトの名無しさん
16/05/22 02:02:04.15 sxeEi6BC.net
272:="../test/read.cgi/tech/1463663267/266" rel="noopener noreferrer" target="_blank">>>266 楽しませてもらってるけどスレと関係ない目的だから別のスレ立ててやってもらえるかな。
273:デフォルトの名無しさん
16/05/22 02:03:26.44 mLM/Nu20.net
>>268
関係はあるだろう
さっきも言ったがOOPの真髄はドキュメント不要論にリンクするんだからさ
274:デフォルトの名無しさん
16/05/22 02:03:45.85 WwOYSBmy.net
客がドキュメントを読むんだよ。
知らないのか?
客がドキュメントを読むんだよ。
275:デフォルトの名無しさん
16/05/22 02:05:22.19 sxeEi6BC.net
>>269
頼むからそんなとんでも理論で絡んで来ないで。
お前は自分のスレを立てるに足る逸材だから。
276:デフォルトの名無しさん
16/05/22 02:15:56.49 mLM/Nu20.net
>>270
客がドキュメント読みたきゃ読めばいい
客が客の時間使ってドキュメントを読もうがサボって漫画を読もうがそれは客の勝手だ
だけどこっちの開発はそれじゃ進まねえんだよ
277:デフォルトの名無しさん
16/05/22 02:20:15.89 sxeEi6BC.net
>>272
客の期待通りの設計になっているかを確認するためにもドキュメントを作成する。
なんとそのドキュメントがメンバー間で理解を共有するための役にも立ってしまう。
すごいじゃん。
278:デフォルトの名無しさん
16/05/22 02:25:01.82 WwOYSBmy.net
ドキュメントを読む時間 × メンバーの数 = コスト
279:デフォルトの名無しさん
16/05/22 02:29:51.66 mLM/Nu20.net
>>273
ドキュメントを正確に書ける保証はない
客がドキュメントを正確に読める保証はない
保証はないと言ったが実際には正確でないほうが多い
本当の意味で客が期待する設計はドキュメントからは生まれない
お互いが認識するモデルをすり合わせるために対話の時間をいかに多くとるかで決まる
280:デフォルトの名無しさん
16/05/22 02:33:12.47 mLM/Nu20.net
ましてや開発メンバー全員が同じ文章から同じ意図を読み取るなど夢のまた夢
281:デフォルトの名無しさん
16/05/22 02:37:48.99 sxeEi6BC.net
>>275
口頭じゃ後から確認できないんだから文書として残す必要があるよね。
ってことなんだけど、こいつはそんなちゃちな世界には生きてないんだろうな。
もう頼むからこのスレから巣立って。
282:デフォルトの名無しさん
16/05/22 02:43:09.84 WENufHUB.net
>>259
本当馬鹿馬鹿しいな
おまえの会社はソース読めるエンジニア上がりの営業かもしれんが
他行ったらそんな俺ルール通用しないからな
>>266
個人的希望をばら撒くスレじゃねーから
>>274
口伝のほうがコストかかるだろ
そもそもユニットテスト推奨してるやつが
口伝推奨するとか矛盾もいいとこ
283:デフォルトの名無しさん
16/05/22 05:16:18.29 PykTFw3U.net
口伝する人がいない。いなくなってしまった。
284:デフォルトの名無しさん
16/05/22 05:17:10.39 WwOYSBmy.net
結局ソースコードを読むのが
一番コストがかからない
285:デフォルトの名無しさん
16/05/22 06:36:24.05 OmI05SCB.net
なんでおまえらってオブジェクト指向が理解できないとOOPは甘えとか言って投げ出すの?マジで馬鹿なの?マジでタヒぬしかないの?
286:デフォルトの名無しさん
16/05/22 10:29:24.79 sxeEi6BC.net
何をコーディングするか設計するのが設計なのにコードを読めってアホ過ぎる…。
うざいから素人は書き込むなよ。
287:デフォルトの名無しさん
16/05/22 10:41:33.67 vKoFE7Z9.net
死守すべき拠点・砦・戦線に当たる部分はドキュメントすべき
それ以上細かいのはいらない
288:デフォルトの名無しさん
16/05/22 10:48:03.65 sxeEi6BC.net
ドキュメントの範囲は好きにしていいから、どうやって設計するか語ろうぜ。
設計プロセスについて語れる奴はいないの?
289:デフォルトの名無しさん
16/05/22 11:42:56.90 0426LZJd.net
設計もTDDさえしてればなんとかなるんだよなあ
290:デフォルトの名無しさん
16/05/22 11:47:16.20 sxeEi6BC.net
具体的な話なしに略語しか書けない奴って経験があるように感じさせないんだよなあ。
291:デフォルトの名無しさん
16/05/22 11:50:37.50 0426LZJd.net
TDDをご存じない?
292:デフォルトの名無しさん
16/05/22 11:51:57.78 sxeEi6BC.net
経験ないと具体的な話はできないからなあ。
293:デフォルトの名無しさん
16/05/22 11:54:53.76 EaQ4G/f7.net
>>282
俺もそう思う
何を何のために設計してるのかと
それを知りたければソースコードを読めって破綻してる
じゃソースコードは何を実現するためのソースなのかと?
不具合もソースがそうだからそれが正しいとか言っちゃうのか?
294:デフォルトの名無しさん
16/05/22 11:56:01.52 EaQ4G/f7.net
設計書書かない奴は書き込み禁止
だって設計してないじゃん
295:デフォルトの名無しさん
16/05/22 12:35:41.84 sxeEi6BC.net
>>290
ほんとな。
オブジェクト指向設計について語ろうってスレにわざわざ書き込む意味が分からん。
興味がない、語る内容がないなら書き込む必要ないのに。
296:デフォルトの名無しさん
16/05/22 12:39:57.00 WwOYSBmy.net
>>289
> 何を何のために設計してるのかと
> それを知りたければソースコードを読めって破綻してる
概要をつかむためだよ。
だから設計書には概要しか書かれない。
実際の詳細はソースコードを読めになるのは当たり前。
297:デフォルトの名無しさん
16/05/22 12:42:21.47 WwOYSBmy.net
設計書は概要をつかむためで概要しかかかれないのだから
当然、設計書に書かれたものから、ソースコードを生成できるわけじゃない。
設計書は方針、こんな感じにしてくださいねっていうもの。
設計書を見て書くというのは、設計書に反しないように作るってことであって
設計書をソースコードに翻訳する作業じゃない。
そして往々にして、実際にソースコードを書いてると、
設計に問題が出てくる。
この時設計書も直さないといけない。
298:デフォルトの名無しさん
16/05/22 12:59:08.54 vqfBgWhe.net
>>277
何度言えばわかるのかなぁ
事後ならコードというその時点で最も信頼できる読みやすいドキュメントがあるだろう
>>278
文章のほうが遥かに高くつく
あんたもプロになればわかるけど設計書なんて1回書いたきりで終わりになんかならねえのよ
口頭ならミーティング1セッションで終わるやりとりがドキュメントだと何回ものファイル更新・交換になってしまう
あぁいちおうお前もバカそうだから念押しするがこれ設計~製造の話な
後に残す文章はコードがあるからまた別の話だ
299:デフォルトの名無しさん
16/05/22 13:02:48.15 JErM/sdi.net
日本語で書かれた設計書で概要をつかんで、ソースコードを書くフェーズは、”詳細設計”なんです。
単に、日本語で書かれた設計書をソースコードに単純翻訳しているのではありません。
「ソースコードを書く」=「詳細設計」なんです。
だから、実際にソースコードを書いていると、詳細設計的に問題が発生して書き直しとなるし、場合によっては一つ前の日本語で書かれた設計書まで戻って直す必要も出てきます。
300:デフォルトの名無しさん
16/05/22 13:03:07.84 vqfBgWhe.net
>>280
正解
加えて言えば読めるコード書けないバカが日本語なら書けると勘違いしてドキュメントという幻想にすがりつく
馬鹿馬鹿しいよ
あいつらの書いたドキュメントなんてテストしてないスクリプトへのリプレースみたいなもんだ
読みやすくなるどころか開発言語より読みにくくなってる
読みにくいだけならまだしも開発言語で書いたコードと平気で剥離する
301:デフォルトの名無しさん
16/05/22 13:05:39.79 vqfBgWhe.net
>>282
>>289
設計するためにコードを読むんじゃない
設計するためにモデリングするんだよ
そしてモデリングの過程でコードを書くんだ
順番を間違えるな
302:デフォルトの名無しさん
16/05/22 13:13:22.82 WENufHUB.net
>>294
君が作ったソースの中身を説明するためにミーティング開催するの?
ドキュメント書かないわ、人件費の意識ないわ、終わってるな
303:デフォルトの名無しさん
16/05/22 13:28:40.61 k1JTbXad.net
じゃあ製造に失敗しないパーフェクトな設計書って具体的に何が書いてあるの?
304:デフォルトの名無しさん
16/05/22 13:44:35.01 sxeEi6BC.net
>>297
そんな言い合いしてても無意味だから設計のプロセスについて語ろうぜ。
どんな手順でやってて、それぞれのステップの成果物は?
305:デフォルトの名無しさん
16/05/22 13:51:29.86 WwOYSBmy.net
>>300
成果物なんて後から出てくるもの。
まずはステップの目的を考えなさい。
306:デフォルトの名無しさん
16/05/22 13:56:34.04 sxeEi6BC.net
>>301
ステップのゴールを決めるのがプロセスなんだけど…。
めんどくさいから素人は書き込むなよ。
307:デフォルトの名無しさん
16/05/22 14:02:56.02 6l64NX2q.net
コード=ドキュメントってのは理想ではあるんだが
コードってのはこう動くってことしか書いてなくて、しかも実装者以外の人間が欲しい情報よりも粒度が細かい。
あと、その裏にある開発者の意図やシステム特有の事情とかは書かれないしコメントで補完するにも限界がある。
一方でドキュメントを手で作成しても改訂のたびに修正する労力と修正後にソースと同期をとる労力がバカにならないし
大量にドキュメントを書いてもそんなの見ない、見ようと思っても索引や検索が不十分で探し廻らなきゃならないで
結局知ってそうな人に聞くのが早い、ドキュメントの利点なんて新しく加入した人への説明を(形式上)省けるくらいの利点しかない、
てなことになる。
なので現実的な最適解としては、できるだけコードからリバースして「必要な情報だけ」を自動的に抽出する、
そのためのツールを用意し、また抽出しやすいようなコードを書く、それでは作成できないけど本当に必要なものは手で作成する、
て辺りになるんじゃないかと思う。
で必要な情報てのは、画面とか機能とかサブシステムとかの一覧とそれらの間のI/F詳細くらいで、
それ以上はソース読めでいいように思う。
308:デフォルトの名無しさん
16/05/22 14:07:39.59 WwOYSBmy.net
>>302
ステップの目的を成果物生成にしてはいけない。
そんなことをやると理由はないけど作りました。
作って終わり、使われないものが出来上がるだけ。
309:デフォルトの名無しさん
16/05/22 14:13:48.86 sxeEi6BC.net
>>304
開発プロセスの本くらい読みなよ。
まともな開発プロセスならステップと成果物が決まってるから。
そんなことすら知らない素人のくせに知ったかぶりすんなよ。
ちょっと勉強したらどんだけ恥ずかしい書き込みしてるか分かるから。
310:デフォルトの名無しさん
16/05/22 14:14:28.75 WENufHUB.net
>>304
成果物なしでどうやってプロセスの完了を判断する?
ソースコードも成果物だし、
成果物のチェックはどんなプロセスでも必要だよ
311:デフォルトの名無しさん
16/05/22 14:19:58.15 vKoFE7Z9.net
これだけ延々と中身の無いレスを垂れ流す奴が書くドキュメントを読まされるという苦行
312:デフォルトの名無しさん
16/05/22 14:29:28.77 sxeEi6BC.net
コードだけでいいって言ってる奴がしつこく書き込む矛盾なw
ドキュメントの範囲は好きにしていいからプロセスについて語ってくれって言ってんだけどなあ。
313:4qmWB+Wj
16/05/22 14:34:56.12 Pvh7yqZB.net
(..´・ω・).oO(今日も伸びてんなぁ
314:デフォルトの名無しさん
16/05/22 14:37:04.55 WwOYSBmy.net
>>305
> まともな開発プロセスならステップと成果物が決まってるから。
それはまともじゃない開発プロセスか、
お前が読み間違ってるだけだな。
読むといいよw
URLリンク(www.jaspic.org)
俺がいいたいことが書いてあった。
URLリンク(d.hatena.ne.jp)
CMMIの教本(PDFが配布されてますね)には、いろいろと”典型的な作業成果物”や”サブプラクティス”なんていろいろ書いてます。
が、そんなことはどうでもいい。参考にもなりません。
そんなことよりも、
そのプロセスエリアが「本質的に」何をすべきと主張しているかをじっくりと「考える」ことが大事。
そして、自分たちの組織文化的にどういうことがそれに当てはまるか「解釈」することがもっと大事。
バカなCMMI推進者たちは、すぐに文字通りにやろうとします。考えもせず。
これこそ、「形骸化のはじまり!」
「制度化」というCMMIでよく出てくる言葉の意味を理解してません。
逆説的ですが、「CMMIをやろうとすればするほど、CMMIを実装できない」
というジレンマに陥ります。
なぜか?
かんたん。「CMMIの本質を理解してないから?」
そもそも、組織のみんなは日々の業務を一生懸命こなしてます。日々、大小さまざまな改善を積み重ねてませんか?
なのに、CMMIでプロセス改善しよう、って言ったって、「いや、今だって改善してるけど?」的な議論になります。
つまり、CMMIなんて所詮枝葉、形つまり、方法論にすぎないのに、方法論の実装を目的にしちゃうCMMI推進者が「ガン」なわけですね。
315:デフォルトの名無しさん
16/05/22 14:40:22.53 sxeEi6BC.net
>>310
いろんなメンバーがかかわるプロジェクトでプロセスがないってねえ…。
ま、>>291だな。
不要って思うなら使わなきゃいいじゃん。
316:デフォルトの名無しさん
16/05/22 14:42:17.90 6l64NX2q.net
他人の作業を自動化・効率化するプログラムを作っているはずなのに
自分の作業の自動化・効率化を(自分の頭で)考えないで人力でなんとかする(しろ)
って人が結構いるよなぁ
317:デフォルトの名無しさん
16/05/22 14:47:32.63 EaQ4G/f7.net
>>308
でも彼の理論で言うと
もういきなりソースコード組むしかないよね
ファイルフォーマットも通信プロトコルもDBのテーブルも後から付いてくる心配するな!
突っ切れ!
筋肉でプログラミングするタイプかな?
318:デフォルトの名無しさん
16/05/22 14:50:18.38 sxeEi6BC.net
>>313
プロセスのステップが明らかになればそこもはっきりすると思ってさ。
お互いの頭の中にぼんやりとしたイメージしかない状態で設計から構築に進むって
プロセスがまったく想像できないから詳しく語って欲しいじゃん?
319:デフォルトの名無しさん
16/05/22 15:09:12.83 EaQ4G/f7.net
>>314
多分こちらが疑問に思ってるようなことは
彼にとっては「そんなのキーボードに手を置けばゴーストが囁くだろ常考」の一言なんだよ
そして粘土をこねるように彫刻を刻むように手を入れてって納期が来たらそこで完成
恐らくそんな開発を言ってる
受け取った客が検収すると不具合ばっかりで使い物にならないケース
320:デフォルトの名無しさん
16/05/22 15:11:50.07 SSySxKMQ.net
プロセスでふと思ったけど
まあ前提として要件がそこそこ決まってるとして
オブジェクトの洗い出しみたいなことするよね
でまあデザインパターンあたりかじってりゃ
たとえばここはテンプレートメソッドでがちがちにしちゃろーとか
ストラテジーにしてゆるーくしちゃろーとか
なんだけど
その判断のプロセスは自分でもわからんな
言語化できてねえ
321:デフォルトの名無しさん
16/05/22 15:13:18.77 SSySxKMQ.net
っつーか言語化できたら本書いて一儲けできそうだなwww
322:デフォルトの名無しさん
16/05/22 15:17:51.26 sxeEi6BC.net
>>316
オブジェクトの洗い出しって具体的にどんな感じでやってる?
特に機能的なオブジェクトの洗い出しはアバウトにやってて、もうちょっと何かないかなあって感じてて。
323:デフォルトの名無しさん
16/05/22 15:24:46.95 SSySxKMQ.net
>>318
俺もその辺が明確にできればなーって期待してこのスレみてる
アプローチ方法的にはなんかER図作るときみたいになっちゃってるかもしんない
最初にエンティティ出してそれに振る舞いついたらオブジェクトみたいな
うん、うまく言語化できんやっぱり
上級者に期待だわ
324:デフォルトの名無しさん
16/05/22 15:27:46.05 k1JTbXad.net
設計書厨はまず設計書に書く内容をここで言ってみな
話はそれからだろう
325:デフォルトの名無しさん
16/05/22 15:32:18.74 sxeEi6BC.net
>>319
俺もER図書いてエンティティを洗い出すな。
そこからクラス図を書く感じ。
エンティティ的なクラスを決める基準はかなり明確なんだけど機能的なクラスは難しいよな。
デザインパターンを考えながらなんとなく決めてるけど、判断に悩むことが多い。
要件定義から設計へ移行する辺りの明快な指針があんまりないんだよなあ。
326:デフォルトの名無しさん
16/05/22 15:32:30.31 WwOYSBmy.net
> うん、うまく言語化できんやっぱり
そういや中二病っぽく「言語化」とか言ってる
アニメか漫画があったよな。
それのパクリかw
327:デフォルトの名無しさん
16/05/22 15:33:49.99 sxeEi6BC.net
要件定義から設計ってより構築の手前の具体的な設計の辺りかな。
328:デフォルトの名無しさん
16/05/22 15:34:57.20 WwOYSBmy.net
>>321
> 俺もER図書いてエンティティを洗い出すな。
俺は、rails generateでモデルを作るな。
そのコード上の定義からER図は rails-erdでモデルを
変更するたびに自動的に生成される。
見方を変えれば、コードを使ってER図を書いているだけ。
やってることは、あんたと一緒でそれがより効率的になっただけだね。
マウスでポチポチやらないで、コードを書くだけだから楽だよ。
修正履歴もわかるしね。
329:デフォルトの名無しさん
16/05/22 15:35:56.44 WwOYSBmy.net
ちなみに、モデルっていうのはクラスだから
Rubyコードを使ってER図を書くと同時にクラスも作れる。
330:デフォルトの名無しさん
16/05/22 15:38:48.31 sxeEi6BC.net
>>324
そこは好きなツールを使えばいいと思う。
それより設計指針的な話で、どういう基準でクラスを選択するかを聞きたい。
331:デフォルトの名無しさん
16/05/22 15:39:06.09 WwOYSBmy.net
rails-erdの動画があったよw
Create an ERD in Rails in under 30 seconds.
URLリンク(www.youtube.com)
332:デフォルトの名無しさん
16/05/22 15:43:24.37 WwOYSBmy.net
>>326
大概はモデルクラスだろ?
画面があれば、コントローラクラスが必要になる。
機能はメソッドだから機能ごとにクラスは作らない。
やることってその程度じゃね?
333:デフォルトの名無しさん
16/05/22 15:44:05.88 JaLdteXY.net
>>321
悩んでる時点でもうアウトだ�
334:� 幾ら悩んでも明確な答えは出てこない そんなフワッとした状態で設計書という名の便所の落書きを幾らかいてもなにも進展しない 結果はコードを書くしかないんだよ コードを実際に書けば次にどうするかの指針が見えてくる 基本中の基本だわな
335:デフォルトの名無しさん
16/05/22 15:49:05.35 sxeEi6BC.net
>>328
業務的の機能のきれいな構成だな。
336:デフォルトの名無しさん
16/05/22 15:50:23.31 SSySxKMQ.net
>>321
機能的なクラスって少し掘り下げて教えて欲しい
~Utilityとか~Helperとかの名前で実装する類のもの?
だとすると設計段階では洗い出さないかな……
337:デフォルトの名無しさん
16/05/22 15:51:55.61 sxeEi6BC.net
>>329
設計が決まってないのにどんなコードを書くのかな?
おおまなか設計がなくちゃコード書けない。
338:デフォルトの名無しさん
16/05/22 15:53:09.10 WwOYSBmy.net
> デザインパターンを考えながらなんとなく決めてるけど、判断に悩むことが多い。
デザインパターンを考えながら決めるのレベルで
まだ初心者なんだよな。
俺がデザインパターンを知ったのはもう15年ぐらい前になるけど、
その時の感想は、みんな(本の作者)も同じこと考えてるなぁ~。
俺が考えた「アレ」をこんなに体系的にまとめてくれて嬉しいわ。だった。
幾つか自分で同じようなものを実装したこともあったしね。
デザインパターンの解説にも書いてあるけど、
新しい何かではなくて、過去の人が考えていたことに名前をつけてまとめただけ。
だから俺の場合、作るときにああすれば良いんじゃね?って思いついて、
その後にデザインパターン本みて抜けや考慮漏れなどを補強する感じ。
339:デフォルトの名無しさん
16/05/22 15:54:42.20 sxeEi6BC.net
>>331
だいたいデザインパターンが扱ってるレベルのクラスと想定して欲しい。
業務ルールをチェックする機能をどうするかとか。
340:デフォルトの名無しさん
16/05/22 15:56:32.49 sxeEi6BC.net
>>333
デザインパターンのそんな当たり前の説明をドヤ顔でされても…。
341:デフォルトの名無しさん
16/05/22 15:58:10.11 WwOYSBmy.net
>>334
> 業務ルールをチェックする機能をどうするかとか。
Railsだとバリデーションを使う。
基本的なのはあるが、特殊な業務ルールであれば
カスタムバリデータを自作すればいい。
URLリンク(railsguides.jp)
標準のやり方がってそれに従えばクラスが出来上がるので
クラスをどうするか?とかを意識することは少ない。
342:デフォルトの名無しさん
16/05/22 15:58:39.18 WwOYSBmy.net
>>335
当たり前の説明をしただけだけど、
何か気に触ったの?w
343:デフォルトの名無しさん
16/05/22 16:01:24.72 SSySxKMQ.net
>>334
難しい例だね……ちょっと実装よりというか
たいがいフレームワークで作られちゃってるというか
例に出してくれたバリデーションまわりって設計段階ではやっぱり洗い出さないなあ
要件みてこんなバリデーションいるよねー、程度
で、たいがいフレームワークにバリデーションの仕組みあるから
やっぱり自力で洗い出さない……
複雑なバリデーション作るにしてもフレームワークの流儀に沿うだけだしね
派生してちょろちょろ処理書いて決められたreturnするってだけの
344:デフォルトの名無しさん
16/05/22 16:03:43.19 sxeEi6BC.net
>>336
クラス内で完結しないチェックもできんの?
複数のクラスを参照することが必要な場合はどうするのかとか?