最近、リファクタリングセッション中に、自分が書いたコードを調べていて、いくつかのことに気づきました。
unsigned char
[0-255]の間隔で値を強制するために使用される関数がありました。- 使用される他の関数
int
、または関数内にステートメントをlong
含むデータ型を使用して、値を有効な範囲にサイレントにクランプします。if
- クラスに含まれる値、および/または未知である
upper bound
が既知で明確な非負の関数への引数として宣言された値は、データ型として宣言されました(lower bound
または4,000,000,000を超える可能性に応じて)。unsigned
int
long
upper bound
矛盾は不安です。これは私が続けるべき良い習慣ですか?ロジックを再考し、適切な非通知クランプの使用int
または使用に固執する必要がありますか?long
「適切」の使用に関する注意:signed
データ型を使用し、値が範囲外になったときに通知例外をスローする場合がありますが、これらはとのために予約されdivde by zero
ていconstructors
ます。