5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

優秀なソフトは一度はスクラッチから書き直している法則

1 :デフォルトの名無しさん:2006/11/24(金) 01:29:35
優秀なソフトとは少なくとも一度はスクラッチから書き直しをしているものです。

なぜなら、初めて作るソフトは、試行錯誤の塊であり
無駄が多すぎるからです。

皆さんも一度はソースを捨てることをお勧めします。

2 :デフォルトの名無しさん:2006/11/24(金) 01:32:09
じゃあぼくはスケッチからはじめます。

3 :デフォルトの名無しさん:2006/11/24(金) 01:33:59
常識

4 :デフォルトの名無しさん:2006/11/24(金) 01:39:40
捨てました!

5 :デフォルトの名無しさん:2006/11/24(金) 01:42:14
まあ、普通にプログラム作っていると
何度も作り直したい病にかかるよな。

6 :デフォルトの名無しさん:2006/11/24(金) 02:20:54
スクラップにはよくなるな、うん。

7 :デフォルトの名無しさん:2006/11/24(金) 02:25:06
スクラッチ & ビルド

[Ctrl]+[A]
[Delete]
[F7]

8 :デフォルトの名無しさん:2006/11/24(金) 02:34:46
一度新しいファイルに書き直してみるのはいいよな。
コピペでも隅々まで目を通すことになるから、アレ?と思って書き直すことが多々ある。

9 :デフォルトの名無しさん:2006/11/24(金) 05:12:33
そのへんは小説とかも変わらんな

10 :デフォルトの名無しさん:2006/11/24(金) 09:49:00
優秀はさておいてSleipnir

11 :デフォルトの名無しさん:2006/11/24(金) 10:29:33
>>10
書き直して駄目になったケース

12 :デフォルトの名無しさん:2006/11/24(金) 11:56:59
消してしまったソースを、スクラッチから書き直すくらいモティベーションを維持できればいいソフトにもなるだろうよ。

13 :デフォルトの名無しさん:2006/11/24(金) 12:31:20
スクラッチとはいえ、答えを見られる状況じゃないとちょっとな。
後ろに答えが付いたままの計算ドリルを、いかに答えを見ずにやったように見せかけるか
みたいな感じ?

14 :デフォルトの名無しさん:2006/11/24(金) 15:07:11
ゴーサインを出すタイミングが重要だよね。
「答」を見ずに書いたら、答と違う解き方をしている部分が
概ね元より優れたものだった……ということが起こりうる時期(たまに訪れる)に、
「今がその時期だ」とうまく自覚して動けるかどうか、みたいな。

15 :デフォルトの名無しさん:2006/11/24(金) 15:14:00
実際に遭った、結果的には書き直しと同じようなケースを一つ。

あるプログラムが動作不安定で改修にも時間が掛かる状態で業務を引き継いだ。
先ずやったことは、コード中に埋まったままの古いリビジョンのコードを全て引っぺがすこと。
見通しがよくなったところでコードレビューしたら、現状のバグも潜在的なバグも山ほど顕在化した。
それらを修正しつつ変数名、関数名のリファクタリングを行なったら……
引き継いだ段階のソースと一致する行は殆ど残っていなかった。

16 :デフォルトの名無しさん:2006/11/24(金) 15:31:23
ソフトウエア開発者の危うい「更地主義」
http://itpro.nikkeibp.co.jp/article/COLUMN/20061107/252873/

>>1
> 試行錯誤の塊であり、無駄が多すぎる
ってのは確かなんだが、
作り直す頃には試行錯誤の詳細を忘れてたりするんだよ。

17 :デフォルトの名無しさん:2006/11/24(金) 15:47:37
>ソフトウエア開発者の危うい「更地主義」

バグだらけで構造も汚くて書き直したほうが良い場合もある。
改修で十分な場合もある。時間が経てば成功した側を見て
過去においてどちらの選択が正しかったと判断できるけど
選択を行う時点でどちらが正しいか判断することは難しい。

書き直して成功した例はMicrosoftでいえばWindowsNTがあるしな。
一概にどちらが良い悪いとはいえない。

18 :デフォルトの名無しさん:2006/11/24(金) 15:50:36
NTは書き直しというより全然別物だろ

19 :デフォルトの名無しさん:2006/11/24(金) 15:52:19
途中からにしろ最初からにしろ構造に問題がある場合は書き直しは必要。
途中から書き直す場合はassert埋め込みまくれば結構バグ起こさないで構造変えられる。

20 :デフォルトの名無しさん:2006/11/24(金) 15:58:03
assertって何?

21 :デフォルトの名無しさん:2006/11/24(金) 16:00:34
>>18
WindowsOSという目標点では同じだろ
NTがLinuxだったら全然別物といえるがな

22 :デフォルトの名無しさん:2006/11/24(金) 16:05:40
ReactOSとWindowsNTぐらい違う気ガス

23 :デフォルトの名無しさん:2006/11/24(金) 16:07:28
TRON を忘れないでください・・・。

