كيفية إقناع الإدارة بأن إعادة تهيئة قاعدة كود Java بأكملها آمنة

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

  •  19-09-2019
  •  | 
  •  

سؤال

كيف يمكن للمرء أن يثبت للإدارة أن إعادة تهيئة الدفعات من جميع ملفات .java في قاعدة رمز كبيرة (لوضع التعليمات البرمجية وفقا لمعايير ترميز الشركة) آمنة ولن تؤثر على الوظيفة.

يجب أن ترضي الإجابات عدم التقنية والتقنية على حد سواء.

تحرير: 2010-03-12.توضيح للتقني بينك؛ REFRUMUTAT = تغييرات فضاء بيضاء فقط - لا "تنظيم الواردات" أو "إعادة ترتيب المتغيرات الأعضاء والأساليب، وما إلى ذلك"

تحرير: 2010-03-12. شكرا لك على الردود العديدة. أنا مندهش أن الكثير من القراء قد صوتوا ردا على استجابة Mrjoltcola لأنه ببساطة بيانا حول كونه باركان ولا يقترح بأي حال إجابة على سؤالي. علاوة على ذلك، هناك حتى تعليق من نفس المساهمين يكرر السؤال. أعرب Wizzardofodds هذه المنظر (ولكن قد لا تقرأ جميع التعليقات لرؤيتها). -jtsampson.

تحرير: 2010-03-12. سأقوم بنشر إجابتي الخاصة قريبا، على الرغم من أن إجابة جون سكيت كانت على حق في الأموال مع اقتراح MD5 (ملاحظة -G: لا شيء لتحويل تصحيح الأخطاء). على الرغم من أنها غطت فقط الجوانب الفنية. -jtsampson.

2010-03-15 أضفت إجابتي أدناه. استجابة لما يعنيه "آمنة"، قصدت أن تتأثر وظائف رمز جافا. دراسة بسيطة لمجموعة جافا توضح هذا هو الحال (مع عدد قليل من التحذيرات). كانت تحذيرات Thos "مساحة بيضاء فقط" وأشارت إليها عدة ملصقات. ومع ذلك، هذا ليس شيئا تريد أن تحاول شرحه في bizops. كان هدفي أن يثير "كيفية تبرير القيام بذلك" نوع الإجابات وحصلت على عدة ردود كبيرة.

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

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

المحلول

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

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

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

نصائح أخرى

في بيئة عمل، لديك تحديان.

  1. اِصطِلاحِيّ
  2. سياسي

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

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

كانت الحجة التي قمت بها في عام 2010 ذكية بعض الشيء ربما، ولكن المحللين والإصلاحات والطابعات الجميلة هي مجرد برامج؛ قد يكون لديهم الأخطاء التي يتم تشغيلها بواسطة CodeBase الخاص بك، خاصة إذا كان هذا هو C ++. بدون اختبارات الوحدة في كل مكان، مع رمز كبير، قد لا تتمكن من التحقق من 100٪ أن النتيجة النهائية متطابقة.

كمطور، أنا باركان العظمة، والفكرة تجعلني غير مستقر، ولكن طالما كنت تستخدم:

  1. مراقبة المصدر
  2. تغطية الاختبار السليم

فأنت بخير.

ومع ذلك، أفكر في هذا: وإدراك الإدارة الآن أنك تلدك في مشروع مليون سطر مع "تغيير جماعي". تم الإبلاغ عن علة غير مكتشفة سابقا بعد إعادة الإصلاح الخاص بك. أنت الآن رئيس المشتبه به في التسبب في هذا الخطأ. سواء كان "آمن" له معاني متعددة. قد لا تكون آمنة لك وعملك.

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

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

استخدام نهج عملي:

  1. بناء التطبيق.
  2. احفظ التطبيق.
  3. إعادة صياغة القانون.
  4. بناء التطبيق.
  5. فرق الثنائيات.

أود استخدام أربع كلمات.

مراقبة المصدر. اختبارات الوحدة.

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

ما هي الإدارة التي نتحدث عنها هنا؟ هل هم التقنية SAVVY بما يكفي لفهم تنسيق التعليمات البرمجية وكيف يعامل Java Whitespace؟ لأنه إذا لم تكن كذلك، فلا أعتقد أنهم مؤهلون لاتخاذ مثل هذا القرار الفني (أي، يجب تفويض هذه الأسئلة لشخص مسؤول عن القانون).

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

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

  • بعض الطبقات المنسقة بشدة الآن أسهل القراءة.
  • نفس التنسيق في كل مكان.

ولكن كان له أيضا بعض الجوانب السلبية:

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

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

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

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

تريد "رمز الامتثال لمعايير ترميز الشركة" SIC] وتريد إقناع الإدارة؟

تافهة: تثبيت checkStyle., ، اجعلها جزءا من العملية الخاصة بك، إطعامها إرشادات الترميز الخاصة بك، وإظهارها أن القميص بأكمله بائسة فشل تشغيل checkStyle..

