ほとんどのアプリケーション開発者は、本当に符号なし整数を使用するつもりで符号付き整数を使用していますか?私はいつもそれをしているので、同僚もそうします。他の多くの広範なコードベース(Delphi VCL以外)は見たことがなく、インターネット上の例では通常整数を使用しています。一方、VCL開発者は独自のデータ型を使用します(これは、変数を宣言するための最も非遅延的な方法です)。
このようなコードは少し恐ろしいようです
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
それが次のように書けるとき
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
機能的には、これらのレコードはほぼ同じように機能します(64ビットDelphiでも同じように機能し続けることを期待しています)。ただし、非常に大きな数では変換の問題が発生します。
ただし、unsigned intを使用することにも欠点があります。主に2つを混合することがいかにうるさいかから生じます。
本当の質問は、これは実際にベストプラクティスについて考えられたり、ベストプラクティスに含まれたりすることですか?通常は開発者次第ですか?