24 :デフォルトの名無しさん:2006/11/24(金) 16:09:14
PS2とPS3は別物?

25 :デフォルトの名無しさん:2006/11/24(金) 16:11:34
> しかし,その方がいいと思ったからといって,
> (既存の機能を書き換えるのではなく)アプリケーションを最初から書き直すのは,
> 十中八九間違っている。
この割合は感覚的にわかる気がする。
書き直すなと言ってるわけではなくて、「その方が良さそうだな」と思ったうち
本当にその方が良い割合は1〜2割くらいだろうって言ってるわけで、
まぁ、確かにだいたいそんぐらいではなかろうかと。

26 :デフォルトの名無しさん:2006/11/24(金) 16:13:49
失敗例 : カルロスゴーン

27 :デフォルトの名無しさん:2006/11/24(金) 16:22:21
C,C++,Java,C#,D,J++,VB,Delphi,HTML,DHTML,XML,Perl,Ruby...
絶え間ないスクラッチの渦に巻き込まれて大変です。
何とかしてください。

28 :デフォルトの名無しさん:2006/11/24(金) 16:29:20
>>27
言語屋はスクラッチが商売だ。我慢するか窓から投げ捨てろ。

29 :デフォルトの名無しさん:2006/11/24(金) 16:35:42
捨てました!

30 :デフォルトの名無しさん:2006/11/24(金) 16:40:08
Joel on Software 読んでみ

ネットスケープはそれやって大失敗してる

31 :デフォルトの名無しさん:2006/11/24(金) 16:52:41
失敗例:R34 -> V35

32 :デフォルトの名無しさん:2006/11/24(金) 17:10:42
毎日tinkoをscratchしてます

33 :デフォルトの名無しさん:2006/11/24(金) 21:05:22
人生をスクラッチしてしまいなさい。

34 :デフォルトの名無しさん:2006/11/24(金) 21:10:56
>>32, 33
それをいうならスクラッチじゃなくてリビルド

35 :デフォルトの名無しさん:2006/11/24(金) 22:13:41
人生は一度落とすと二度と立ち上がらないような酷いシステムで動いてるんだよ
だから怖くて誰も再起動できないでいるんだ。

36 :sage:2006/11/25(土) 01:04:21
何度かスクラップ&ビルドしてるけど、
その中でも生き残るコードは存在する。
これらのコードを密かに「ケ小平コード」と呼んでいる。


37 :デフォルトの名無しさん:2006/11/25(土) 01:06:28
書き直すとき前の見ながらだとほとんど同じコードが出来上がって何やってんだろみたいな

38 :デフォルトの名無しさん:2006/11/25(土) 01:43:17
C++のリファクタリングツールってないですか?

39 :デフォルトの名無しさん:2006/11/25(土) 11:25:49
>>37
だがそれがいい

40 :デフォルトの名無しさん:2006/11/25(土) 13:27:34
MSがSQL Serverでやった作戦が一番かな。

他から買ってきてそれでしばらく耐え、その間に業界の権威を呼んでスクラッチから書き直す。

41 :デフォルトの名無しさん:2006/11/25(土) 13:51:25
sqlserverってどのバージョンからがmsなの?

42 :デフォルトの名無しさん:2006/11/25(土) 18:12:03
6.0以降。でも6.5と7は並行して開発しており、7の方にJim Gray始め多くの開発者を投入していた。

6系は最初から捨てるつもりで開発していたわけだ。

43 :デフォルトの名無しさん:2006/11/25(土) 22:37:33
>>16
> 作り直す頃には試行錯誤の詳細を忘れてたりするんだよ。
とりあえず試行錯誤の過程はテストケースとして残しとけ。

44 :デフォルトの名無しさん:2006/11/26(日) 08:07:42
更地主義に対する批判はそれはそれでもっともなんだが、
「ゼロからつくったシステムは、一から作り直すことになる。」ってのも
また事実なんだよなぁ。

45 :デフォルトの名無しさん:2006/11/26(日) 15:07:41
Netscape(Firefox)もスクラッチから書き直したから
こんなに優秀なソフトになれたんだよな。

46 :デフォルトの名無しさん:2006/11/26(日) 15:32:07
みっつのすうじでいっせんまん

47 :デフォルトの名無しさん:2006/11/26(日) 16:18:04
>>38
ref++

48 :デフォルトの名無しさん:2006/11/26(日) 17:12:50
>>1
何をもって「優秀」としているの?
評価基準はなあに?

49 :ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG. :2006/11/26(日) 17:20:14
>>1
趣味プログラムなら、知識を整理しなおす意味でも良い考えかもね。

>>45
その間にどんだけシェア失ってんねん、
もう4.x時代のシェアには戻れんだろ?
ちゅーのが>>30

英語ですが。
http://www.joelonsoftware.com/articles/fog0000000069.html
# Netscapeの話はここ以外でも結構登場してます。


50 :デフォルトの名無しさん:2006/11/26(日) 17:27:14
>>48
高校生が無理して話に入ってこなくていいから。

