目次:
- 明確で一貫したコーディングスタイルを採用する
- すべてのコードが動作するまで待ってからコードを書き留めてコメントを追加してからコメントを追加すると、エラーを回避できます。膨大なヘッダーや関数の記述を後で理解できるように書き留める時間はかかりませんが、コードを書くときには短いコメントを追加する時間があります。
- それ以外にも、プログラムを書くときに、奇妙な振る舞いを理解するために原料が必要なことがあります。新しい機能が導入されたときに、その機能をシングルステップで実行するよりも、その材料をあなたに提供するものはありません。最後に、関数が終了してプログラムに追加する準備ができたら、すべての論理パスを少なくとも1回は移動させる必要があります。バグは、関数が残りの関数でポットに投げ込まれた後ではなく、それ自身で調べられたときに見つけやすくなり、新しいプログラミング上の課題にあなたの注意が向けられました。
- および
- がヒープメモリのブロックを割り当てて呼び出し側に返す場合、メンバ関数
- Microsoft MFCクラスなど、商用ライブラリの複数継承クラスを自由に使用できます。マイクロソフトでは、クラスを設定するためにかなりの時間を費やしており、それが何をしているのかを知っています。
ビデオ: UnderTale OST: Dummy! 10 Hours HQ 2024
コンパイル中に生成された警告をすべて削除するか、少なくとも理解するまで、コードのデバッグを開始しないでください。すべての警告メッセージを有効にすると、警告メッセージは無視されます。あなたが警告を理解していない場合は、それを見てください。あなたが知りません あなたを傷つけるでしょう。
明確で一貫したコーディングスタイルを採用する
明確で一貫性のあるスタイルでコーディングすることは、プログラムの読みやすさを向上させるだけでなく、コーディングミスを減らすことにもつながります。 C ++の構文を解読するのに費やされる脳力が弱いほど、手元にあるプログラムの論理を考える上で残っていることを覚えておいてください。良いコーディングスタイルを使用すると、以下のことを簡単に行うことができます。
<!クラス名、オブジェクト名、関数名を区別する- オブジェクトの名前に基づいてオブジェクトを知る
- プリプロセッサシンボルをC ++シンボルと区別する(#定義されたオブジェクトが目立つべきである) )
- 同じレベルのC ++コードのブロックを識別する(これは一貫したインデントの結果)
- さらに、モジュール内の関数またはクラスに関する情報を提供する標準モジュールヘッダーを作成する必要があります。 (おそらく、それはあなたです)、日付、使用しているコンパイラのバージョン、および変更履歴です。
<! - 2 - >
最後に、1つのプロジェクトに関わるすべてのプログラマーが同じスタイルを使用する必要があります。さまざまなコーディングスタイルのパッチワークでプログラムを解読しようとすると混乱します。コードを記述するときにコードにコメントする
すべてのコードが動作するまで待ってからコードを書き留めてコメントを追加してからコメントを追加すると、エラーを回避できます。膨大なヘッダーや関数の記述を後で理解できるように書き留める時間はかかりませんが、コードを書くときには短いコメントを追加する時間があります。
<! - 3 - >
短いコメントが啓発されるべきである。彼らがそうでない場合、彼らはあまり価値がないし、代わりに何か他のことをしているはずです。あなたはプログラムを作ろうとしている間に得ることができるすべての啓蒙を必要とします。数日前に書いたコードを見ると、短く、わかりやすいコメントが、あなたがしようとしていたことを正確に把握するのに役立つ劇的な貢献をすることができます。さらに、一貫したコードインデントと命名規則により、コードがわかりやすくなります。コードを読み終えてから読みやすいのはとても良いことですが、コードを書くときに読みやすくすることも重要です。それはあなたが助けを必要とするときです。すべてのパスを1回以上シングルステップ
プログラマとして、プログラムが何をしているのかを理解することが重要です。良いデバッガを使ってプログラムをシングルステッピングするよりも、フードの中で起こっていることをより良く感じることはできません。 (インタラクティブコンパイラのIDEに含まれているデバッガはうまく動作します)。
それ以外にも、プログラムを書くときに、奇妙な振る舞いを理解するために原料が必要なことがあります。新しい機能が導入されたときに、その機能をシングルステップで実行するよりも、その材料をあなたに提供するものはありません。最後に、関数が終了してプログラムに追加する準備ができたら、すべての論理パスを少なくとも1回は移動させる必要があります。バグは、関数が残りの関数でポットに投げ込まれた後ではなく、それ自身で調べられたときに見つけやすくなり、新しいプログラミング上の課題にあなたの注意が向けられました。
演算子のオーバーロードを避ける
2つのストリーム入出力演算子
演算子<<()
および
演算子>>() および代入演算子 演算子=() 、C ++に慣れてくるまで、オーバーロード演算子を止めておくべきでしょう。オーバーロードされた演算子は、新しいクラスの実用性と可読性を向上させることができますが、オーバーロード演算子(上の3つを除く)はほとんど必要ありません。適切なパブリックメンバー関数を定義して使用することで、同じ効果を得ることができます。 数ヶ月間、C-Plus-Plussingを終えた後、自由に戻って、あなたの心臓の内容に演算子のオーバーロードを開始してください。 バランスヒープ処理 一般に、プログラマはヒープメモリを同じレベルで割り当て、解放する必要があります。メンバ関数
MyClass:: create()
がヒープメモリのブロックを割り当てて呼び出し側に返す場合、メンバ関数
MyClass:: release() が必要ですメモリをヒープに返します。具体的には、 MyClass:: create() は、親関数がメモリ自体を解放する必要はありません。これは確かにすべてのメモリ問題を避けるわけではありません。親関数はMyClass:: release() を呼び出すことを忘れるかもしれませんが、その可能性は幾分低下します。 例外を使用してエラーを処理する C ++の例外メカニズムは、エラーを便利かつ効率的に処理するように設計されています。この機能が標準化されたので、それを使用する必要があります。結果のコードは、書きやすく、読みやすく、保守が簡単です。他にも、他のプログラマーも期待しています。あなたは彼らを失望させたくありませんか? 多重継承を避ける 多重継承は、演算子のオーバーロードのように複雑な複雑さを増やします。幸いにも、ほとんどの現実世界の関係は単一の継承で記述することができます。
Microsoft MFCクラスなど、商用ライブラリの複数継承クラスを自由に使用できます。マイクロソフトでは、クラスを設定するためにかなりの時間を費やしており、それが何をしているのかを知っています。
C ++の理解度に慣れたら、複数の継承階層を設定してみてください。そうすれば、必要なら準備ができます。