ماذا تفعل برمز غير مستخدم ومفيد؟ [مغلق

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

  •  20-08-2019
  •  | 
  •  

سؤال

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

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

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

المحلول

أحتفظ بسجل لجميع التعليمات البرمجية المفيدة في قاعدة بيانات قصاصة رمز غير متصل.

لا تحقق من ذلك - المستودع المركزي هو مكان فقط لرمز العمل الذي يتم استخدامه في التطبيق.

نصائح أخرى

كإجابة ، يرجى النظر في هذه القصة القصيرة:

جامع الكود الميت: أخرج رمزك الميت.

رجل مع رمز ميت: هذا واحد.

جامع الكود الميت: سيكون ذلك تسعة.

الكود الميت: أنا لست رمزًا ميتًا.

جامع الكود الميت: ماذا؟

رجل مع رمز ميت: لا شيء. هناك تسعين.

الكود الميت: أنا لست رمزًا ميتًا.

جامع الكود الميت: "، يقول إنه ليس رمزًا ميتًا.

رجل مع رمز ميت: نعم هو.

الكود الميت: أنا لست كذلك.

جامع الكود الميت: إنه ليس كذلك.

رجل مع كود ميت: حسنًا ، سيكون قريبًا ، إنه مريض جدًا.

الكود الميت: أنا تتحسن.

رجل مع رمز ميت: لا أنت لست كذلك ، ستكون رمزًا ميتًا في لحظة.

جامع الكود الميت: حسنًا ، لا يمكنني أن آخذه هكذا. إنه ضد اللوائح.

الكود الميت: لا أريد الذهاب في العربة.

رجل مع رمز ميت: أوه ، لا تكن مثل هذا الطفل.

جامع الكود الميت: لا يمكنني اصطحابه.

الكود الميت: أشعر أنني بخير.

رجل مع رمز ميت: أوه ، هل لي معروفا.

جامع الكود الميت: لا أستطيع.

رجل مع رمز ميت: حسنًا ، هل يمكنك التسكع لبضع دقائق؟ لن يكون طويلاً.

جامع الكود الميت: وعدت سأكون في روبنسون. لقد فقدوا تسعة اليوم.

رجل مع رمز ميت: حسنًا ، متى تكون جولتك التالية؟

جامع الكود الميت: الخميس.

الكود الميت: أعتقد أنني سأذهب في نزهة على الأقدام.

رجل مع رمز ميت: أنت لا تخدع أي شخص ، كما تعلم. أليس هناك أي شيء يمكنك فعله؟

الكود الميت: أشعر بالسعادة. أشعر بالسعادة.

ينظر جامع الكود الميت لأعلى ولأسفل في الشارع ، ثم يسيطر على الكود الميت بهزيم له من CTRL-X

رجل مع رمز ميت: آه ، شكرا جزيلا لك.

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

في حالات نادرة حيث يكون "باردًا" ، يمكنك تخزينه في قاعدة بيانات المقتطف.

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

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

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

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

تحقق من ذلك ، مع تعليق (في الكود وتسجيل الوصول) قائلاً إنك على وشك حذفه.

ثم احذفه وتسجيل الوصول على الفور ، مع تعليق تسجيل الوصول يشرح السبب.

وبهذه الطريقة ، ليس لديك Cruft في قاعدة الشفرة الخاصة بك ، لكن لديك سجل دائم للرمز.

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

احذفه بفرح.

الكود هو وعد ثابت تم تقديمه مقابل المتطلبات المتغيرة في عالم ديناميكي.

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

Dijkstra 1036-11

انشر الكود الخاص بك إلى:http://snipplr.com/ http://refactormycode.com/

دع الآخرين يقيمون وربما يستخدمونه أيضًا :)

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

أحتفظ بمقتطفات الكود الخاصة بي كود جامع المؤيد (لنظام التشغيل Mac).

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

إخلاء المسئولية: أنا مجرد عميل راضٍ.

إذا كانت كمية كبيرة (وهي مفيدة بشكل عام على أي حال) ، فلماذا لا تفكر في الحصول على مصادر مفتوحة؟ أنا أحب فكرة إعادة التدوير.

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

في العمل ، لدى بعض الأشخاص رمزًا تم التعليق عليه قبل 4 سنوات ، حيث تضم 70 ٪ من الملف المصدر.دعها فحسب

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

مفتوح المصدر! إذا لم يكن ذلك مفيدًا لك ، فربما يكون ذلك مفيدًا لشخص آخر.

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

لدي ملف فئة في نسخة من مشروعي أستمر فيه في تخزين وظائف غير مستخدمة مفيدة.

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

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

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

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

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

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