[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/04 03:18 / Filesize : 386 KB / Number-of Response : 1023
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

オブジェクト指向システムの設計 170



1 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:08:42.31 ID:pIEuB3Z3.net]
オブジェクト指向に限らず、理由もなく小さく細分化させるのはアホ
オブジェクト指向は役割でオブジェクトに分割するものであって
処理で分割するものではない。

910 名前:デフォルトの名無しさん [2016/06/09(木) 22:34:55.20 ID:pXMVc1f3.net]
>>890
うちは120人月くらい
仕様が変わったら設計書書き直すよ
リファクタリングで変わるような細かいことは設計書には書かない

911 名前:デフォルトの名無しさん [2016/06/10(金) 00:53:02.07 ID:Mkg+TQQo.net]
>>864
>>886
>>891
将棋ソフトのコードのスケルトンを書いてくれよ

912 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 05:54:44.86 ID:gmWPyVad.net]
>>893

将棋知らないから、書けない。
個人的にそれって面白くないから、書く気もしない。

913 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 07:04:25.61 ID:gmWPyVad.net]
ふと、建築構造設計の仕事を思い出した。

構造計算は「設計」の仕事で、図面を書いて、柱や梁の本数や鉄筋の太さ、本数を計算して、それをPC等に入力する。
それから延々と計算をさせて、その結果を見て、「95%だから強度が足りない」などと判断して、太さを太くするとか、鉄筋の本数を増やす。
複雑な形状だと、専用のソフトを作ったりする。

そんな図面修正、データ修正、構造計算の作業を1ヶ月くらい繰り返して、うん百ページのリストができあがっていた。

この作業は「設計」に相当すると思うんだが、どうだろう?「施工」ではないはず。
そして、これをITの世界に当てはめれば、設計にあたるんじゃあないかな。
つまり、試行錯誤しているコーディングフェーズ。

建築の場合は、図面が完成しても、実体としてのビル完成までに、さらに多くの費用と時間がかかる。
でも、ソフトの場合、ソ−すコードが完成したら、あとは、コンパイラー、リンカーに任せれば、実体としてのオブジェクトが自動的にできるという差はある。

となると、SEは、デザイナー屋さんってところかもしれない。

914 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 07:13:23.25 ID:lJsEyLcp.net]
コーディングは製造

915 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 08:38:51.58 ID:6HXdRm+E.net]
>>895
建築物の場合は図面ができてGoサインがでたら建築途中で変更することは難しい
しかしソフトウェアはいくら設計書ができてコーディングし始めたとしても
お客さんの「やっぱこっちがいい」という一言でいくらでも変更できてしまう
「ソースコードが完成したら」というのはいうほど簡単ではない

916 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:08:05.45 ID:BuEwbgPd.net]
変更を受け入れちまうから変更しなきゃならないだけで、
本来変更は人件費上乗せのリスクの高い依頼だときっちり対応しないとダメ。

プログラミングが設計だと嘘ぶいてる輩も、その試行錯誤は単なる給料泥棒だって事を隠してるだけ。

917 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:35:25.90 ID:XqAkh7YW.net]
>>897
>お客さんの「やっぱこっちがいい」という一言でいくらでも変更できてしまう

実はそうとばかりも言えない
実績のあるシステムをパッケージと称して使い回す場合に
ほんのちょっぴりの変更でもカスタマイズ料と称してふんだくることが可能

918 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:41:58.91 ID:o8hFzx97.net]
そりゃ、試行錯誤の分が無ければ安いよ。
せいぜい、2千円ぐらいのソフト。それが、1千万円にもなる

客がよく言う。
市販で、2千円ぐらいのソフトなのに、
どうして、作ってもらうと1千万円もかかるのか?

でもその客はどうしても、2千円のソフトを使わないんだよなw
安いソフトを使えばいいのに



919 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 11:35:13.91 ID:Mkg+TQQo.net]
>>894
将棋ルール
https://ja.wikipedia.org/wiki/%E5%B0%86%E6%A3%8B
ロジック概要
https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E5%B0%86%E6%A3%8B
の6 コンピュータ将棋のプログラミング技術

これだけ要件がはっきりしていれば「将棋知らない」って言い訳はできないな

920 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 14:20:14.40 ID:LT2C5Mf1.net]
っていうか、将棋も知らないんじゃ、ろくな営業できないよなww

