Stepwise refinement
Stepwise refinementは、プログラム仕様の小さなステップでプログラムに漸進的に改良することを指します。 時には、それはトップダウンデザインと呼ばれています。
この用語は、プログラミング言語Pascalの著者であり、ソフトウェア設計とソフトウェア工学への他の主要な貢献者であるNiklaus WirthによるProgram Development by Stepwise Refinementと題された論文の中で最初に使用された。 14(4),1971,pp.221-227.
Wirth氏は、「ここでは、タスクのサブタスクへの分解とデータのデータ構造への分解に関する設計上の決定のシーケンスと考えられています。”
ここでは、主にその仕様からメソッドの開発を説明するためにこの用語を使用します。 高レベルの文を一連の文に分割したり、ローカル変数を導入したり、英語の文をJavaに翻訳したり、メソッドを導入したりするなど、小さなステップが見
時刻形式の変更
時刻を24時間形式から従来のAM-PM形式に変換する機能を開発しました。 3つのサブタスクのシーケンスとしてタスクを実装すること、Javaに直接ではなくケース分析に洗練を行うこと、mañana原則を使用することの三つの重要な種類の段階的洗練が使用されている。 ビデオの長さは6分です。 ここでそれを読む。 回。pdf。
整数を英語化する
英語化は、英語の使用法に(外国語、名前、またはフレーズ)を適応させることを意味します。 Merriam-Webster online dictionaryによると、この単語の最初の既知の使用は1710年でした。 ここでは、整数を英語化する方法を開発します—1710のような整数を単語に変換します:千七百十。 ステップワイズの洗練が簡単な方法でどのように結果をもたらし、開発には自然な方法で再帰が組み込まれているのは驚くべきことです。 ビデオは8.2分の長さです。 ここでそれを読む:anglicize。pdf
式の評価
次のような式の値を評価して返すメソッドを開発します。”52 + 71 -1 -652 “と述べている。 二つの重要な技術が使用されています(1)それが処理するデータの構造を反映するためにループを構造化します。 (2)マニャーナの原則。 ビデオの長さは4:51分です。 ここでそれを読む:eval。pdf
エドガー-アラン-ポーと”レイヴン””
“”The Raven”はエドガー-アラン-ポーの有名な詩である。 ポーはまた、”The”Philosophy of Composition”と題されたエッセイを書いており、彼は”The Raven”をどのように開発したかを説明しています。 純粋なトップダウンデザイン/段階的に洗練されています! 左の画像をクリックすると、Paul Griesが詩の一部を読んでいます。
これらのビデオでは、いくつかの方法で段階的な洗練が使用されているのを見てきました。
1。 タスクを一連のタスクとして実装する。
2. 困難な問題を1つではなく2つのステップに絞り込む:最初にケース分析を行い、次にJavaに翻訳します。
3. Mañanaの原則を使用する:メソッドの必要性を見て、それをスタブして呼び出しを書いてから、後で(明日、mañana)メソッド本体を書いてください。
4. 開発とテストを交互に行う: 開発の各ステップの後、開発が正しいことをテストします。
5. 効率のためにローカル変数を導入します。
6. 開発をいくつかの部分に分割します。 たとえば、整数234を斜めにすることを気にせずに処理する方法(234/100、”hundred”、および234%100を生成する)を理解し、234/100および234%100を斜めにする方法を理解します。
7. 処理するデータの構造を反映するようにループを構造化します。
8. 懸念の分離:重要なポイントは、一度に一つのことに焦点を当て、それを適切に処理することです。 “懸念の分離”というフレーズは、Edsger Dijkstraによって造語されました。