سؤال

أنا أعمل مع مجموعة من المبرمجين الآخرين في مشروع مفتوح المصدر تم إنشاؤه باستخدام C++ وQt.

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

اي نصيحه؟

يحرر:أنا لا أتحدث عن تسمية فئات جديدة،

بدلاً من ذلك أنا أتحدث عن تسمية مثيلات Qt Widgets، لنفترض أن لدي تعديل نص لاسم المستخدم، هل يجب أن أسميه txtEdtUsrNm؟

وفي هذه الحالة، كيف من المفترض أن أختار الاشتقاقات؟

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

المحلول

طالما أنك تفكر بهذه الطريقة، سأبدأ بقراءة مقالة QtQuarterly هذه من البداية إلى النهاية.

تصميم واجهات برمجة تطبيقات Qt-Style C++

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

إذن، "اسم المستخدم" الخاص بك هو QTextEdit

QTextEdit * userNameEdit = new QTextEdit(this);

إذا كان هناك غموض، مثل QListView وQTreeView، فاختر القسم الأخير الذي لا لبس فيه.

QListView * userListView;

يمكنك معرفة الاختصارات بالطريقة التي تريدها (مثل "Lbl" لـ QLabel)، ولكن عمومًا، نجحت الكلمة بأكملها وكانت سهلة القراءة.

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

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

قائمة أمثلة للأشياء التي تلتزم بالاتفاقية:

  • التصميم = جميع الفئات التي تنتهي في "التصميم" وروث qlayout
  • Button = جميع الفئات التي تنتهي بـ "Button" وترث QAbstractButton

ملخص Qاسم الفئة تعد الفصول الدراسية مكانًا جيدًا للتفكير فيما يجب أن يكون في تلك القائمة.

نصائح أخرى

نظرًا لأن Qt مفتوح لمطوري الطرف الثالث، فقد قاموا بتوفير العديد من الوثائق المتعلقة بأسلوب البرمجة ومبادئ تصميم واجهة برمجة التطبيقات (API).

هذه الوثائق مثيرة للاهتمام حقًا.هنا بعض الروابط :

ويكي :أسلوب ترميز كيو تي

ويكي :مبادئ تصميم واجهة برمجة التطبيقات

وهذه الوثيقة (PDF) من ياسمين بلانشيت، والتي تستحق القراءة: الدليل الصغير لتصميم واجهة برمجة التطبيقات (API).

وأود أن مجرد استخدام اصطلاح التسمية نفس يستخدم كيو تي. تجعل من السهل على نفسك.

واصطلاح تسمية تلك هي مماثلة لجافا.

والأسماء الكاملة بسرعة أصبحت مزعجة للقراءة ونوع، لذلك نحن عادة استخدام اختصار:

QLabel * fooLB;
QPushButton * fooPB;
QTextEdit * fooTE;
QSpinBox * fooSB;

و(تحصل الانجراف). نعم، هناك بعض الغموض، لكنهم عادة حل من السياق.

لتكون دقيقة، والسؤال هو عن "حالات تسمية كيو تي القطع"، لكن الإجابة وحول تسمية المتغيرات عقد ما يشير إلى حالات من الحاجيات.

وكيو تي الحاجيات تنبع من QObject الذي له خاصية الاسم مع objectName جالبة (). لا تعطي كيو تي ممتلكات قيمة إذا مبرمج لا؟ يطلق عليه "لصناعة السيارات ولدت" أو قيمة "الافتراضي".

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