921 名前:デフォルトの名無しさん [2016/06/10(金) 16:26:04.50 ID:eVEt4/ZC.net]
なんで営業するのよ

922 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 16:54:42.74 ID:5LC8c5Pp.net]
>>880
いいね。この週末、書いてみようかな。

923 名前:デフォルトの名無しさん mailto:!sage [2016/06/10(金) 17:34:40.03 ID:lPhKqXdH.net]
将棋のルール難しいからオセロがいい
もちろん俺はO・O・P

924 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 18:33:31.89 ID:f9UwuLwi.net]
やっぱりここはチェスを作るべき

925 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 19:09:04.30 ID:lJsEyLcp.net]
詰め将棋じゃないかな

926 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 22:36:27.72 ID:gmWPyVad.net]
>>896
コーディングが製造なら、建築の世界であれば、図面書くのも、構造計算するのも建物建築の実作業(施工)に分類されるというのだろうね。

927 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:13:37.71 ID:4NU9BH9s.net]
883みたいなのが設計なら設計者死んだ方がいいだろ

何の葛藤もトレードオフもなく欲しいクラス並べただけじゃん
クラスの振る舞いもなければ生じるコストも議論できない

少なくとも建築設計においては強度が強い部材はコストも重量もかさも大きいというトレードオフがあるんだがUMLの絵かき屋は何を設計してるんだ

928 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:21:31.57 ID:4NU9BH9s.net]
しいていうならUMLは意匠設計なんだろうな
ソフトウェアだからなおさら達が悪い
コードかけない設計者は
構造設計できない意匠設計者
H鋼がどれだけ重くてどれだけ強度は出るのか知らないのに設計できるらしい

単方向リストの各操作に対するコスト、オブジェクト生成のコスト
オブジェクト破棄の条件及びコスト

これらがわからないひとは設計しなくていいよ
どうせこれが議論にならないレベルのソフトなら設計するだけ金の無駄だから



929 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:25:59.30 ID:rbw9FdPt.net]
>>910
お前にとって設計ってなんのためにするの?

930 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:37:17.42 ID:y6LF40Yk.net]
で、>>883に対するID:4NU9BH9sの回答は?
コードのスケルトンを書けば主張にも説得力があるから書けばいいのに
「コードが設計だ」と主張するならくだらない文章書いてるよりコードを書いてみせろよw

931 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:41:58.63 ID:XSNZ2uOi.net]
>>909
> UMLの絵かき屋は何を設計してるんだ

バカかおめえ?
それっぽい絵を三つ四つ書いて気持ち良い汗流してらっしゃるんだろうが!
聞くないちいち当たり前のことを

932 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:48:01.15 ID:y6LF40Yk.net]
だからコード書けよwww
お前らって「図はいらない、コードから書く」ってしつこく主張してるくせに
コードを書かずにくだらないことばかり書いてるから間抜けだよなあw
もしかしてコードも書けないくせに「コードで設計する」って言ってたの?

933 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 01:04:07.50 ID:flLdNYbp.net]
何のコードだよ?w

他人にコードを書けっていうのなら、
じゃあ代わりにお前は図を書けよ。
その図相当のコードならいくらでも書いてやるが?

934 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 01:08:02.65 ID:AtNAlhvf.net]
設計に関心があってこのスレ見てるやつは居るけど
いちいちこのスレの話題に合わせるために設計書やらコードやらをいちいち書きたい、という人はあまり居ないと思う

935 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 01:08:42.59 ID:y6LF40Yk.net]
>>915
>>883だろw
さっさとやれよ

936 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 01:11:57.87 ID:y6LF40Yk.net]
>>916
実際の設計図とかコードとかなら興味あっても
くっだらない妄想の繰り返しに興味がある奴なんていないからw

937 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 01:54:55.05 ID:flLdNYbp.net]
>>917
はいできた
class KomaClass {}
class KomaType {}
class MoveClass {}
class BoardClass {}
class PlayerClass {}
class MatchClass {}

938 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 02:00:09.96 ID:y6LF40Yk.net]
>>919
こんなんじゃ設計の代わりにならないだろ
設計なしにコーディングするとこんなクソみたいなコーディングしかできないって実証されたねw



939 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 05:05:35.95 ID:aETEZ8Lc.net]
>>920