51 :デフォルトの名無しさん:2006/11/26(日) 18:10:35
>>47
全然スレと関係ないけどありがとう。
思わず買った!
職場用にも買わせるかもしれん。

Ref++を100本単位で買ったらリソース日本語化とかしてくれるかねぇ?



52 :デフォルトの名無しさん:2006/11/26(日) 19:23:55
スクラッチする、しない。いずれにせよどんな言語でコーディングしても
コメント分の大切だと思う今日この頃です。また、
CやC++でコード書くときいかにコード、構文をエレガントに書こうかと非常に気を
使うわけだが、VBにはその美しさを見出せない、VBの場合気分で一気に書いて
しまい動けばいいかみたいな感じだからだと思う、当然スクラッチする場合は
CかC++でやる羽目になるんだがww


53 :デフォルトの名無しさん:2006/11/26(日) 20:13:35
>>52
高校生が無理して話に入ってこなくていいから。

54 :デフォルトの名無しさん:2006/11/27(月) 11:56:01
なんでプログラマはfrom scratchを「スクラッチから」って訳すの?
なんでプログラマはfrom scratchを「スクラッチから」って訳すの?
なんでプログラマはfrom scratchを「スクラッチから」って訳すの?

「スクラッチから」でぐぐるとプログラミング系のページばかりでスゲー恥ずかしいんだけど。

辞書引いて普通に日本語で書けよ、普通に。

55 :デフォルトの名無しさん:2006/11/27(月) 12:07:57
>>1
> スクラッチから書き直し

>>13
> スクラッチとはいえ

>>28
> 言語屋はスクラッチが商売

>>33
> 人生をスクラッチ

>>40
> スクラッチから書き直す。

>>45
> スクラッチから書き直したから

>>52
> スクラッチする、しない。
> 当然スクラッチする場合は

言葉に無頓着な人間の多さに絶望しますね。
なぜ from scratch が「そういう」意味になるのかまるっきり理解してないばかりか、
そもそも scratch という単語の意味を知らんのと違うの。

56 :デフォルトの名無しさん:2006/11/27(月) 12:20:32
カタカナになった時点で日本語だ。
元の意味なんてかんけーないね

57 :デフォルトの名無しさん:2006/11/27(月) 12:31:00
>>56が残念ながら事実だな
フルスクラッチなんて和製英語もいいとこだ

58 :デフォルトの名無しさん:2006/11/27(月) 12:42:57
>>56-57
同意。米国人に、sumou wrestlerは、おかしいと説教するようなもんだ。

59 :デフォルトの名無しさん:2006/11/27(月) 13:43:44
そもそも scratch ってどういう意味で、どう派生してfrom scratchが最初からの意味になったの?

60 :デフォルトの名無しさん:2006/11/27(月) 13:44:02
- from scratch
1 : 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はそぐわないな。

61 :デフォルトの名無しさん:2006/11/27(月) 14:04:57
マ板向けのネタかもしれんが

・開発者が逃げた
・ドキュメントがほとんどないor古い
・明らかに糞コードしかも大量
・テストもない

なら仕方ないと思う
まあ実話なんですけどね

62 :デフォルトの名無しさん:2006/11/27(月) 14:16:37
sumou wrestlerは自分の中で割とアリなんだけど
なぜかsushi barの違和感は長年消えないの巻

63 :デフォルトの名無しさん:2006/11/27(月) 14:20:33
kinkakuji temple とかは?

64 :デフォルトの名無しさん:2006/11/27(月) 18:49:53
from scratch

最初から、ゼロから◆【語源】scratch とは、「引っかく」ことであって、「引っかいた後の傷」も意味する。棒を使って地面に引いたスタートラインは scratch である。◆【同】do something from beginning
・Louise made her wedding cake from scratch. ルイーズは自分のウエディングケーキを一から作った。
・She made this cake from scratch. 彼女はこのケーキを一から(ミックスを使わずに)作りました。


65 :デフォルトの名無しさん:2006/11/27(月) 18:55:01
>60に英英辞典らしい引用があるのにそれを訳さないなんて……

66 :デフォルトの名無しさん:2006/11/27(月) 19:08:24
関係代名詞のとこがわかりません><

67 :デフォルトの名無しさん:2006/11/27(月) 19:25:57
スキラッチ好きでした

68 :デフォルトの名無しさん:2006/11/28(火) 02:09:17
重箱大好き


69 :デフォルトの名無しさん:2006/11/28(火) 09:56:34
Mt.Fujisan

70 :デフォルトの名無しさん:2006/12/02(土) 12:46:13
>>65
語源じゃないですやん

71 :デフォルトの名無しさん:2006/12/02(土) 12:47:40
チェケラッチョ!(・∀・)

72 :デフォルトの名無しさん:2006/12/02(土) 13:50:24
オナニーアプリならともかく
業務系とかPerlは無理

73 :デフォルトの名無しさん:2006/12/02(土) 14:17:37
Q: その根拠は?

A: >>72 に能力が無いから。

15 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)