Verwenden die meisten Anwendungsentwickler vorzeichenbehaftete Ganzzahlen an Stellen, an denen sie wirklich vorzeichenlose Ganzzahlen verwenden möchten? Ich mache es die ganze Zeit, meine Kollegen auch. Ich habe nicht viele andere umfangreiche Codebasen gesehen (außer der Delphi VCL) und Beispiele im Internet verwenden normalerweise Ganzzahlen. Während die VCL-Entwickler ihre eigenen Datentypen verwenden (was der nicht faulste Weg wäre, Variablen zu deklarieren).
Etwas an diesem Code scheint etwas schrecklich zu sein
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
wenn es geschrieben werden könnte als
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
Funktionell funktionieren diese Datensätze fast immer gleich (und funktionieren hoffentlich auch in 64-Bit-Delphi weiterhin gleich). Bei sehr großen Zahlen treten jedoch Konvertierungsprobleme auf.
Die Verwendung von Ints ohne Vorzeichen hat jedoch auch Nachteile. Hauptsächlich weil es ärgerlich ist, beides zu mischen.
Die eigentliche Frage ist, ob dies tatsächlich über Best Practices nachgedacht oder in diese aufgenommen wird. Ist es normalerweise nur Sache des Entwicklers?