1. そうなって欲しいこと・願望・コンセプトを得る。得ようと思っても得られない。ここは偶然起こること。
2. 何をするか・What・思い付きを挙げる。ブレインストーミング。
3. どうやるか・How・方法を考える。「できそう」という段階まで。
4. 必要なもの・使える技術・前例を集める。他人を説得できるようになる。
5. 機能・クラスといった実装上の分割、役割分担など行動に移すための細分化と割り当てを行なう。
7. やること別に「そのためにやらなければならないこと」を実行順通りに書き下す。擬似言語(擬似コード)
8. 擬似言語→設計→擬似言語にフィードバック、設計と擬似言語→実装
擬似コードを書くならアサーションも一緒に書く。不要な用語や用語の重複があるとうまくアサーションを書けない(かみ合わない)。用語の最適化は変数やコードの最適化でもある。
事前条件→事後条件をアサーションで表明、事後条件→他の事前条件へ連鎖。契約によるプログラミング(契約プログラミング)
擬似言語でのアサーションはそのままプログラムコードでもアサーションになるか、テストコードになるか、メソッド|関数|手続きのパラメーター・戻り値コメントになる。アサーションは「実行可能なコメント」(Executable Comments)とも呼ばれている。
RIGHT:[[:t/Prog]]
----