La maggior parte degli sviluppatori di applicazioni utilizza numeri interi con segno in luoghi in cui intendono realmente utilizzare numeri interi senza segno? Lo faccio sempre, così come i miei collaboratori. Non ho visto molti altri codebase estesi (diversi da Delphi VCL) e gli esempi su Internet di solito usano numeri interi. Considerando che gli sviluppatori VCL utilizzano i propri tipi di dati (che sarebbe il modo più non pigro per dichiarare le variabili).
Qualcosa sembra un po 'spaventoso di codice come questo
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
quando potrebbe essere scritto come
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
Funzionalmente, questi record funzionano quasi sempre allo stesso modo (e si spera continueranno a funzionare allo stesso modo anche con Delphi a 64 bit). Ma numeri molto grandi avranno problemi di conversione.
Ma ci sono anche degli svantaggi nell'uso di ints senza segno. Principalmente derivante da quanto sia fastidioso mescolare i due.
La vera domanda è: è questa una cosa che viene effettivamente pensata o inclusa nelle migliori pratiche? Di solito dipende solo dallo sviluppatore?