設計なんて、そんなところからスタートするものだと思う。
あれがクソって思う奴がクソ。

940 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 06:46:24.38 ID:oW9rgFgK.net]
コーディングは製造

941 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 06:55:52.82 ID:aETEZ8Lc.net]
コーディングは設計

942 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 07:40:15.91 ID:UI22d5e9.net]
将棋なら思考ロジック以外は要求はある程度明確だし、すでに動いてるものが世に多数あるんだからイメージしやすいだろう
俺なら思考ロジック以外の部分をプロトタイピングしてから最終形を考えるな

943 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 08:29:32.95 ID:aETEZ8Lc.net]
>>924

そういう手法に同意。だから「コーディングは設計」って思うんだよね。
何人か出会った「この人できそうかも?」と感じさせるプログラマさんも同じこと言っていた。

944 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 09:50:38.50 ID:Tx4f1KSS.net]
設計書書かない奴は雑魚
これは絶対覆らない

945 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 09:53:49.34 ID:JwbsVpE7.net]
コードを書かない奴は雑魚
これは絶対覆らない

946 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 10:20:09.82 ID:bKLKFp2p.net]
ドカチンがなんか言ってますぜ。

947 名前:デフォルトの名無しさん mailto:!sage [2016/06/11(土) 10:24:40.55 ID:8vn3zKAG.net]
俺以外は雑魚
これは絶対覆らない

948 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 11:56:48.05 ID:y6LF40Yk.net]
>>921
それでは続きをどうぞ



949 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 11:58:59.51 ID:y6LF40Yk.net]
>>924
プロトタイピングの結果をどうぞ
ちゃんとした設計なら少し考えれば図が出てくる
プロトタイピングの結果はいつになっても出てこないなあw

950 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:02:45.19 ID:y6LF40Yk.net]
正統派設計チーム
echo.2ch.net/test/read.cgi/tech/1463663267/768
echo.2ch.net/test/read.cgi/tech/1463663267/819

「設計はコーディング」チーム
class KomaClass {}
class KomaType {}
class MoveClass {}
class BoardClass {}
class PlayerClass {}
class MatchClass {}

「設計はコーディング」の完敗なのは明白

951 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:08:32.61 ID:NAulAg4n.net]
>>932
echo.2ch.net/test/read.cgi/tech/1463663267/768
って意味がわかんないんだけど、

Move(動詞)がクラスってどいう言うこと?w
これって、ゴミク図なの?

952 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:09:49.75 ID:UI22d5e9.net]
>>931
論点がズレてる
設計する方法としてUMLとかドキュメントにするかコード(プロトタイピング)にするかの違いだけ
図を描く事に執着するのは目的と手段を取り違えてる
っでなぜプロのプログラマーやアーキテクトにタダでアウトプットを求めるんだ?
タダで書くのは善意が大前提で、貴方に善意はわきません

953 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:16:14.80 ID:y6LF40Yk.net]
>>934
「できないのをごまかしてる」だけなのか「できるけどやらない」のか、区別できないね
結果としては何もできていない
何もできていないのに「設計はコーディングだ!」って主張しても説得力ないなあ
くだらない文章をスレに書くのもやめたら?w

954 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:18:20.76 ID:y6LF40Yk.net]
>>933
うんうん
それじゃ正しいと思う設計を書いたら有益な意見交換ができるよ

955 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:23:25.51 ID:y6LF40Yk.net]
>>933
ちなみに
move
【名】
動くこと、運動、移動
〔ある様態の〕動き(方)
〔一連の〕手だて、戦略
引っ越し、転居
〔チェスなどの〕手番、指し手

ちょっと恥ずかしいなw

956 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:24:49.16 ID:UI22d5e9.net]
>>935
まず個人の設計に対する能力をここで問うのは間違っている
ここでは方法論を議論していて、俺は場合によってはプロトタイピングを適用すると言っただけ
貴方は俺がプロトタイピングがまともに出来なかったらプロトタイピングの手法自体が意味がないと思うのか?違うだろ
あと今日は天気もいいのでストレス発散はここではなく外に出てすれば良い、きっと溜まったものが落ちると思うよ

957 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:30:44.42 ID:y6LF40Yk.net]
>>938
プロトタイピングって設計なしにするものじゃないと思ってるから
お前の認識がおかしいと判断するだけ
設計について意見交換したいんだけど有益なレスがないんだよなあ

