นักพัฒนาแอปพลิเคชันส่วนใหญ่ใช้จำนวนเต็มที่ลงนามในสถานที่ที่พวกเขาหมายถึงการใช้จำนวนเต็มที่ไม่ได้ลงนามจริง ๆ หรือไม่? ฉันทำมันตลอดเวลาดังนั้นเพื่อนร่วมงานของฉัน ฉันไม่ได้เห็นฐานรหัสอื่น ๆ มากมาย (นอกเหนือจาก Delphi VCL) และตัวอย่างบนอินเทอร์เน็ตมักจะใช้จำนวนเต็ม ในขณะที่ผู้พัฒนา VCL ใช้ประเภทข้อมูลของตัวเอง (ซึ่งเป็นวิธีที่ไม่ขี้เกียจที่สุดในการประกาศตัวแปร)
บางอย่างดูน่ากลัวเล็กน้อยเกี่ยวกับรหัสเช่นนี้
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
เมื่อมันสามารถเขียนเป็น
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
ฟังก์ชั่นบันทึกเหล่านี้มักจะทำงานเหมือนเดิม (และหวังว่าจะยังคงทำงานเหมือนเดิมแม้ใน Delphi 64 บิต) แต่จำนวนมากจะมีปัญหาการแปลง
แต่มีข้อเสียคือการใช้ int ที่ไม่ได้ลงชื่อเช่นกัน สาเหตุหลักมาจากการผสมสองอย่างนี้เข้าด้วยกัน
คำถามจริงคือสิ่งนี้จริง ๆ แล้วคิดหรือรวมอยู่ในแนวทางปฏิบัติที่ดีที่สุดหรือไม่? มันมักจะขึ้นอยู่กับนักพัฒนาหรือไม่