La maggior parte degli sviluppatori di applicazioni utilizza interi con segno in luoghi in cui si intende realmente utilizzare numeri interi non firmati? Lo faccio sempre, anche i miei collaboratori. Non ho visto molte altre codebase estese (oltre al Delphi VCL) e gli esempi su internet di solito usano l'intero. Mentre gli sviluppatori VCL usano i propri tipi di dati (che sarebbe il modo più pigro per dichiarare le variabili).
Qualcosa sembra un po 'spaventoso per 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;
Dal punto di vista funzionale, questi record funzionano quasi sempre allo stesso modo (e si spera che continueranno a funzionare allo stesso modo anche in Delphi a 64 bit). Ma numeri molto grandi avranno problemi di conversione.
Ma ci sono degli svantaggi nell'utilizzare anche gli input non firmati. Principalmente derivante da quanto è fastidioso mescolare i due.
La vera domanda è, è una cosa che viene effettivamente pensata o inclusa nelle migliori pratiche? Di solito è solo lo sviluppatore?