このスレの内容って
「設計なんてしないでいきなりコーディングできる」
「じゃあちょっとやってみて」
「できません!!」
でまとめられる気がする…

958 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:41:30.00 ID:JwbsVpE7.net]
>>939
そりゃ設計推進派もいっしょだろw
やってみろ
できません
の繰り返しだw



959 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:48:20.63 ID:y6LF40Yk.net]
>>940
>>932
全然違う

960 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:48:41.84 ID:UI22d5e9.net]
>>939
頭で考えたものをドキュメントやコードに落としてそれを検証して修正して精度を上げていくのが設計
設計なしにって何を言っている?
プロトタイピングのコードとプロダクトコードは別だけどそこの認識は合ってるよね?

961 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:56:48.33 ID:L/Ku0jBm.net]
システムを組むならモジュール分けとモジュール間のIOぐらいの基本設計は先にやる
チームでやるならここで仮ドキュメント化するが、詳細設計はこの時点ではしない

例えばこのスレの将棋の例ならこうだ

[表示、対人用フロントエンド]
UI必須、対局モジュールからの情報を盤面に表示
人間の入力を受けて対局モジュールに送り返す
遊びやすいUIとゲームらしい演出にこだわれ

[AIモジュール]
UIは一切不要、想定するハードウェア構成と時間内で最良手を選び出せるパフォーマンスにこだわれ

[対局モジュール]
既存CSAプロトコル準拠サーバをラップして流用する方向で組み込み可能か検討せよ
IOはCSAプロトコル準拠、CPU同士の対局の場合は画面出力のために対局者とは別に[表示・対人フロントエンド]の接続を受け付けること

[その他]
タイトルやゲームモード選択(ロビー)画面など対局以外のものを用意する、UIチームに余裕があればUIチームが担当

フロントエンド・AI共に対局モジュールとの通信はCSAプロトコルに準拠するものとする

まああとの詳細設計はそれぞれの担当者が好きにやってくれ

962 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 12:59:18.37 ID:y6LF40Yk.net]
>>942
>設計なしにって何を言っている?
それはコーディングをいきなり始めることができる主張してる人に聞いてくれ
俺も不思議だから聞いてる

963 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:00:28.02 ID:y6LF40Yk.net]
>>943
>>8-9読んで

964 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:04:45.05 ID:UI22d5e9.net]
>>944
ん?
自分で言ったことでしょ?
設計なしにプロトタイピング出来ないって設計なしにUMLは書けないって言ってるのに近いと思うけど?
設計なしにプロダクトコードは書けないならって話なら納得はするが話の流れから違うよね?

965 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:09:08.72 ID:y6LF40Yk.net]
>>946
俺がそう思ってるってことじゃないぞ
文脈読んで

966 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:10:38.68 ID:y6LF40Yk.net]
>>946
設計なしに将棋ソフトのプロトタイプコードは書けないと思ってるぞ
で、
「書けるなら書いてみて」
「書けません」
って流れ

967 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:17:16.38 ID:ppFl8ALU.net]
前スレ>>1が張り切ってるなw

968 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:22:42.07 ID:y6LF40Yk.net]
>>949
ソースなし夫はまだ粘着してんのwwww



969 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:28:17.77 ID:L/Ku0jBm.net]
コーディング=設計でも詳細な設計してからコーディングにかかるでもどっちでもいいわ、問題はどっちを先に出力するかじゃない

例えばコーディング=設計ならば

頭の中に既に設計が出来ててプロトタイピングしながらその設計を随時更新してるタイプ

頭の中でまとまっていないのにコードに手をつけるタイプ、末端から手をつける習性があり終盤でスパゲティ化して炎上のリスクがある

この2つに分類できる、前者は優秀だが後者は死ね
設計設計言ってる奴も同様で

コーディング時に事前に書いた詳細設計通りに書いて問題なく動く、頭の中でざっくりとコーディングしてるし頭の中でプロトタイピングもされてるタイプ

実際のコードへの落とし込みや動きを想定せずに僕の考えたすごい設計を書くタイプ、多くの場合技術的な問題で設計通りに実装する事が難しかったりパフォーマンスに問題が出たりする

この2つに分類できる、前者は優秀だが後者は死ね

