オブジェクト指向は戦場では必要無し その3
■ このスレッドは過去ログ倉庫に格納されています
0001うつつつつ
NGNG引き続きOO厨とアンチOO厨の血で知を笑う戦いきぼ。
その1 http://pc.2ch.net/test/read.cgi/tech/1011997945/
その2 http://pc.2ch.net/test/read.cgi/tech/1013266554/
0757デフォルトの名無しさん
NGNGなんかタイトルと離れた話題だけど、
数千行(3千行程度)のプログラムとしての設計書はソース自身になるように作るのが普通では?
仕様書ならともかく、設計書を別に作らされてるってかわいそうとしか思えないのだが
0758デフォルトの名無しさん
NGNGきちんとした書式の設計書でなくていいから、どんな作りになってるのか、メモくらいのこせ。
0759デフォルトの名無しさん
NGNGコメントで十分では? :)
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGそんなやつのなら、だらだら書いてたら数千行になっちゃったようなクソコードだろ。
せめて、「どんな作りになってるのか」くらい書いとけ、ソースの先頭でもいいから。
それも必要無いようなのは、コメントもいらん。
一目でクソだとわかるほうが、捨てる判断もしやすいからな。
0762デフォルトの名無しさん
NGNGどんな言語で開発してるんだ? もしかして素のbasicか?
そんなキミにいいこと教えてやろう アセンブラなら ':' をgrepしろ
pascal なら procedure / function で grepすればいい
cなら一度コンパイルしてマップファイルを見ればいい
0763デフォルトの名無しさん
NGNG数千行程度なら、いわゆる紙の仕様書は要らんと思うなぁ。
構造体とグローバル変数、それに関数の頭に簡単なコメントがつけてあれば
間に合う。それでは間に合わない腐ったコードもあるけど、それはコメントが
あってもやっぱりダメだし(w
0764デフォルトの名無しさん
NGNG結局 自分のスタイルと違う設計は解読し難いというだけだろ。それは結局勉強不足さ。
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG参考になるURLだけ書いとく事もあるけど、勉強しろゴルァって
言うよりも、ソースの先頭に全部書いてあるから読めゴルァ
のほうが、手離れがいい。
勉強不足なやつに、いちいち聞かれるの、うざいし。
0767デフォルトの名無しさん
NGNG別に新人教育のためにプログラム書くわけじゃないし。
0768.
NGNG0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG> 設計の概念の無いやつのコメントなんて、信用できるかよ(w
> そんなやつのなら、だらだら書いてたら数千行になっちゃったようなクソコードだろ。
設計書を書かない奴と設計書を書けない奴を混同する奴の方が信用できない。
常に設計書を書かなければ気が済まない強迫観念をもったキチガイの方が信用できない。
設計書なんてエレベータみたいなもの。
3階建ての民家にあるのは馬鹿
5階建てくらいのマンションにはあれば便利だが、無くとも何とかなる。
20階建て以上もある高層建築にないのも馬鹿
3000行ほどの小さなプログラムも組んだことのない
新人君 or 学生君ならば設計しといたほうがいいと忠告しておく。
0771デフォルトの名無しさん
NGNGどんな作りになってるかのメモくらい残せよって言ってるんだが。
物作りするとき、走り書きくらいするだろ。
それがあとでコード読む手がかりになるなら、残さない理由が知りたい。
あ、もしかして、3000行程度のプログラムが脳内設計で書ける自慢?
ならしょうがないな。
おれがわるかったよ。
0772デフォルトの名無しさん
NGNG行数で語るから、話が混乱するんだと思うが。
べつに 1 万行でも単純なプログラムなら要らんし、百行でも複雑な
アルゴリズムを使ってるなら参考文献なり具体的な説明なりを残さ
ないと、後で自分が困る。
それだけだろ?
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGWin32 あたりで既存の API を呼び出すだけなら書かない。
そうではなく、整数中点円スキャン変換アルゴリズムを自前で実装してる
なら、関数の解説(これは引数で指定された点を中心とする半径 n の円
を描く、云々)と、アルゴリズムに関する参考文献か解説を書いておく。
0776デフォルトの名無しさん
NGNG記憶力が良いか頭がイーかたなんでしょう。
私は1月前に書いた自分のコードが
コメント無しでは読めません。
0777デフォルトの名無しさん
NGNG書けだの、その関数仕様書には「処理概要」とかいって、ソース見ればわかる
制御構造とか、下手すりゃフロチャートまで書けとか、そのくせ関数名は
命名規則で8文字以内とか、そんな経験があると、「ドキュメントなんかいらん!!」
と言いたくなるよな(藁
だけど、ここで出てるのは、そういう定型的なドキュメントじゃなく、
どこがどうなっているかの概略を説明する簡単な文書だろ?
もちろんどんなプログラムかによるけど、3000行なら、A4 1〜2枚くらいは
説明書があったほうがいいと思う。
コメントでいいという意見もあるようだけど、コメントはソースの
「その場所」に関する説明だから、全体を概観する文書は、やっぱ別に要るよ。
0778デフォルトの名無しさん
NGNGどこが居間でどこが台所なのか、台所から今に行くにはどうすればいいのか
という事くらいは、(後でメンテナンスするつもりなら)書いておいたほうが
いいと思われ。
その3000行を、クラスなりなんなりで分割したそれぞれが、ちゃんと「居間」
であったり「トイレ」であったりするなら、それ以上の詳細を説明する文章
までは要らないと思うが。
3000行がmain関数一本と言うアホなプログラムじゃなければ、そういった
メモには価値があると思われ。
0779デフォルトの名無しさん
NGNGこれって結構本当。
詳細設計がちがちでなければ、書きながら
考えてるし。
0780デフォルトの名無しさん
NGNG自分は大昔からこれを書くようにしているので、馴染み深いのですが、
他の人はそうでもないようです。
0781デフォルトの名無しさん
NGNG設計概要説明書。
0782デフォルトの名無しさん
NGNGソースと一緒に公開してくれる人はいないかな。。。
これに尽きる。
この方向でさらに突つきまわしても何も出てこないだろう。
OOブームを冷たい視線で眺めていた開発者達は今こそ見えてきた
頂上を目指す。
0784デフォルトの名無しさん
NGNGそのうちコードを書きながらメモを書くようになった
今は、行分割エディタでコメント部にメモを書きながらコードを書く
0785デフォルトの名無しさん
NGNG> それがあとでコード読む手がかりになるなら、残さない理由が知りたい。
C言語のプログラムだという前提で言うと
ディレクトリ構成でシステムの構成と階層を示している。
ファイルでモジュールを示している。
ヘッダコメントでそのモジュールの役割を示している。
includeで各モジュール間の依存関係を示している。
関数名で機能を示している。
ややこしい場所にはコメントを入れる
他に何が必要?GNUではこれで数万行を超えるプログラムが
何の問題もなく作られている。
もちろん、大規模なプロジェクトの場合、ドキュメントが一切ないのは
太平洋を横断するのに地図を持たずに航海するのと同じくらい無謀
だが、近所を散歩するのに地図を持って散歩する馬鹿はいまい
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG感情的な1行煽りしかできなくなった約1名に捧げる
「なんでこのスレにしがみついてるの?」
「なんでこのスレにしがみついてるの?」
0790788
NGNG0791788
NGNG作り始めに簡単なメモくらい書くだろ、それを残さない理由が知りたいって言ってるんだが。
無くても大丈夫とか、GNUでは大丈夫、は理由にならんだろ。
だから脳内設計で物作りが出来る自慢にしかならないのに…
ま、いいや、「あったほうがいい」っていう意見がいくつか出てるから。
0794789
NGNG> 無くても大丈夫とか、GNUでは大丈夫、は理由にならんだろ。
理由は以前に示したが、君の目がフシアナサンのようなのでもう一度書く
ディレクトリ構成でシステムの構成と階層を示している。
ファイルでモジュールを示している。
ヘッダコメントでそのモジュールの役割を示している。
includeで各モジュール間の依存関係を示している。
関数名で機能を示している。
ややこしい場所にはコメントを入れる
これ以上に何の情報が必要?
必要ないから書かないだけ。
必要ないのに存在する情報は必要な情報を隠す働きしかしない。
つまり有害無益
で、こちらからも質問?
作り始めの簡単なメモってどういう情報があるの?
モジュール構成やモジュールの役割以外の役に立つ情報って何?
0795789
NGNG> 時間がたってからソース読む時間を節約するため。
> とくに、書いた人以外が読むとき。
で、その「作り始めの簡単なメモ」のメンテナンスは
大幅な修正が発生したら忘れずに修正するんだよね?
その修正コストってソース読む時間を節約するコストよりも
十分に小さいの?特に小さなソースの場合。
2重管理するだけの価値が本当にあるの?
0796788
NGNGけど、それは分散してるより、まとまってたほうが見通しがいい。
3000行程度なら、最初に決めたとおりで作れるだろう。
(当然、規模が大きくなれば、ちゃんとした設計書の必要性が高くなるし、最初の設計のとおりに
ならない確立も高くなる)
だから、モジュール構成やモジュールの役割の説明として、役に立つ。
(そのメモが実際の作りと違ってたときにどーするよ?っていう反論なら認めたんだがなぁ…)
ディレクトリ構成は、どんなモジュールがあるか、は示していても、モジュール間の依存関係
を必ず示しているとはかぎらない。
ファイルとモジュールも1対1に対応しているとは限らない。
もし、ファイル構成が、プログラムの作りを的確に反映しているのなら、
「モジュールの構成はファイルの構成に対応してる」
って事を書いたメモがあるのと無いのとでは、やはり、コードを読む時(特に読み始め)の効率が違う。
ちゅーことだ。
0797788
NGNGしたら、最初のメモに追加しとけばいい。
0798788
NGNG0799789
NGNGそんなメモは想像もしてなかった。
> モジュール間の依存関係を必ず示しているとはかぎらない。
includeで示している
> ファイルとモジュールも1対1に対応しているとは限らない。
まぁそれは「全て大文字のシンボルはマクロとは限らない」と同じくらい
少ないと思うが。
特にJavaの場合、1ファイル1クラスに対応しているので、
> 「モジュールの構成はファイルの構成に対応してる」
とは、Javaの場合は絶対に必要ないし、
少なくとも俺がCでプログラムを書く場合はモジュール=ファイル。
0800デフォルトの名無しさん
NGNGどういう意味?
0801デフォルトの名無しさん
NGNG789じゃないけど、
関数を、機能単位で分類したものをモジュールと言うとして、
ひとつのソースファイルに、ちゃんと機能単位で分類したソースを入れると
いうことだろ。
下手な奴はわけのわからん分類をして関数を変なソースに突っ込むが、
俺はちゃんと機能単位で分類してるんだぜ、ってことだと思われ。
あと、staticで情報隠蔽したりとかね。
当たり前のことですわな。
0802777
NGNGヘッダファイル見ながら楽勝で書ける… ってことをこのスレのずっと前の方に
書いたのは俺だ(w
「作り始めに簡単なメモ」も書かないなあ。書いてるときは、ちゃんと
わかってるから、メモなんか不要だよ。
でも、後で読む人のことを考えたら、やっぱり多少のメモは必要だと思う。
3000行だと微妙なとこだけどな。「まずどこから読み始めるか」なんて
情報は必要だよ。
>>795
>2重管理するだけの価値が本当にあるの?
マネージャクラスが書かせたがるような定型の仕様書の類は確かに
2重管理の弊害が大きい。
でも、「どこがどうなっているかの概略を説明する簡単な文書」と俺が
言ってるのは、それに変更が加わるようなときはプログラムを捨てる時だって
ぐらいに大まかなものなので問題なし。
コメントじゃ図がかけないしね。モジュール間の構造とか、データ構造とか、
図の方がわかりやすい事って多いだろ。
0804デフォルトの名無しさん
NGNGGNU のコードが保守性に優れるかというと、俺は大いに疑問だが。
binutils とか読むと目が腐るぞ。
0805デフォルトの名無しさん
NGNGプログラムが完成する頃には役に立たなくなってるよ。
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNG・読まない
・更新しない
・律儀なやつが自分の直したとこだけ更新する
とかでなんの役にも立たないカオスの渦になりますが何か?
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNGhttp://www.zdnet.co.jp/news/0202/01/e_code.html
昨年,あるオーストラリア人男性がたった1人で.NETのGNU/Linux版のコードを書き始めた。
2001年元日から毎週平均5000行のペースでコードを書いてきた同氏1人の手によるものだ。
しかし,同氏は,クラスライブラリの構築に力を貸してくれるボランティアのプログラマーを探している。
0810デフォルトの名無しさん
NGNG同じペースで書いてるとしたらそろそろ45万行ぐらいか。
5000行ずつ書き続けられるかどうかよりも、どうやってテストしてるのかという点
の方が気になる。
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG仕事だろ。
サンデープログラマーはご自由に。
0813デフォルトの名無しさん
NGNGだって、コードしかかきたくないんだもん
動くもんができりゃそれで満足さ
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNGそれってあんたサンデーってこと?
0816デフォルトの名無しさん
NGNGUnitTestじゃね―の?
0817デフォルトの名無しさん
NGNGメモもカオスの渦に陥ると思うのですが?何か?
0818777
NGNGだからさあ、プログラムを丸ごと書きなおすような時でなければ、
概略を説明するメモにまで変更が入ることはないだろ?
0819デフォルトの名無しさん
NGNG今まで作ったドキュメントごと全部捨てて書き直すことを
推奨しています。
OOそのものとリファクタリングは直接関係はないですが、
ドキュメントごと一から作り直さないといけないことが
苦にならないのなら、シュレッダーを買いに行きましょう。
もちろんメモも、シュレッダーにかけます。
みじん切りです。
機密性が低いドキュメントなら安物のシュレッダーで幅1cm
くらいに切ってやるとよいでしょう。
0820デフォルトの名無しさん
NGNGそこまで仕事奪っちゃうと可哀想でさ。
0821デフォルトの名無しさん
NGNG…なんだこいつ。
今ここで話題になっている「メモ」は、多少のリファクタリングでは
変更されないものだろうに。
スレの流れに沿ってないし、そもそも文意がさっぱり取れないし。
愚痴か? それとも煽りのつもりか?
アフォなのは間違いないところだが…
0822デフォルトの名無しさん
NGNGアホなやつでも保守できるようにしとかなきゃいけないんだから。
3000行ならドキュメントいらんとかぬかしてる奴は腐ったドキュメントしか見たことないんだろ。
GNUみたいに自分の趣味でプログラムしてんならドキュメントなんていらん。
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG仕事と労働、どうちがうの?
0825デフォルトの名無しさん
NGNGそれらは全て雇用者のものであり、雇用者はあなたの代わりに誰にでもコードを
触らせる事が出来る。だからドキュメントを書く事も労働として要求される。
普通に仕事としてプログラムを作れば、知的所有権はあなたのものだ。
たとえば著作権は自動的に付与され、他人が勝手に改変する事は出来ない。
0826デフォルトの名無しさん
NGNG普通に仕事、ってのがよくわからんのだが・・・
あんたはシェアウェア作家ってこと?
0827デフォルトの名無しさん
NGNG個人で営業して仕事するしか今時 著作権が自分のものなんて契約はないよ
まあいつこんな道に迷い込んだのか 年寄りの一人としては責任も感じるけどね
0828デフォルトの名無しさん
NGNG結局そんなこんなが、魅力的なプログラムを作ろうという動機みたいなのを摘んで、
結局は効率良く成果を上げる事を阻んでるような気がするな
それが結局 オブジェクト指向なんて戦場で必要無しの遠因かもね
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNG>GNUみたいに自分の趣味でプログラム
それも立派な仕事だよ。
はたくというのはね はた(他人)を楽にすることだよってうちのおかあちゃんは教えてくれました。
はたをらくにするとお金は自然についてくるから気にするなとも・・・・これってほんとかなあ
0831デフォルトの名無しさん
NGNGこじつけです。
> ドウ ハタラク 動 の俗字なり。勞働、自働は勞働、自動なり。
> (大系漢字明解)
0832デフォルトの名無しさん
NGNGそれは感じの語源では?
はたらくの語源じゃないでしょ
それを語源という説もあるし
ttp://www.geocities.co.jp/SweetHome-Green/9087/hataraku.html
畑をひらくという説もあるし
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG何か不満があるのだろうか・・・
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNGBASIC → C → C++
と進むごとにコードが破錠しやすくなった。
今までの中で一番きれいに書けた言語はHSPかな(藁
0839デフォルトの名無しさん
NGNGスレ違い。
こっち↓逝け。
http://pc.2ch.net/test/read.cgi/tech/1016715717/l50
0840838
NGNGでももう逝かない。
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGクラスは糞。
0843デフォルトの名無しさん
NGNG悲しいことに、抽象的な思考が苦手な人にはオブジェクト指向は向きません。
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNGファイル分けは糞。
0846john ◆0z.4Is5E
NGNG0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1013995470/
ここの悲惨な>>1
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1021468476/
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています