اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

شركة Google وأغلب شركات البرمجة تفضل تسمية الكلاسات باستخدام نمط CamelCase لأسباب تتعلق بالقراءة والتنظيم والأسلوب المتبع في البرمجة.

وإن سبب تفضيل ال CamelCase :

  • سهولة القراءة: حيث ال CamelCase يجعل الكلمات في الاسم متصلة بدون فواصل (مثل underscores) ولكن كل كلمة تبدأ بحرف كبير مما يسهل تمييز الكلمات داخل الاسم بسرعة والتمييز بين مكونات اسم الكلاس.
  • التوافق مع المعايير الشائعة: ففي العديد من لغات البرمجة مثل Java، JavaScript وغيرها تعتمد CamelCase أو PascalCase -حيث أول حرف كبير مثل في أسماء الكلاسات- كمعيار لتسمية الكلاسات وهو ما يجعل الكود أكثر تنظيم وقابلية للصيانة.
  • تنظيم الكود ووضوح الأسماء: استخدام ال CamelCase في أسماء الكلاسات يساعد على جعل الاسم مركباً من كلمات متعددة لكن بدون فواصل مما يجعل الكود أنظف وأسهل للقراءة عند فحص الكود.
  • Google وغيرها من الشركات اتبعوا هذه القواعد لأن ذلك يعزز التعاون بين الفرق البرمجية ويجعل قواعد التسمية واضحة ومعروفة للجميع.

وعلى العكس يتم استخدام underscores مثل Binomial_Distribution والذي يعرف ب snake_case وهو شائع أكثر لتسمية المتغيرات أو الدوال في بعض اللغات مثل Python لكنه أقل استخداما لأسماء الكلاسات في بيئات مثل Java وJavaScript وGoogle البرمجية.

  • 0
نشر

الأمر ليس متعلق بجوجل، بل بلغات البرمجة الأساسية المشتق منها أغلب لغات البرمجة وهي Java، وC#، وC++ والتي اعتمدت ذلك التنسيق منذ بداياتها، وبالتبعية جوجل تستخدم تلك اللغات بكثافة، لذا تبنت الـ Style Guides أو الأسلوب الخاص بتلك اللغات، لكونها الممارسات الأفضل التي أثبتت فعاليتها على مر السنين.

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

فبايثون مثلاً لديها style guide خاص بها وهو PEP والذي يوصي بـ CapWords أي CamelCase لأسماء الأصناف، وsnake_case للمتغيرات والدوال.

ولغتي Java و C#‎ تعتمد على CamelCase لأسماء الأصناف هو قاعدة شبه مقدسة ولا يُنصح بخرقها، بينما Ruby تستخدم CamelCase للأصناف والوحدات، وsnake_case للدوال والمتغيرات.

Rust أيضًا تستخدم CamelCase للأنواع (structs, enums) وsnake_case للدوال والمتغيرات.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...