途中でどちらを先に出力してるかは大きな問題ではなく、全体をきちんと考慮して動けてるかどうかが重要

970 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:29:37.58 ID:UI22d5e9.net]
>>948
あぁ理解できた
どんな場合でもプロトタイピングは設計なしに出来ないって主張かと思った
>>948は将棋のプログラム書くのにいきなりプロトタイピングはできないって事でしょ
それは個人の力量だしプロトタイピングが出来ないならクラス図も書けないと思うから、もう少し大きい概念から落としていけば良いでしょ
つまり設計手法のチョイスがあってない、粒度をいきなり落とし込めないって事なんだからPDCA回して粒度落とし込めば良いと思うよ
>>924で書いた通り俺ならの前提でプロトタイピングやクラス図作成の粒度まで落とせるからってところで話が噛み合わなかったんですね
>>938で能力を問うのはおかしいと自分で指摘しながら能力の差で混乱を招く結果になって申し訳ない

971 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:38:14.51 ID:y6LF40Yk.net]
>>952
よく分からんけど、抽象論で議論していても生産的じゃないから
ぐだぐたいい争うより実際やってみたらって意見に賛成

972 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:49:35.90 ID:L/Ku0jBm.net]
>>953
実際にやっても個人の能力に依存するのでどちらの手法が優れているかの証明にはならんよ?

というかどちらの手法でも出来る奴は手順を変えたところで問題なく作るだろうし、作れるという事も知ってる
つまり表面的な出力順にこだわるという事は…

973 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:56:02.47 ID:y6LF40Yk.net]
>>954
自分じゃできもしないのに「できる、できる」って騒ぐバカが消えれば
このスレも少しはましになるだろ

手順には順序があることも知らんのかな?
要件定義せずにコーディングするのはバカ
それと一緒

974 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:05:55.37 ID:C3woM6J5.net]
>>955
ここで要件定義とか話がずれてるわw
出来る奴と出来ない奴を経験が違うから、賢いからで片付けられてモヤモヤなんだろ
その差を工学的手法で埋めたいって思ってるんだろうけどソフトウェア工学はそこまで万能じゃない
ある種のアートであると認識して自分にセンスがないと諦めるか、しがみついて経験積むかだな

975 名前:デフォルトの名無しさん [2016/06/11(土) 14:06:29.17 ID:b0eP6+U3.net]
>>955
でも、できない問題を出して出来ないんだーー!て騒いでもあまり意味がないんじゃないかな
できる問題をだして双方が技術を示せるようにしないと比較することもできないでしょうに
将棋は難しいと思うよ、CSVのリーダとかでもいんじゃないかな

976 名前:デフォルトの名無しさん [2016/06/11(土) 14:09:46.85 ID:y6LF40Yk.net]
>>956
できない奴ほどよう吼えるw
吼えてる暇があれば>>932をちょっとでも進めたら?

977 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:12:54.30 ID:C3woM6J5.net]
>>958
お前の経験の無さが透けて見えるから突っ込まれてるの分かってる?
今までどんな開発してきたの?

978 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:16:59.48 ID:y6LF40Yk.net]
>>959
うんうん
お前は自称優秀なんだから将棋ソフトの設計くらい軽くできるんだろ?
「俺はすごい」って口だけで言ってても情けねえーぞーw



979 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:17:50.79 ID:L/Ku0jBm.net]
>>955
物事には順序があるが出来る奴の中にはそれをやってるという意識なく脳内で手順を終えて「やってない」と言い放つ奴がいるんだよ
まあ能無しがそれを真似ると大惨事になるんだがw

主張がぶれぶれなクライアントのために、アホなクライアントでも動きが確認出来るよう要件定義のためのプロトタイプを作る事もある
その時点までに出た要件とそれを元にした脳内設計は確実に存在するが明示的なアウトプットはしていない
さてこれは要件定義や設計なしにコーディングしたと言えるのか?

これを要件定義も設計もしたという奴といきなりコーディングしたという奴がいる、ただそれだけの違いだろ

980 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:20:29.52 ID:y6LF40Yk.net]
>>961
そういう抽象論はどうでもいいかなあ
「で?」って感じというか…

981 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:26:34.85 ID:y6LF40Yk.net]
「具体的なコーディングにさっさと移るべきだ」と主張してる奴ほどこのスレでは抽象論を振りかざし
いつまで経っても具体的な設計を提示できないのが皮肉だなw

