سؤال

لقد تم العمل القليل مع DevExpress CodeRush و ريفاكتور!برو هذا الأسبوع التقطت commentor في المكونات التي سوف تولد تلقائيا التعليقات رمز نوع.

أنا لا أريد أن أخوض في كيفية جيدة وظيفة لا تنتقي المعنى الأساسي (جيد جدا في الواقع) لكنه الافتراضي تنفيذ يثير سؤالا.

بشكل افتراضي, كتابة } حرف لإغلاق كتلة سيؤدي في البرنامج المساعد إضافة تعليق كما يلي...

using(MyType myType = new MyType())
{
    myType.doWork();
} // using

(أيإضافة تعليق على قوس إغلاق وسم حيث فتح.)

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

كنت أتساءل ما غيره من الناس ؛ 's تأخذ على هذا النوع من التعليق.ليس فقط من الناحية الأكاديمية ، ولكن إذا كنت تحصل على عدد كبير من التعليقات السلبية حول لهم لا يمكن أن تقرر ما إذا كانت تلحق بهم على بلادي زملاء العمل أو قطاع منهم.

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

المحلول

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

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

نصائح أخرى

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

وأشعر أن تلك يغلق هدفين تعليق غير فوضوي، وأنه يعطي المعلومات التي يتم توفيرها أفضل مباشرة من IDE إذا كان الفرد يريد ذلك.

وIMO كل تعليق الذي وصف ما رمز هو قول بالفعل كنت لا لزوم لها.

إذا كان لديك حقا كتل التعليمات البرمجية التي تكون طويلة بحيث يكون لديك لتمرير الكثير لنرى هناك بداية كنت قد فعلت شيئا خاطئا وربما تنظر لتقسيم رمز يصل.

وسيئة سيئة أسلوب تعليق - أنه يدخل في سماء المنطقة الصيانة في مصدر برنامج

.

ولقد عرفت المبرمجون السابق VB الذين وجدوا مسارات }s في التعليمات البرمجية C-جملة ليكون مربكا، ولكن في هذا السيناريو الإصلاح الحقيقي هو ريفاكتور التعليمات البرمجية لمنع تداخل عميق وظائف طويلة بشكل مفرط و / أو كتل التعليمات البرمجية .

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

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

في بعض الأحيان ستحصل كتل رمز كبير جدا، أو الكثير من القطع المتداخلة إغلاق معا. أنا في بعض الأحيان استخدام هذا النمط في مثل هذه الحالات، ولكن بالتأكيد ليس في كل وقت. أنا لا تقييد لرمز إما: HTML يمكن أن تستفيد كثيرا من هذا النمط من "وثيقة تعليقه":

<div id="content">
    <div id="columns">
        <div class="column">

            <!-- .. snip a lot of lines .. -->

        </div> <!-- .column -->
    </div> <!-- #columns -->
</div> <!-- #content -->

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

وأعتقد أن أكثر فائدة من تعليقات سيكون ميزة IDE ليس فقط لتسليط الضوء على مطابقة أزواج من الأقواس، ولكن أيضا عرض خط openining على تلميح الأدوات، بحيث إذا حلقت فوق قوس الإغلاق في المثال الخاص بك سيكون الخروج "باستخدام (MyType myType = جديد MyType ())" في تلميح الأدوات.

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

أنا دائما تجد أنه من المفيد أن نتذكر هذا...

واضحة مكتوبة بشكل جيد رمز سوف توفر ما يكفي من تفسير ما رمز يفعل المختصة مبرمج لاستلامه.

التعليقات في مدونة لشرح لماذا رمز يفعل ذلك!

وبعبارة أخرى, استخدام التعليقات لمساعدة القارئ من فهم الخوارزمية ، أو ما هو من المفترض أن تحقيق, لا كيف إنه تحقيق ذلك!

قد ترغب تحقق من هذا المنصب من قبل جيف أتوود.

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

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

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

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

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

وأنا أتفق هناك كثير طرق أفضل لوصف ما تقوم به رمز.

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

وترقب للتعليق أونيلينير من هذا القبيل كما refactors المحتملة، والتي يمكن التعامل معها تلقائيا من قبل IDE. التعليمات البرمجية التي يوثق نفسه هو أفضل حتى من تعليق مستقل أفضل مكتوبة، ما عدا بالطبع عندما تصف القصد.

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