الخصائص كبوصلة: البرمجة الدقيقة
يتكاثف الضباب فوق السطر «def max(a: Int, b: Int): Int». ماذا يفعل هذا السطر؟ يعيد أكبر رقمين، ولكن كيف يمكن التحقق من ذلك؟ يمكن كتابة عشرات الاختبارات بأزواج محددة: max(2,3)=3، max(5,5)=5، max(-1,0)=0. ومع ذلك يبقى القلق: ماذا لو تعطلت الدالة مع مليون وسالب مليون؟ بدلًا من التحديق في الضباب، يمكن للمطور أن يأخذ بوصلة، وهذه البوصلة تسمى خاصية.
الخاصية هي عبارة عن البرنامج يجب أن تكون صحيحة لجميع المدخلات.
