Zen Go (إصدار الجيب)

تحسبًا لبدء دورة "Golang Developer" ، قمنا بإعداد ترجمة لمذكرة صغيرة مفيدة.




عشر نصائح فنية لكتابة كود Go بسيط وسهل القراءة. قدم كجزء من GopherCon Israel 2020 .

كل حزمة لها غرض واحد فقط.


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

معالجة الأخطاء الصريحة


تتكون البرامج الموثوقة من عناصر تعالج الأخطاء قبل أن تتمكن من ضربها في الخلف. مبررة إذا خطأ! = Nil {return err} تبررها أهمية المعالجة المدروسة لكل خطأ في الأماكن التي يمكن أن تحدث فيها. الذعر والاسترداد ليسا استثناءين ؛ ليس الغرض منهما استخدامهما بهذه الطريقة.

امنع التعشيش العميق مع العودة


في كل مرة تحرك مسافة بادئة ، تضيف حالة أخرى إلى المجموعة العقلية للمبرمج ، وتحتل واحدة من فتحات 7 ± 2 في ذاكرته قصيرة المدى. تجنب تدفقات التحكم في الحشو متعدد المستويات. بدلاً من التداخل العميق ، احتفظ بمسار الكود الناجح إلى أقصى اليسار قدر الإمكان باستخدام عوامل الحدود.

اترك التزامن للمتصل


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

قبل أن تبدأ الغوروتين ، اسأل متى يتوقف.


تمتلك الغوروتينات موارد ؛ أقفال ، متغيرات ، ذاكرة ، إلخ. الطريقة الأكثر موثوقية لتحرير هذه الموارد هي إيقاف goroutine الذي يحتوي عليها.

تجنب خصائص مستوى الحزمة


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

البساطة مهمة


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

اكتب اختبارات لالتقاط سلوك حزمة API الخاصة بك.


سواء كنت تبدأ بالاختبارات أو تنتهي ، اسع إلى تغطية 100٪ بالاختبارات أو راضيًا عن الحد الأدنى الضروري - بغض النظر عن كل هذا ، فإن واجهة برمجة التطبيقات لحزمتك هي عقدك مع المستخدمين. الاختبارات هي ضمان أن هذه العقود مذكورة بوضوح. تأكد من اختبار السلوك الذي يمكن للمستخدمين ملاحظته والاعتماد عليه.

إذا كان هناك شيء يبدو بطيئًا بالنسبة لك ، فأثبت أولاً أنه يستخدم المعيار.


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

الاعتدال فضيلة


استخدم goroutines ، والقنوات ، والأقفال ، والواجهات ، مع تضمين إحساس بالتناسب.

مسائل الدعم


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



تعلم المزيد عن الدورة.



All Articles