Overreacted

الامثل للتغيير

December 12, 2018 • ☕️ 1 min read

ما الذي يجعل واجهة برمجية رائعة؟

تصميم واجهة برمجية جيدة يعني أن تكون بارزة وغير مبهمة. أن تشجع على سهولة قراءة وتطوير وتسحين الشفرة، وكذلك مساعدة المطورين في الوقوع في حفرة النجاح.

أدعو جوانب التصميم هذه “الترتيب الأول” لأنها أول الأشياء التي يميل مطور المكتبة إلى التركيز عليها. قد تضطر إلى تقديم تنازلات بشأن البعض منها وإجراء مفاضلات، ولكن على الأقل هي دائمًا في ذهنك.

ومع ذلك، ما لم تكن تحاول إرسال مركبة روفر إلى المريخ، فمن المحتمل أن الشفرة الخاصة بك سيتغير بمرور الوقت. وكذلك شفرة مستخدمي الواجهة البرمجية الخاصة بك.

أفضل مصممي الواجهات البرمجية الذين أعرفهم لا يتوقفون عند جوانب “الترتيب الأول” مثل قابلية القراءة. فهم يكرسون قدرًا كبيرًا من الجهد، إن لم يكن أكثر، لما أسميه تصميم واجهة برمجية “من المرتبة الثانية”: كيف سيتم بمرور الوقت تطوير الشفرة باستخدام هذه الواجهة البرمجية.

يمكن أن يؤدي التغيير الطفيف في المتطلبات إلى تفكك الشفرة الأكثر أناقة.

الواجهة البرمجية القوية تتوقع هذا مسبقاً. يتوقعون أنك سترغب في نقل بعض الشفرة. نسخ ولصق جزء ما. إعادة تسمية ذلك. توحيد الحالات الخاصة إلى مساعد عام قابل لإعادة الاستخدام. استرجاع التجريد مرة أخرى في حالات محددة. إضافة اختراق. تحسين عنق الزجاجة. تخلص من جزء والبداية بجزء جديد. عمل بعض الأخطاء. التنقل بين السبب والتأثير. إصلاح الخلل. مراجعة الإصلاح.

لا تتيح لك الواجهات البرمجية (APIs) الرائعة الوقوع في حفرة النجاح فحسب، بل تساعدك أيضًا على البقاء هناك.

هي محسنة للتغيير.