هذا مثال جيد على عدم تطابق الأعمال الفنية.

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

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

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

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

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

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

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

رمز إعادة تهيئة هو نفسه إعادة تهيئة وثيقة في كلمة؛ يغير التخطيط وبالتالي قابلية القراءة، ولكن ليس المحتويات.

إذا تم تنسيق كل الملفات نفس الرمز يصبح أكثر قابل للقراءة, ، مما يجعل الصيانة أسهل قليلا وبالتالي أرخص. أيضا استعراض التعليمات البرمجية يمكن أن تكون أسرع وأكثر فعالية.

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

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

أجب عن هذه الأسئلة للإدارة، وسوف تكون هناك طريق طويل من إقناعهم بأنه تغيير آمن؟

  1. لماذا تهيئة التنسيق الجيد؟
  2. ما هي التغييرات التي سيتم إجراؤها؟ (إذا لم تتمكن من الإجابة على هذا، فأنت لا تعرف ما يكفي حول إعادة التنسيق لمعرفة أنه سيكون آمنا)
  3. هل ستثبت أجنحة اختبار الوحدة لدينا التغييرات التي لم يكن لها آثار سيئة؟ (تلميح الجواب يجب أن يكون نعم)
  4. هل سيتم تمييز التعليمات البرمجية الموجودة في مستودع المصدر بحيث يكون لدينا خيار لفة سريعة؟ (تلميح الجواب أفضل كن نعم)

هذا حول يغطيها.

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

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

أنا أرتدي قبعة مديري ...

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

شكرا لجميع ردكم.

حجتي النهائية لإقناع الإدارة؛ أجزاء من جميع ردودكم المدرجة. شكرا للمساعدة.

اِصطِلاحِيّ:

  • يتكون Rundate من تغييرات الفضاء البيضاء (لا إعادة ترتيب الاستيراد، لا يوجد عضو / طريقة)
  • سوف تستخدم REMRUMUTAT [حدد الأداة والعملية
  • ستحدث RunDument على [حدد الوقت داخل دورة الترميز لتقليل تأثير دمج

سواء قبل وبعد إعادة الإصلاح:

  • جميع اختبارات الوحدة سوف تمر
  • جميع اختبارات التكامل سوف تمر
  • جميع الاختبارات الوظيفية سوف تمر
  • جميع اختبارات الصابون واجهة المستخدم سوف تمر
  • رمز البايت هو نفسه (MD5 من ملفات .class التالية Javac (-g: None))

عمل:

الغرض: الامتثال مع معايير الشركة التي تنص على أن ملفاتنا المصدر تمثل بدقة الهيكل المنطقي لرمزنا.

  • تغيير ممنوع التغيير مقابل رمز (مثال مستند Word على النحو الوارد أعلاه)
  • سوف يستخدم REMREMUTAT [العملية العامة
  • ستحدث Rundate على [حدد الوقت داخل دورة الأعمال لتقليل التأثير

اختبار تجريبي:

  • أدت "الدفعة" المؤكدة "النزاعات أقل دمج، ثم" تنسيق كما كود ". وبعد
  • أكد أن الكود القابل للتنفيذ (4K + ملفات .class) لا يزال هو نفسه. (اختبار MD5)
  • لن تتأثر الوظيفة المؤكدة (اختبارات الاختبارات الآلية / اختبارات الدخان)
  • إعدادات الشكل المؤكدة تحتوي على تغييرات فضاء بيضاء فقط.

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

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

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

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

بعد ذلك، انقر بزر الماوس الأيمن وتنسيق كل مشاريع واحدة تلو الأخرى - مرة أخرى، لا يتم تقديم أي مشاكل.

يمكنك القيام بذلك على محطة عملك المحلية دون أي ضرر على الإطلاق إلى مستودعك.

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

لن أذكر أنك سوف يكون لها الإصدار القديم الموسومة في تحكم المصدر أليس كذلك؟

يمكن أن تكون مدرسة الفكر هي القيام بذلك دون أن تسأل ثم تكون قادرة على الذهاب "انظر!"

بالطبع إذا قمت بتحطيم كل شيء، فسوف تطلق النار. أنت تقدم اختياراتك ...

بدلا من ذلك، التحكم في المصدر (أو النسخ الاحتياطية البسيطة) ثم يمكنك دائما مرة أخرى.

إذا كان الكود الخاص بك بالقرب من تغطية رمز 100٪ بما فيه الكفاية، فما أعتقد أنه يمكن خفض المخاطر قليلا.

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

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

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

  • جميع المطورين لديهم نفس إعدادات التنسيق؛
  • يتم التحقق من تنسيق التعليمات البرمجية المصدر عند تسجيل الوصول بواسطة خطاف في SCM الخاص بك.

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

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

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

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

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

ملاحظة النهائية: إذا كان عليك إقناع إدارتك بذلك، فربما يجب أن تتطلع إلى إيجاد طريقة للعمل مع أشخاص ذكأ؟

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

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

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