Uygulama geliştiricilerinin çoğu imzasız tamsayıları kullanmak istedikleri yerlerde imzalı tamsayılar kullanıyor mu? Bunu her zaman yaparım, iş arkadaşlarım da öyle. Ben (Delphi VCL dışında) diğer kapsamlı kod tabanları bir sürü görmedim ve internette örnekleri genellikle tamsayı kullanın. Oysa VCL geliştiricileri kendi veri türlerini kullanırlar (değişkenleri bildirmek için en tembel olmayan yol budur).
Bir şey böyle kod hakkında biraz korkunç görünüyor
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
ne zaman yazılabilir
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
İşlevsel olarak, bu kayıtlar neredeyse her zaman aynı şekilde çalışır (ve umarım 64 bit Delphi'de bile aynı şekilde çalışmaya devam eder). Ancak çok büyük sayılarda dönüşüm sorunları olacaktır.
Ancak imzasız ints kullanmanın dezavantajları vardır. Temelde ikisini karıştırmanın ne kadar can sıkıcı olmasından kaynaklanıyor.
Asıl soru şu ki, bu gerçekten düşünülen veya en iyi uygulamalara dahil edilen bir şey mi? Genellikle geliştiriciye mi kalmış?