¿La mayoría de los desarrolladores de aplicaciones usan enteros con signo en lugares donde realmente quieren usar enteros sin signo? Lo hago todo el tiempo, al igual que mis compañeros de trabajo. No he visto muchas otras bases de código extensas (aparte de Delphi VCL) y los ejemplos en Internet generalmente usan números enteros. Mientras que los desarrolladores de VCL usan sus propios tipos de datos (que sería la forma más fácil de declarar variables).
Algo parece un poco terrible sobre un código como este
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
cuando podría escribirse como
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
Funcionalmente, estos registros casi siempre funcionan igual (y con suerte continuarán funcionando igual incluso en Delphi de 64 bits). Pero números muy grandes tendrán problemas de conversión.
Pero también hay inconvenientes en el uso de entradas sin signo. Principalmente derivado de lo molesto que es mezclar los dos.
La verdadera pregunta es, ¿es esto algo que realmente se piensa o se incluye en las mejores prácticas? ¿Generalmente depende del desarrollador?