優秀なソフトは一度はスクラッチから書き直している法則
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/24(金) 01:29:35なぜなら、初めて作るソフトは、試行錯誤の塊であり
無駄が多すぎるからです。
皆さんも一度はソースを捨てることをお勧めします。
0002デフォルトの名無しさん
2006/11/24(金) 01:32:090003デフォルトの名無しさん
2006/11/24(金) 01:33:590004デフォルトの名無しさん
2006/11/24(金) 01:39:400005デフォルトの名無しさん
2006/11/24(金) 01:42:14何度も作り直したい病にかかるよな。
0006デフォルトの名無しさん
2006/11/24(金) 02:20:540007デフォルトの名無しさん
2006/11/24(金) 02:25:06[Ctrl]+[A]
[Delete]
[F7]
0008デフォルトの名無しさん
2006/11/24(金) 02:34:46コピペでも隅々まで目を通すことになるから、アレ?と思って書き直すことが多々ある。
0009デフォルトの名無しさん
2006/11/24(金) 05:12:330010デフォルトの名無しさん
2006/11/24(金) 09:49:000011デフォルトの名無しさん
2006/11/24(金) 10:29:33書き直して駄目になったケース
0012デフォルトの名無しさん
2006/11/24(金) 11:56:590013デフォルトの名無しさん
2006/11/24(金) 12:31:20後ろに答えが付いたままの計算ドリルを、いかに答えを見ずにやったように見せかけるか
みたいな感じ?
0014デフォルトの名無しさん
2006/11/24(金) 15:07:11「答」を見ずに書いたら、答と違う解き方をしている部分が
概ね元より優れたものだった……ということが起こりうる時期(たまに訪れる)に、
「今がその時期だ」とうまく自覚して動けるかどうか、みたいな。
0015デフォルトの名無しさん
2006/11/24(金) 15:14:00あるプログラムが動作不安定で改修にも時間が掛かる状態で業務を引き継いだ。
先ずやったことは、コード中に埋まったままの古いリビジョンのコードを全て引っぺがすこと。
見通しがよくなったところでコードレビューしたら、現状のバグも潜在的なバグも山ほど顕在化した。
それらを修正しつつ変数名、関数名のリファクタリングを行なったら……
引き継いだ段階のソースと一致する行は殆ど残っていなかった。
0016デフォルトの名無しさん
2006/11/24(金) 15:31:23http://itpro.nikkeibp.co.jp/article/COLUMN/20061107/252873/
>>1
> 試行錯誤の塊であり、無駄が多すぎる
ってのは確かなんだが、
作り直す頃には試行錯誤の詳細を忘れてたりするんだよ。
0017デフォルトの名無しさん
2006/11/24(金) 15:47:37バグだらけで構造も汚くて書き直したほうが良い場合もある。
改修で十分な場合もある。時間が経てば成功した側を見て
過去においてどちらの選択が正しかったと判断できるけど
選択を行う時点でどちらが正しいか判断することは難しい。
書き直して成功した例はMicrosoftでいえばWindowsNTがあるしな。
一概にどちらが良い悪いとはいえない。
0018デフォルトの名無しさん
2006/11/24(金) 15:50:360019デフォルトの名無しさん
2006/11/24(金) 15:52:19途中から書き直す場合はassert埋め込みまくれば結構バグ起こさないで構造変えられる。
0020デフォルトの名無しさん
2006/11/24(金) 15:58:030021デフォルトの名無しさん
2006/11/24(金) 16:00:34WindowsOSという目標点では同じだろ
NTがLinuxだったら全然別物といえるがな
0022デフォルトの名無しさん
2006/11/24(金) 16:05:400023デフォルトの名無しさん
2006/11/24(金) 16:07:280024デフォルトの名無しさん
2006/11/24(金) 16:09:140025デフォルトの名無しさん
2006/11/24(金) 16:11:34> (既存の機能を書き換えるのではなく)アプリケーションを最初から書き直すのは,
> 十中八九間違っている。
この割合は感覚的にわかる気がする。
書き直すなと言ってるわけではなくて、「その方が良さそうだな」と思ったうち
本当にその方が良い割合は1〜2割くらいだろうって言ってるわけで、
まぁ、確かにだいたいそんぐらいではなかろうかと。
0026デフォルトの名無しさん
2006/11/24(金) 16:13:490027デフォルトの名無しさん
2006/11/24(金) 16:22:21絶え間ないスクラッチの渦に巻き込まれて大変です。
何とかしてください。
0028デフォルトの名無しさん
2006/11/24(金) 16:29:20言語屋はスクラッチが商売だ。我慢するか窓から投げ捨てろ。
0029デフォルトの名無しさん
2006/11/24(金) 16:35:420030デフォルトの名無しさん
2006/11/24(金) 16:40:08ネットスケープはそれやって大失敗してる
0031デフォルトの名無しさん
2006/11/24(金) 16:52:410032デフォルトの名無しさん
2006/11/24(金) 17:10:420033デフォルトの名無しさん
2006/11/24(金) 21:05:220034デフォルトの名無しさん
2006/11/24(金) 21:10:56それをいうならスクラッチじゃなくてリビルド
0035デフォルトの名無しさん
2006/11/24(金) 22:13:41だから怖くて誰も再起動できないでいるんだ。
0036sage
2006/11/25(土) 01:04:21その中でも生き残るコードは存在する。
これらのコードを密かに「�ケ小平コード」と呼んでいる。
0037デフォルトの名無しさん
2006/11/25(土) 01:06:280038デフォルトの名無しさん
2006/11/25(土) 01:43:170039デフォルトの名無しさん
2006/11/25(土) 11:25:49だがそれがいい
0040デフォルトの名無しさん
2006/11/25(土) 13:27:34他から買ってきてそれでしばらく耐え、その間に業界の権威を呼んでスクラッチから書き直す。
0041デフォルトの名無しさん
2006/11/25(土) 13:51:250042デフォルトの名無しさん
2006/11/25(土) 18:12:036系は最初から捨てるつもりで開発していたわけだ。
0043デフォルトの名無しさん
2006/11/25(土) 22:37:33> 作り直す頃には試行錯誤の詳細を忘れてたりするんだよ。
とりあえず試行錯誤の過程はテストケースとして残しとけ。
0044デフォルトの名無しさん
2006/11/26(日) 08:07:42「ゼロからつくったシステムは、一から作り直すことになる。」ってのも
また事実なんだよなぁ。
0045デフォルトの名無しさん
2006/11/26(日) 15:07:41こんなに優秀なソフトになれたんだよな。
0046デフォルトの名無しさん
2006/11/26(日) 15:32:070047デフォルトの名無しさん
2006/11/26(日) 16:18:04ref++
0048デフォルトの名無しさん
2006/11/26(日) 17:12:50何をもって「優秀」としているの?
評価基準はなあに?
0049ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
2006/11/26(日) 17:20:14趣味プログラムなら、知識を整理しなおす意味でも良い考えかもね。
>>45
その間にどんだけシェア失ってんねん、
もう4.x時代のシェアには戻れんだろ?
ちゅーのが>>30。
英語ですが。
http://www.joelonsoftware.com/articles/fog0000000069.html
# Netscapeの話はここ以外でも結構登場してます。
0050デフォルトの名無しさん
2006/11/26(日) 17:27:14高校生が無理して話に入ってこなくていいから。
0051デフォルトの名無しさん
2006/11/26(日) 18:10:35全然スレと関係ないけどありがとう。
思わず買った!
職場用にも買わせるかもしれん。
Ref++を100本単位で買ったらリソース日本語化とかしてくれるかねぇ?
0052デフォルトの名無しさん
2006/11/26(日) 19:23:55コメント分の大切だと思う今日この頃です。また、
CやC++でコード書くときいかにコード、構文をエレガントに書こうかと非常に気を
使うわけだが、VBにはその美しさを見出せない、VBの場合気分で一気に書いて
しまい動けばいいかみたいな感じだからだと思う、当然スクラッチする場合は
CかC++でやる羽目になるんだがww
0053デフォルトの名無しさん
2006/11/26(日) 20:13:35高校生が無理して話に入ってこなくていいから。
0054デフォルトの名無しさん
2006/11/27(月) 11:56:01なんでプログラマはfrom scratchを「スクラッチから」って訳すの?
なんでプログラマはfrom scratchを「スクラッチから」って訳すの?
「スクラッチから」でぐぐるとプログラミング系のページばかりでスゲー恥ずかしいんだけど。
辞書引いて普通に日本語で書けよ、普通に。
0055デフォルトの名無しさん
2006/11/27(月) 12:07:57> スクラッチから書き直し
>>13
> スクラッチとはいえ
>>28
> 言語屋はスクラッチが商売
>>33
> 人生をスクラッチ
>>40
> スクラッチから書き直す。
>>45
> スクラッチから書き直したから
>>52
> スクラッチする、しない。
> 当然スクラッチする場合は
言葉に無頓着な人間の多さに絶望しますね。
なぜ from scratch が「そういう」意味になるのかまるっきり理解してないばかりか、
そもそも scratch という単語の意味を知らんのと違うの。
0056デフォルトの名無しさん
2006/11/27(月) 12:20:32元の意味なんてかんけーないね
0057デフォルトの名無しさん
2006/11/27(月) 12:31:00フルスクラッチなんて和製英語もいいとこだ
0058デフォルトの名無しさん
2006/11/27(月) 12:42:57同意。米国人に、sumou wrestlerは、おかしいと説教するようなもんだ。
0059デフォルトの名無しさん
2006/11/27(月) 13:43:440060デフォルトの名無しさん
2006/11/27(月) 13:44:021 : from a point at which nothing has been done ahead of time <build a school system from scratch>
2 : without using a prepared mixture of ingredients <bake a cake from scratch>
ふむ、>1や>13、>40、>45はいいとして、>28、>33、>52はそぐわないな。
0061デフォルトの名無しさん
2006/11/27(月) 14:04:57・開発者が逃げた
・ドキュメントがほとんどないor古い
・明らかに糞コードしかも大量
・テストもない
なら仕方ないと思う
まあ実話なんですけどね
0062デフォルトの名無しさん
2006/11/27(月) 14:16:37なぜかsushi barの違和感は長年消えないの巻
0063デフォルトの名無しさん
2006/11/27(月) 14:20:330064デフォルトの名無しさん
2006/11/27(月) 18:49:53最初から、ゼロから◆【語源】scratch とは、「引っかく」ことであって、「引っかいた後の傷」も意味する。棒を使って地面に引いたスタートラインは scratch である。◆【同】do something from beginning
・Louise made her wedding cake from scratch. ルイーズは自分のウエディングケーキを一から作った。
・She made this cake from scratch. 彼女はこのケーキを一から(ミックスを使わずに)作りました。
0065デフォルトの名無しさん
2006/11/27(月) 18:55:010066デフォルトの名無しさん
2006/11/27(月) 19:08:240067デフォルトの名無しさん
2006/11/27(月) 19:25:570068デフォルトの名無しさん
2006/11/28(火) 02:09:170069デフォルトの名無しさん
2006/11/28(火) 09:56:340070デフォルトの名無しさん
2006/12/02(土) 12:46:13語源じゃないですやん
0071デフォルトの名無しさん
2006/12/02(土) 12:47:400072デフォルトの名無しさん
2006/12/02(土) 13:50:24業務系とかPerlは無理
0073デフォルトの名無しさん
2006/12/02(土) 14:17:37A: >>72 に能力が無いから。
0074デフォルトの名無しさん
2007/02/25(日) 10:42:38スクラッチするは『抹消する』だよ……
■ このスレッドは過去ログ倉庫に格納されています