ما هي المفضلة الاتفاقيات في تسمية السمات والأساليب دروس في لغات مختلفة ؟

StackOverflow https://stackoverflow.com/questions/49382

  •  09-06-2019
  •  | 
  •  

سؤال

هي تسمية اتفاقيات مماثلة في مختلف اللغات ؟ إذا لم يكن كذلك ، ما هي الاختلافات ؟

هل كانت مفيدة؟

المحلول

كما قال آخرون الأمور تختلف كثيرا, ولكن هنا لمحة الخام الأكثر شيوعا اصطلاحات التسمية في لغات مختلفة:

lowercase, lowercase_with_underscores:

تستخدم عادة المتغيرات المحلية تعمل الأسماء (نموذجي C syntax).

UPPERCASE, UPPERCASE_WITH_UNDERSCORES:

تستخدم عادة في الثوابت و المتغيرات التي لا تتغير أبدا.بعض (كبار السن) اللغات الأساسية مثل أيضا اتفاقية استخدام كل حالة العلوي لجميع أسماء المتغيرات.

CamelCase, javaCamelCase:

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

هذه الجملة هي أيضا شائعة جدا خارجي واجهات برمجة التطبيقات ، لأن هذا هو كيف Win32 و Java APIs تفعل ذلك.(حتى لو كان يستخدم مكتبة مختلف الاتفاقية داخليا عادة التصدير مع (جافا)CamelCase بناء جملة الدالة الأسماء....)

prefix_CamelCase, prefix_lowercase, prefix_lowercase_with_underscores:

يشيع استخدامها في اللغات التي لا تدعم مساحات (أيج).البادئة عادة للدلالة على المكتبة أو الوحدة التي دالة أو متغير ينتمي.عادة ما تكون مخصصة العالمية والمتغيرات العالمية المهام.بادئة يمكن أيضا أن تكون في أحرف كبيرة.بعض الاتفاقيات استخدام أحرف صغيرة بادئة الوظائف الداخلية والمتغيرات الكبيرة بادئة تصديرها منها.

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

راجع للشغل:نسيت أن أذكر منهج المجرية على الغرض.

نصائح أخرى

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

النمط الذي للاستخدام ؟

إذا كانت لغتك السفن مع مستوى جيد مكتبة, حاول أن تعتمد الاتفاقيات في تلك المكتبة.

إذا كانت لغتك لديه الكنسي الكتاب (لغة البرمجة C, الجمل كتاب البرمجة روبي.... الخ) استخدام هذا.

في بعض الأحيان اللغة المصممين (C#, Java الربيع إلى العقل) في الواقع إرسال مجموعة من المبادئ التوجيهية.استخدام تلك ، خاصة إذا كان المجتمع يعتمد عليها أيضا.

إذا كنت تستخدم لغات متعددة تذكر أن البقاء مرنة وضبط المفضل لديك أسلوب الترميز إلى اللغة التي تستخدم - عندما الترميز في استخدام الثعبان نمط مختلف على الترميز في C#.... الخ

طاب يومكم ،

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

HTH

الهتافات ،

روب

بالطبع هناك بعض المبادئ التوجيهية المشتركة ولكن هناك أيضا اختلافات بسبب اختلاف في تركيب اللغة\التصميم.

ل .NET (C#, VB, الخ) أنصح الموارد التالية:

أعتقد أن معظم اصطلاحات التسمية تختلف ولكن المطور, على سبيل المثال أنا اسم المتغيرات مثل:mulitwordVarName ، ولكن بعض ديف لقد عملت مع شيء مثل mulitword_var_name أو multiwordvarname أو aj5g54ag أو...أعتقد هذا يعتمد على تفضيل الخاص بك.

ومنذ سنوات الحكمة القديمة مبرمج علمني شرور منهج المجرية, هذا الإرث الحقيقي نظام مايكروسوفت اعتمدت عليه بعض ما في ويندوز SDK, و في وقت لاحق في MFC.وقد صممت جميع أنحاء فضفاضة المكتوبة بلغات مثل C و ليس مكتوب قوية لغات مثل C++.في ذلك الوقت كنت البرمجة Windows 3.0 باستخدام Borland توربو باسكال 1.0 لـ Windows ، الذي أصبح فيما بعد دلفي.

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

  • أ - الحجة
  • l - المحلية
  • م - عضو
  • g - global

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top