Чи використовують більшість розробників додатків підписані цілі числа в тих місцях, де вони дійсно мають на увазі використовувати цілі числа, які не підписуються? Я роблю це постійно, так це роблять і мої колеги. Я не бачив багато інших обширних баз кодів (крім Delphi VCL) і прикладів в Інтернеті зазвичай використовують цілі числа. Тоді як розробники VCL використовують свої власні типи даних (що було б самим не лінивим способом декларування змінних).
Щось здається трохи жахливим щодо цього коду
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
коли це можна було б записати як
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
Функціонально ці записи майже завжди працюють однаково (і, сподіваємось, вони будуть працювати однаково навіть у 64-розрядних Delphi). Але дуже велика кількість буде мати проблеми з конверсією.
Але є й недоліки використання непідписаних ints. В основному випливає з того, як дратує змішання обох.
Справжнє запитання: чи це річ, яка насправді замислюється або включається в найкращі практики? Зазвичай це залежить лише від розробника?