مبدأ أقل دهشة (Principle of Least Astonishment) يقول: ابنِ نظامًا سلوكه متوقع ومتسق، فلا يتفاجأ المستخدم أو المطور بما يحدث.
أمثلة في الواجهات
- زر “حفظ” يحفظ، ولا يحفظ ويغلق ويرسل بريدًا معًا.
- الشعار يعيدك للصفحة الرئيسية كما في كل المواقع.
- الاختصار Ctrl+S للحفظ، وليس لشيء آخر.
أمثلة في الكود
// Surprising: a "get" function that also deletes
function getUser(id) { deleteCache(); return db.find(id); }
// Expected: the name says what it does
function getUser(id) { return db.find(id); }
عندما يكون الاسم واضحًا والسلوك متسقًا، يقل الوقت الضائع في الفهم وتقل الأخطاء.