982 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:43:46.31 ID:aETEZ8Lc.net]
「コーディングこそ設計」と書き込んだけど、961の書き込みに賛同だね。
また、こんなところで具体的な設計の提示なんて、全然期待していないし、求めてもいない。
でも、人によってここに求めるものが色々あってもいい。

983 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:51:48.59 ID:/6Etr2QS.net]
前スレから今まで出てきた成果物は
将棋というゲームを説明するための図と、ウィキペディアの将棋ソフトの項目にある思考AIの説明をラフに描いただけのもの

肝心の評価関数の中身を設計するのにオブジェクト指向をどう使うの?という当然の疑問に誰か答えてくれよ

984 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:55:26.73 ID:y6LF40Yk.net]
>>965
普通のメソッドの内部がどうなってるか知ってる?

985 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:05:13.13 ID:bKLKFp2p.net]
クラスは役割で考える。
動きで考えるな。

986 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 17:09:06.34 ID:1hn1NZl3.net]
クラスは機能で考える
役割で考えるな
常識

987 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 17:47:18.15 ID:bKLKFp2p.net]
>>968
おいw
そんなんだから手続き型から抜けだせ無いんだぜ?

988 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:00:28.79 ID:ZhHlBSFM.net]
>>951
完全に同意。てか、分かりやすいわ。

>>961
> 物事には順序があるが出来る奴の中にはそれをやってるという意識なく脳内で手順を終えて「やってない」と言い放つ奴がいるんだよ
ふむ。言い得て妙だな。

しかしあんた、だいぶ頭いいよな。
なかなかこのレベルの説明は出来ない。



989 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:05:07.64 ID:aETEZ8Lc.net]
個人的には、コーディング量が減るとか、他人の作ったクラスが再利用できて、楽してバグ無しのメンテが容易なプログラムが短期で完成できればいいだけ。
だから、クラスが役割で考えて、あるいは機能で考えて、もしくは、構造化プログラミング的(手続き的)に作られていようが、どうでもいい。
使いやすく、分かりやすいクラスであればいいし、あるいは自分で作らなくても、すでに用意されていれば、もっと嬉しいですね。

「白猫であれ黒猫であれ、鼠を捕るのが良い猫である」って気楽な考え方をしています。

990 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:11:41.30 ID:VRwHRVV/.net]
再利用性のためにクラスが必要だと思っちゃうのJava脳

991 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:13:31.35 ID:NAulAg4n.net]
> 使いやすく、分かり

992 名前:やすいクラスであればいいし、

とか考えると、単一責任の原則とかでてきて、
役割で考えて、一つの役割だけをやるようにしましょう(=単一責任の原則)
という話なるはずだが?

お前、使いやすく、分かりやすければいいと言うだけで、
どうすれば、使いやすく、分かりやすくなるのかを
理解してないんじゃね?
[]
[ここ壊れてます]

993 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:15:44.18 ID:VRwHRVV/.net]
クラス設計という単純なそれこそ教科書の1ページ目に出てくることでさえ議論になりうる

これならいってみればクラスの設計思想が自分と異なるライブラリは使い物にならないってことだよな

Javaだったらラッパークラスかけば自分に適したインターフェース作れるって?

そうやってコードがかさましされたコードの保守なんて他人に任せられないよな
さあですマーチの開幕だ

994 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:16:59.17 ID:NAulAg4n.net]
d.hatena.ne.jp/asakichy/20090122/1232879842

・単一責任の原則(SRP)
・オープン・クローズドの原則(OCP)
・リスコフの置換原則(LSP)
・インターフェイス分離の原則(ISP)
・依存関係逆転の原則(DIP)

オブジェクト指向設計に関する原則の頭文字をとって「SOLID」とまとめられた原則集。
qiita.com/hirokidaichi/items/d6c473d8011bd9330e63

S SRP Single Responsibility Principle(単一責務の原則)
「クラスを変更する理由は1つでなければならない」
O OCP Open/closed principle(開放閉鎖の原則)
「クラスは拡張に対して開き、修正に対して閉じていなければならない」
L LSP Liskov substitution principle(リスコフの置換原則)
「派生型はその基本型と置換可能でなければならない」
I ISP Interface segregation principle(インターフェース分離の原則)
「クライアントが利用しないメソッドへの依存を強制してはならない」
D DIP Dependency inversion principle(依存性逆転の原則)
「上位のモジュールは下位のモジュールに依存してはならない。どちらのモジュールも「抽象」に依存すべきである。」

