アカウント名:
パスワード:
まず第一に、綺麗なコードと再利用できるコードを混同している。再利用できるコードを作るのは再利用できないコードの3倍苦労するけど、汚いコードを再利用するのは30倍以上苦労します。
>成果物をパパッと作っちゃう人は再利用のことなんか考えません。>後で作り直せば良いだけなんだから。いやいや。そういうことを言い訳にして汚いコードを書く人は、あとの事なんて考えてない。自分で書き直せない奴ほど、そういうことを言い訳に使うんですよね。#綺麗なコードを書く時間 ー 汚いコードを書く時間 << 汚いコードを解読して綺麗なコードに書き直す時間
どうせ書き直す必要が出る頃までその会社にいるかどうか分からないんだし、そもそも次の仕事を同じ会社が受ける保証もなければ、その会社が次の仕事を受ける時まで存続している保証もない。万が一書き直す必要が発生しても、汚いコードを書く人はさっさと逃げ出しちゃえばいいんですよね。
それにしても再利用可能なコードを創るのが大変なのは事実だけど、「自分の書いたコードを書き直すのは嫌いだ」とか言って保守不可能なコードを書いて技術的負債を増やし続けるような奴を雇っちゃいけないな。
なるほど。3つの法則といいながら、2つしかないとは素晴らしい。
世の中には3種類の人間が居る。数を数えられる人間と、数えられない人間だ。
「ソフトウエア開発 55の真実と10のウソ」 [amazon.co.jp]では以下のように書かれています。
「真実18
再利用には二つの「3の法則」がある。(a) 再利用可能なコンポーネントを作るのは、単一のプログラムで使うモジュールを開発する場合に比べ3倍難しい。(b)再利用可能なコンポーネントは、ライブラリに取り込む前に、三つの異なるプログラムでテストする必要がある。」
「「3の法則」は「ビガスタフの3の法則」として知られている」と書いているので、この二つの「3の法則」がビガスタフの法則であるのは間違いないようです。ただし検索を駆使しても原著論文は見つからなかったとも書いています。また3はあくまで目安でしかないことにも触れられています。ならば、下手糞なプログラマでは10回作り直したところで、再利用可能なコードに到達することなど叶わないでしょう。
また、ぐぐってみると、http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20030918/1/ [nikkeibp.co.jp] では「「ソフトウェア再利用の神話」(ウィル・トレイツ著,ピアソン・エデュケーション)という本に,再利用に関する「3」の法則が出てくる。すなわち,「再利用可能なソフトを開発するには,3回は作り直す必要がある」,「再利用の恩恵にあずかるには,少なくとも3回は再利用する必要がある」というものだ。」となっています。
なお「人月の神話」にも作り直しに関する記述があって、「一つ目は捨て石にしなければならない」「二番目のシステムは危険だ」みたいな話が書かれています。
え?
成果物をパパッと作っちゃう人は再利用のことなんか考えません。
が3つ目の法則なんじゃないの?
きれいなコードは時間がかかるというけど本当なの?
大昔ならいざしらず、現在は綺麗な設計/コードを作るためのノウハウがたくさん発表されていますよ。頭をひねって時間をかけて考え出す必要はもうほとんどないです。要はテクニックです。それらのノウハウを知っていて適切に適用できれば今までと同じ時間で今までより綺麗なコードが書けますよ。
綺麗なコードを書くのに時間はかからない。しかし綺麗なコードを書ける人間を育成するのには、金と時間がかかる。
プログラマーを使い捨てにしてきたツケってやつですな。
>- 再利用可能なソフトウェアを開発するには、3回は作り直す必要があるこれは「(綺麗なコードを書いても)3回くらい手を入れないと再利用できるものは手に入らない。だから、最初から再利用可能なものを手に入れられると思うのは幻想に過ぎない。」ということであって、スパゲッティプログラムを何度スクラップアンドビルドを繰り返しても再利用可能なものになるわけじゃないでしょ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
きれいなコードは3倍大変 (スコア:2, すばらしい洞察)
- 再利用可能なソフトウェアを開発するには、3回は作り直す必要がある
- 再利用の恩恵を与えるには、少なくとも3回は再利用する必要がある
成果物をパパッと作っちゃう人は再利用のことなんか考えません。
後で作り直せば良いだけなんだから。
それでサルが書いたみたいに汚いコードだとか愚痴ってる奴が3倍の労力をかけてきれいなコードに書き直せば良いだけのことですよ。
「後は野となれ山となれ」メソッド (スコア:5, すばらしい洞察)
まず第一に、綺麗なコードと再利用できるコードを混同している。
再利用できるコードを作るのは再利用できないコードの3倍苦労するけど、
汚いコードを再利用するのは30倍以上苦労します。
>成果物をパパッと作っちゃう人は再利用のことなんか考えません。
>後で作り直せば良いだけなんだから。
いやいや。そういうことを言い訳にして汚いコードを書く人は、あとの事なんて
考えてない。自分で書き直せない奴ほど、そういうことを言い訳に使うんですよね。
#綺麗なコードを書く時間 ー 汚いコードを書く時間 << 汚いコードを解読して綺麗なコードに書き直す時間
どうせ書き直す必要が出る頃までその会社にいるかどうか分からないんだし、そも
そも次の仕事を同じ会社が受ける保証もなければ、その会社が次の仕事を受ける時
まで存続している保証もない。万が一書き直す必要が発生しても、汚いコードを
書く人はさっさと逃げ出しちゃえばいいんですよね。
それにしても再利用可能なコードを創るのが大変なのは事実だけど、「自分の書いた
コードを書き直すのは嫌いだ」とか言って保守不可能なコードを書いて技術的負債を
増やし続けるような奴を雇っちゃいけないな。
Re:きれいなコードは3倍大変 (スコア:3, すばらしい洞察)
なるほど。
3つの法則といいながら、2つしかないとは素晴らしい。
Re:きれいなコードは3倍大変 (スコア:1)
世の中には3種類の人間が居る。
数を数えられる人間と、数えられない人間だ。
Re:きれいなコードは3倍大変 (スコア:1)
Re: (スコア:0)
Re: (スコア:0)
Re:きれいなコードは3倍大変 (スコア:4, 参考になる)
「ソフトウエア開発 55の真実と10のウソ」 [amazon.co.jp]では以下のように書かれています。
「真実18
再利用には二つの「3の法則」がある。
(a) 再利用可能なコンポーネントを作るのは、単一のプログラムで使うモジュールを開発する場合に比べ3倍難しい。
(b)再利用可能なコンポーネントは、ライブラリに取り込む前に、三つの異なるプログラムでテストする必要がある。」
「「3の法則」は「ビガスタフの3の法則」として知られている」
と書いているので、この二つの「3の法則」がビガスタフの法則であるのは間違いないようです。ただし
検索を駆使しても原著論文は見つからなかったとも書いています。また3はあくまで目安でしかない
ことにも触れられています。ならば、下手糞なプログラマでは10回作り直したところで、再利用可能な
コードに到達することなど叶わないでしょう。
また、ぐぐってみると、
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20030918/1/ [nikkeibp.co.jp] では
「「ソフトウェア再利用の神話」(ウィル・トレイツ著,ピアソン・エデュケーション)
という本に,再利用に関する「3」の法則が出てくる。すなわち,「再利用可能なソフトを
開発するには,3回は作り直す必要がある」,「再利用の恩恵にあずかるには,少なくとも
3回は再利用する必要がある」というものだ。」
となっています。
なお「人月の神話」にも作り直しに関する記述があって、「一つ目は捨て石にしなければならない」
「二番目のシステムは危険だ」みたいな話が書かれています。
Re: (スコア:0)
え?
成果物をパパッと作っちゃう人は再利用のことなんか考えません。
が3つ目の法則なんじゃないの?
Re: (スコア:0)
Re:きれいなコードは3倍大変 (スコア:1)
きれいなコードは時間がかかるというけど本当なの?
大昔ならいざしらず、現在は綺麗な設計/コードを作るためのノウハウがたくさん発表されていますよ。
頭をひねって時間をかけて考え出す必要はもうほとんどないです。要はテクニックです。
それらのノウハウを知っていて適切に適用できれば今までと同じ時間で今までより綺麗なコードが書けますよ。
Re: (スコア:0)
時間をかけないと往々にして汚いコードが出来上がると思う。
いや、とりあえず動けば良いと思って、とか、
一時的なものだと思ったから、とか妙な言い訳とともに。
Re: (スコア:0)
綺麗なコードを書くのに時間はかからない。
しかし綺麗なコードを書ける人間を育成するのには、金と時間がかかる。
プログラマーを使い捨てにしてきたツケってやつですな。
>- 再利用可能なソフトウェアを開発するには、3回は作り直す必要がある
これは
「(綺麗なコードを書いても)3回くらい手を入れないと再利用できるものは手に入らない。
だから、最初から再利用可能なものを手に入れられると思うのは幻想に過ぎない。」
ということであって、スパゲッティプログラムを何度スクラップアンドビルドを繰り返しても
再利用可能なものになるわけじゃないでしょ。
Re: (スコア:0)