2009-06-21 2 views
2

書かれたコードの最初のラウンドがあなたが使いたいものではないという考え方を考慮したプログラミング方法がありますか?開発者からのプロジェクトの最後に私が聞いた最も一般的なことは、「もし私がそれをやり直せたら、私はそれを変えるだろう」ということです。これは、作家が最初の草稿を書いた後に進むプロセスのほぼ鏡のようです。違いは、作者が編集段階に移行する準備ができるまで、書き直しと書き直しが行われているのに対し、開発者はテストとリファクタリングで最初の書き起こしを書き直しているようです。作業の最初の草案を捨てる - 互換性のある方法論はありますか?

私は確かに開発プロセスを定義するために類似の類義語を使用しようとしていませんが、私はあなたの最初の草稿がちょうどアイディアを落とすことであることを認識する価値があると思います。何かを作り出すために価値がある。私はそれを認識するプログラミングプロセスやプロジェクト方法論に遭遇したことはないと思うので、Stackoverflowの広範な集団が私がこの可能性をどこから探ろうと考えていることを期待していたでしょうか?

答えて

4

プロトタイプは何らかの方法で問題を解決しているようです。 wikipedia article on Prototypingはあなたの考え方とインラインで見える「Throwaway prototyping」と呼ばれる方法に名前を付けます。

1

これは、Bruce Eckelが行っている議論と全く同じです。hereです。

+0

/here/is(artice) "コンピューティング思考:ソフトウェアを書くことはライティング..."です。 プログラマー以外の人に、なぜ異なるプログラマーが異なる品質のコードを作成するのかを説明しようとしています。面白い読書。 – Makach

+0

これはちょうど私が作った引用です。 – duffymo

3

説明しているものはthrowaway prototypingです。あなたの暫定的な要件があるとすぐに、システムの基本モデルを作成して、最終的なシステムがどのように見えるか、そしてどのように機能するかをユーザーや顧客に示します(本当の機能はありません)。ユーザーはこのプロトタイプに関するフィードバックを提供します。

使い捨て試作を利用したい場合は、私の最初の提案は、スパイラルプロセスモデルを見ることです。しかし、私は使い捨て試作を明示的に利用する非常に多くの方法論に慣れていません。より「アジャイル」な方法論は、進化的プロトタイプや増分プロトタイピングに有利です。私が個人的に使い捨てプロトタイプを使用したのは、基本的なシステムが既に開発されていて、プロトタイプ用にホワイトボードとペンとペーパーを使用していたため、ユーザーインターフェイスのプロトタイプだけでした。

1

私は最も良いことはモジュール化が非常にうまくいくと主張します。たとえば、カーネルを作成している場合、「次に利用可能な空きメモリフレームを取得する」関数は、それ自身の関数内に存在する必要があります。そうすれば、それが本当に虚偽の方法で書かれていることがわかったら、単純に(バージョンコントロールを使用しています)簡単に消去してから始めてください。こうすることで、既存のモジュールが新しいコードをテストする方法として存在します。

最初から最後までやり直してからもう一度やり直すのは、同じバグの大部分をもう一度やり直す素晴らしい方法です。

3

さらに、これはBrooksのアイデアの1つで、改訂後は自分自身が最も効果的ではないことが分かりました。おそらく、「ただ1つを捨てる計画をしてから2つのシステムを捨てる」と聞いたことでしょう。幸いにも、このようなトラブルは、アジャイル手法のおかげで今日克服することができます。

+0

あなたは結論に達するためにブルックスが行ったプロセスを歩くリンクがありますか? – Steerpike

+0

そこに詳しいものは見つかりませんでした。それがスパイラルモデルの登場であったと思われます - そして、プロセスはあなたがしたことを繰り返し述べるように定義されました。結論はかなり明白でした。 c2.com wikiページ:http://c2.com/cgi/wiki?PlanToThrowOneAway –

関連する問題