995 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:19:01.24 ID:NAulAg4n.net]
次スレ

オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1465636703/

996 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:21:55.21 ID:/6Etr2QS.net]
>>966 何が聞きたいのかさっぱり分からない。メソッド内に何があればオブジェクト指向になるの?
メソッド内で他のメソッド呼ぶだけでオブジェクト指向だと言いたいの?
抽象化の手段がオブジェクト指向しか無いJavaみたいな言語だと、オブジェクト指向が必要無い場面でもクラスやらメソッドが必要になるけど
そういうのもオブジェクト指向だって言いたいの?

997 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:52:10.65 ID:y6LF40Yk.net]
>>977
評価関数の中身を設計するのにオブジェクト指向をどう使うか分からないのは
メソッド自体を分かったないからだと思うよ
メソッドの内部がどうなっているか回答しろ
それとメソッドはどうやって設計するか知ってる?

998 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:01:39.04 ID:geSprGL3.net]
例えば橋を作るというとき
ある人はいきなり作業しだす
ある人は設計らしきことをしだす

ここで前者の中にのみ注目して
その中でさらに二種類居ることを言いたい

アホは橋の端から着手する
一生懸命、こちら側の対岸から伸ばしていく
それはもう頑張って伸ばしていく
逆側の対岸まで伸ばせるかどうかはもはや神頼みレベル

かしこはそうしない
まず足場から着手する
足場組んでみてグラついてたら補強するか
とっかえる
そんで足場終わったら上乗っける
作業の工程間に綱渡りが無い
先にしておいてよい部分を先に着手する

というお話



999 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:03:59.84 ID:aETEZ8Lc.net]
>>973
どうすれば、使いやすく、分かりやすくなるのかを
理解してないんじゃね?

理解してないかもしれない。
でも使いやすく、分かりやすいか、そうでないかは分かる。
「私、使う人」の立場であれば、「どうつくればいいか」は理解してなくても、とりあえずはいい。

1000 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:04:42.35 ID:NAulAg4n.net]
例えばクラスを作るというとき
ある人はいきなり関数の中身から書き出す
ある人はクラスのインターフェースなどの設計から書き出す
ある人は設計を鉛筆で下書きをしてから書き出す

1001 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:05:44.58 ID:NAulAg4n.net]
>>980
自分で関数を作る立場の人間に成りましょう。

1002 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:06:29.23 ID:y6LF40Yk.net]
>>979
いきなり作り出すのは近所の小川に架ける橋だけ
鉄骨を使う橋を作るのに設計しないで着手するのはバカ

「コードが設計」って主張してる連中は趣味グラマであってプログラマじゃないんだろうなw

1003 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:07:37.02 ID:NAulAg4n.net]
そういや絵が上手い人って、下書きもせずに
いきなり絵を描くことができちゃうんだよな。
あれなんでなんだろ?

1004 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:08:55.57 ID:NAulAg4n.net]
>>983

鉄骨を使う橋を作るときに作る設計=今はパソコンで書く=コードってことでしょう?

1005 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:09:55.69 ID:NAulAg4n.net]
「コードが設計」って言ってる人は、設計をしないって
言ってるわけじゃないんだよ。

ソフトウェアの設計を一番書きやすいのは
コードなのだから、コードを使って設計を書いているだけなんだよ。

1006 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:11:10.27 ID:y6LF40Yk.net]
>>985
は?

1007 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:12:45.62 ID:y6LF40Yk.net]
>>986
UML「何言ってんだこいつ?」
GoF「理解できない…」

1008 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:14:29.37 ID:NAulAg4n.net]
>>998
UMLで書くのも設計ってだけでしょう?
コードも設計なんだよ。



1009 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:15:29.58 ID:NAulAg4n.net]
そういやUMLのLってランゲージ(言語)のLなんだよな。

1010 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:17:10.80 ID:y6LF40Yk.net]
>>989
理解不能過ぎるからさっさと将棋ソフトのコードによる設計をしてくれよ
できもしないものをできると妄想で語られても困る






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<386KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef