سؤال

تم اقتراح ما يلي لمشروع C++ القادم.

  • معايير الترميز C++، بواسطة سوتر وألكساندرسكو
  • معايير ترميز JSF للمركبات الجوية C++
  • عناصر أسلوب C++
  • الإصدار الثالث من لغة C++ الفعالة، بقلم سكوت مايرز

هل هناك خيارات أخرى؟أم أن القائمة أعلاه هي ما يجب استخدامه في مشروع C++؟

بعض الروابط ذات الصلة

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

المحلول

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

لقد تم استخدام وتعديل جيوسوفت المعايير لفترة من الوقت، وهذه هي لC++.هناك البعض الآخر في ما هي القائمة المرجعية لإرشادات الترميز المفضلة لديك؟ خيط

نصائح أخرى

معايير الترميز C++:101 القواعد والمبادئ التوجيهية وأفضل الممارسات (C ++ سلسلة متعمقة) من قبل Herb Sutter و ، أندريه ألكسندريسكو.

همم، سؤال غريب.ما عليك سوى اختيار المعيار الذي يعرفه معظم أعضاء الفريق.قم بإجراء نوع من الاستطلاع لفريقك.لست متأكدًا من كيفية مساعدة SO هنا :)

جرب هذا، فهو الذي يستخدمه مركز جودارد لرحلات الفضاء التابع لناسا.

http://software.gsfc.nasa.gov/AssetsApproved/PA2.4.1.3.pdf

لقد قمت بكتابة معيار ترميز لشركة بريطانية كبرى وكنت واعيًا جدًا بوضع الأسباب التي دفعتني إلى اختيار أشياء معينة بدلاً من مجرد جعلها مجموعة من التصريحات "عليك".(-:

وكوسيلة سريعة للخروج، أقترح تكليف:

  • الإصدار الثالث من لغة C++ الفعالة لسكوت مايرز (رابط أمازون) - إذا كان بإمكانك العثور على نسخة من الطبعة الأولى من هذا الكتاب، فقم بشرائها للحصول على نظرة عامة على تصميم OO الذي تمت إزالته من الإصدارات اللاحقة.)-:
  • كتاب سكوت ماير الفعال للمحكمة الخاصة بلبنان (رابط أمازون) - يجب عليك استخدام STL لاستخدام C++ بكفاءة.
  • كتاب ستيف ماكونيل كود كامل 2 (رابط أمازون) - ليست خاصة بـ C++ ولكنها مليئة بالرؤى الرائعة.

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

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

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

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

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

وأنا أتفق مع Harald Scheirich، فمن المهم جدًا أن يتفق الفريق على القواعد التي يجب أن تكون عليها بدلاً من مجرد اختيار مجموعة أوصى بها الغرباء.

توصيتي الشخصية ستكون القراءة كود كامل، الطبعة الثانية بواسطة Steve McConnell الذي يصف (من بين مجموعة كبيرة من الأشياء المفيدة الأخرى) العديد من معايير الترميز الشائعة ويقدم تعليقًا على كل منها.قد يساعد هذا فريقك في وضع معاييرك الخاصة.

تعد معايير ترميز المركبات الجوية C++ الخاصة بشركة Lockheed Martin بمثابة قراءة مثيرة للاهتمام ولكنها مبالغة بعض الشيء إلا إذا كنت تعمل في مجالات يمكن أن يقتل فيها الخطأ الأشخاص.لا يزال هذا مثالًا مهمًا للغاية يجب النظر إليه من وجهة نظر أخلاقيات الكمبيوتر حول مثال لكيفية البرمجة مع إعطاء الأولوية القصوى للسلامة والصحة.

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

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