Có phải hầu hết các nhà phát triển ứng dụng sử dụng số nguyên đã ký ở những nơi họ thực sự muốn sử dụng số nguyên không dấu? Tôi làm điều đó mọi lúc, đồng nghiệp của tôi cũng vậy. Tôi đã không thấy nhiều cơ sở mã hóa rộng lớn khác (trừ Delphi VCL) và các ví dụ trên internet thường sử dụng số nguyên. Trong khi đó, các nhà phát triển VCL sử dụng các kiểu dữ liệu của riêng họ (đó sẽ là cách không lười biếng nhất để khai báo các biến).
Một cái gì đó có vẻ hơi đáng sợ về mã như thế này
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
khi nó có thể được viết là
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
Về mặt chức năng, các bản ghi này hầu như luôn hoạt động như nhau (và hy vọng sẽ tiếp tục hoạt động như nhau ngay cả trong Delphi 64 bit). Nhưng số lượng rất lớn sẽ có vấn đề chuyển đổi.
Nhưng cũng có những hạn chế khi sử dụng ints không dấu. Chủ yếu xuất phát từ sự khó chịu khi trộn cả hai.
Câu hỏi thực sự là, đây có phải là một điều thực sự được suy nghĩ hoặc đưa vào thực tiễn tốt nhất? Có phải nó thường chỉ phụ thuộc vào nhà phát triển?