時間をかけて、最終製品で何を達成したいのかを書き留め、対象読者が誰であるかを特定します。どのように実装するか、実装に必要な資料は事前に準備できます。
小規模なプロジェクトの場合、このステップで得られるのは基本的なプロセスのみである可能性があります。比較的大規模なプロジェクトの場合、このステップはプロジェクトをいくつかのモジュールに分割し、各モジュールの特定の問題に応じて個別に検討するのに役立ちます。
要件を収集して計画するのはコードを直接記述するのに比べて退屈で退屈ですが、これがうまくできないと、その後のデバッグ作業が特に面倒になります。時間をかけて正しいプログラム フローと構造を設計できれば、コードの最初の行を書く前に、実際には成功の半分まで到達したことになります。
コードに説明が必要だと思われる場合は、コメントアウトしてください。各関数はパラメータを記述し、結果を返す必要があります。
これは、さまざまなタイプの変数を追跡し、各変数の目的を一目で確認するのに役立ちます。これにより、コードのデバッグと保守が容易になります。現在一般的な命名方法は、型の前に変数を付ける方法を使用するハンガリー命名法です。たとえば、変数全体には intRowCounter を使用でき、文字列は strUserName です。一貫性があり、変数を簡単に説明している限り、命名規則がどのようなものであっても問題ありません。
たとえば、条件ステートメント (if、else など) やループ ステートメント (for、while など) に遭遇した場合は、コードをインデントします。また、変数名と演算記号の間にスペースを追加することもできます。これにより、コードがより直観的でエレガントになるだけでなく、プログラム フローが一目でより明確になります。
まず、予想される値を入力して、各モジュールが独立して動作できるかどうかをテストします。次に、可能性はあるがまれな値をいくつか入力してテストを続けます。これにより、基本的にすべての隠れたバグが明らかになります。テストにもいわゆるスキルというものがあり、練習を重ねることで、誰でも少しずつ自分に合ったスキルを身につけることができます。テストには次の状況を含める必要があります:
極値: 正の値および予想される最大値を超える場合は 0 を使用し、テキストには空の文字列を使用し、パラメーターには null を使用します。意味のない値: ユーザーが文字化けを入力する可能性は低いですが、とにかく自分でテストするのが最善です。間違った値: 除算に 0 を入力するか、正の数が予期され平方根が予期される場合に負の数を入力します。入力タイプが文字列の場合は、数値以外の値を入力し、それが数値として解析されるかどうかを確認します。
時代の進歩とともにプログラミングも進化していきます。したがって、私たちにとって学ぶべき新しいこと、さらに有益で重要なことは常にあります。そしてもちろん、再訪して新しいことを学ぶ価値のあることが常にあります。
実際の労働環境では、ニーズは常に変化します。ただし、初期段階で要件を非常に包括的に収集し、実装計画が最初に非常に的を絞ったものであれば、後の段階での要件の変更によって計画が不十分になったり、両者の間で誤解が生じたりする可能性ははるかに小さくなります。
コードを書き始める前に要件ドキュメントと実装計画を示すことで、プロセスの明確性を高めることができます。これは、私たちの計画がクライアントの要件に従って確実に完了するのに役立ちます。
プロジェクトを一連のマイルストーンとして考える場合は、一度に 1 つずつ完了してください。いつでも考えることが少なければ少ないほど、より詳細かつ完璧に考えることができるということを覚えておいてください。
ソフトウェアが複雑な場合は、単純なモジュールから始めることをお勧めします。たとえば、マウスの方向に追従してグラデーショングラフィックを表示し、マウスのスライド速度に応じて形状を変更できるプログラムを設計してください。まず、正方形をデザインし、それをマウスに追従させるコードを記述します。このようにして、モーション トラッキングの問題が最初に分離され、解決されます。もちろん、これは最初のステップです。次に、この正方形のサイズはマウスの速度に関係しており、速度に応じて形状が変化するという問題が解決されます。最後に、実際に必要な形状を作成し、3 つのコンポーネントを接続します。
このアプローチを使用すると、モジュール式コードを自然に作成できます。そして、各コンポーネントは独自の独立した機能を持っています。これはコードの再利用に非常に役立ち (たとえば、最初のステップ (マウス トラッキングの実装) のコードを他のプロジェクトに確実に適用できます)、プログラムのデバッグと保守が容易になります。