قضية سودوكو: منهجان لتصميم البرمجيات
2025-02-05
تتناول هذه المقالة تجارب رون جيفريز وبيتر نورفيغ في بناء برامج حل ألغاز سودوكو. استخدم جيفريز أسلوب التصميم التدريجي، بدءًا من تمثيل بسيط List[Option[Int]]، وقام بتكريره بشكل متكرر حتى اكتماله. ومع ذلك، كان الكود الناتج مطولًا ويفتقر إلى الأناقة. أما نورفيغ، فقد استخدم خبرته في خوارزميات البحث، مستخدماً تمثيل Map[Coord, Set[Int]]، مما أدى إلى كود مختصر وفعال يوضح انتشار القيود. تقارن المقالة بين فلسفتي التصميم هاتين، مُسلطة الضوء على تأثير معرفة المجال على أسلوب البرمجة، وتحث على التأمل في منهجيات تصميم البرمجيات.
اقرأ المزيد
التطوير
فلسفات البرمجة