ينظر المبرمج إلى الدالة max التي تُرجع العدد الأكبر من عددين. كيف يتأكد أنها تعمل؟ يمكن كتابة اختبارات: max(2,3)=3، max(5,5)=5. لكن ماذا لو كان هناك خطأ في عمق الكود لا يظهر إلا مع العدد 65536؟ بدلًا من التخمين، يمكن صياغة قاعدة: «النتيجة لا تقل أبدًا عن أيٍّ من الوسيطين». هذه خاصية، ويجب أن تصح لأي بيانات إدخال.
تولّد مكتبة ScalaCheck تلقائيًا مئات الأعداد العشوائية، وتُدخلها في الخاصية، وتُخبر إذا خُرقت القاعدة. هكذا تعمل الخصائص كبوصلة: فهي لا تفحص مسارًا واحدًا، بل تحدد اتجاهًا يصح لأي طريق. مثلًا، بالنسبة للدالة sum (جمع قائمة أعداد)، خاصية «إذا أُضيف عدد موجب، يزداد المجموع» تكتشف خطأ تجاوز المدى الذي لا تراه الاختبارات العادية.
البرمجة الدقيقة هي أن يفكر المطور في الكود عبر خصائصه. فبدلًا من الغرق في ضباب التعقيد، يمسك ببوصلة من القواعد يمكن التحقق منها آليًا. هذا يجعل البرامج أكثر موثوقية، وتعديلها أكثر أمانًا.
اسم مكتبة ScalaCheck يشير إلى فكرة التحقق الآلي من الخصائص، وليس إلى «فحص سكالا» — إنها أداة للتحقق من الخصائص في سكالا.
في مسلسل «ويست وورلد»، يتم تحديد سلوك الروبوتات بقواعد معقدة، لكن صحتها غير مضمونة. كان يمكن للبرمجة الدقيقة أن تساعد في صياغة والتحقق من خصائص السلوك، مما يمنع الأعطال غير المتوقعة.