Используют ли большинство разработчиков приложений целые числа со знаком в тех местах, где они действительно хотят использовать целые числа без знака? Я делаю это все время, как и мои коллеги. Я не видел много других обширных кодовых баз (кроме Delphi VCL), и примеры в Интернете обычно используют целочисленные значения. Принимая во внимание, что разработчики VCL используют свои собственные типы данных (что было бы наиболее ленивым способом объявления переменных).
Что-то кажется немного ужасным в таком коде
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
когда это может быть написано как
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
Функционально эти записи почти всегда работают одинаково (и, надеюсь, продолжат работать одинаково даже в 64-битной Delphi). Но очень большие числа будут иметь проблемы с конверсией.
Но есть и недостатки использования неподписанных целых. Главным образом проистекает из того, как раздражает смешивать два.
На самом деле вопрос в том, действительно ли об этом думают или включают в лучшие практики? Обычно это зависит только от разработчика?