MASTRILOالدورة/لماذا تفضل Go الوضوح على كثرة الخيارات؟
MASTRILO

لماذا تفضل Go الوضوح على كثرة الخيارات؟

يكتب المطور الكود مرة واحدة، لكن أعضاء الفريق يقرؤونه مرات كثيرة أثناء المراجعة و الإصلاح و إضافة الميزات. لذلك لا تنتهي كلفة أي اختيار عند لحظة الكتابة.

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

مطور يستبعد أدوات متكافئة زائدة فيخف العبء على القارئ و يتفق الفريق على أدوات مشتركة
صيغ متكافئة أقل تخفف كلفة القراءة و تساعد على توحيد أسلوب الفريق

لماذا تثقل كثرة الخيارات على القارئ؟

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

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

ما الذي تقلله Go؟

لا تحاول Go منع اختلاف تصميم البرامج. ما تحاول تقليله هو كثرة الصيغ و الحالات الخاصة و البدائل التي لا تقدم فائدة واضحة تبرر تعقيدها.

لهذا توصف فلسفة Go أحيانا بعبارة "الأقل هو الأكثر". المقصود ليس حذف الميزات بلا سبب، بل أن تكون لكل ميزة فائدة واضحة تبرر ما تضيفه من تعقيد.

الوضوح أهم من قصر الكود

قد يختصر مطور فكرة كاملة في سطر واحد، لكنه يجبر زميله على تفكيك السطر حتى يعرف ما يفعله. و قد يكتب مطور آخر بضعة أسطر مباشرة يظهر منها سلوك البرنامج.

لا تفضل Go الإطالة. و لا تقيس جودة الكود بعدد الأسطر. المهم أن يعبر الكود عن السلوك بوضوح و ألا يحتاج القارئ إلى شرح منفصل حتى يفهمه.

البساطة لا تعني قدرة أقل

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

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

كيف نطبق ذلك في jobrunner؟

عندما نجد طريقتين متكافئتين لبناء جزء من jobrunner، سنختار الطريقة المباشرة التي يظهر منها سلوك البرنامج بوضوح.

الخلاصة

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

في الدرس التالي ستتعرف إلى الشكل النهائي لأداة jobrunner. ثم سنطبق هذه الأفكار أثناء بنائها في الفصول اللاحقة.

اللوحات
نوع الخط
حجم الخط
أكملت 0 من 69 درس

Why Go Exists

3.لماذا تفضل Go الوضوح على كثرة الخيارات؟

Learn Go by Building a CLI369 لماذا تفضل Go الوضوح على كثرة الخيارات؟مكافأة إكمال الدرس إضافة إلى نقاط أنشطته. 10 XP. تُمنح المكافأة مرة واحدة فقط.