チェックリスト:基本データ型
数値の概要
- 神秘的な数値コードの使用は避けてください
- まだ考慮さゼロエラーによって符号分割?
- それは明らかに出演しますか?
- 変数の二つの異なるタイプが単一のステートメントに存在する場合、この文は、その権利の価値を期待してお聞きしたいですか?
- それの混合型の比較を回避するためのコード?
- プログラムは、コンパイル時の警告メッセージをしませんか?
整数
- 予想通り、整数の除算式がそれを動作します使用しますか?
- 整数オーバーフローの問題を回避するために、整数の表現?
フロート
- コードはそれを行うための加算と減算との大きさの差の注文の膨大な数を回避しますか?
- 丸め誤差を防ぐために、コード体系が起こりますか?
- 浮動小数点数の明るい光を避けるためのコードは、それを比較するのですか?
文字と文字列
- まだ神秘的で神秘的な文字のコード列を使用しないでください?
- あなたは、文字列を使用するときにoff-by-oneエラーを避けますか?
- Cバーコード文字列の文字の違いへのポインタの配列とそれを扱いますか?
- CコードはまだContantを+ 1の長さを宣言した文字列を次の?
- 文字配列ポインタと適切なタイミングでCコードは、それを交換するには?
- まだの無限の文字列を避けるために、NULL文字列にそれを初期化するCコード?
- Cコードはstrncpy()の代わりのstrcpy()を使用して、それ?strncat()とstrncmpは()ですか?
ブール変数
- まだ条件判定を説明するための追加のブール変数を持つプログラム?
- まだ条件簡素化するための追加のブール変数を持つプログラム?
列挙型
- プログラムではなく、列挙型定数の名前はまだ読みやすさ、信頼性、および修正可能性を改善するために使用しますか?
- 場合は、変数の使用は、時間だけではなく、真と偽の表現は、プログラムは、ブール変数列挙型とそれを交換することができますか?
- テストの列挙型の値が不正にそれを検出するには?
- 列挙型の最初のエントリは、まだ「違法」のために予約しますか?
定数名前付き
- プログラム名アプライアンスではなく、神秘的な数値定数は、まだデータとサイクルの限界を宣言しましたか?
- 名前付き定数の一貫した使用はいますか? - 他の場所で使用するために、いくつかの位置とテキストの量で名前付き定数を使用していませんか?
配列
- すべての配列インデックスはやる配列の境界を越えて行きませんか?
- 配列参照なしオフ対1のエラーそれ?
- 注文の主題のもと、すべての多次元配列は正しいですか?
- ネストされたループでは、配列の添字の正しい変数は、まだクロストークをマークし、次のサイクルを避けるために?
作成タイプ
- プログラムあなたは、さまざまな種類のデータを可能なすべての変更使用して?
- 入力したエンティティの名前は、タイプが指向ではなく、プログラミング言語は、それを入力して表現指向の世界に示すことですか?
- 十分に強いわかりやすい名前を入力し、それはデータがそれを宣言説明するのに役立つことができますか?
- あなたは、事前に定義されたタイプを再定義避けますか?
- 簡単な再定義するタイプと比較すると、あなたが行う新しいクラスを作成すると考え?
点数
- 心の中でそれぞれのタイプに適用される独立の原則を維持するために多くのことを意味するであろうデータの特定のタイプを使用してください。頻繁にこの章のチェックリストを使用することを検討してください質問をしなければならないことを確認してください。
- あなたの言語をサポートする場合は、カスタムタイプが簡単にあなたのプログラムが変更し、より自己記述するようになります作成
- より多くの新しいクラスを作成する必要があるかどうかを検討するときには、typedefでまたはその同等物との単純型を作成する場合
ます。https://www.cnblogs.com/taceywong/p/8718364.htmlで再現