سؤال

أنا أعمل على نظام كبير إلى حد ما تم تطويره بواسطة مبرمج آخر لم يعد يعمل هنا.

وبما أنني القاتل المتسلسل المهووس الذي يحافظ عليه ويعرف أين يعيش.

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

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

شكرًا.

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

المحلول

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

نصيحة رقم 1) عندما تقوم بالبرمجة، إذا رأيت شيئًا غير صحيح، فقم بإصلاحه.سيستغرق هذا وقتًا أطول، لكنه سيمنحك في النهاية مكاسب إنتاجية حيث يصبح النظام أكثر "إصلاحًا".إذا لم يكن لديك الوقت لإصلاح المشكلة، فاصنع لنفسك معروفًا وأضف تعليقًا مثل هذا://لكى يفعل:قم بإعادة تنظيم الأمر بحيث يتم تنفيذه x لاحقًا، عندما يكون لديك وقت، ما عليك سوى البحث في الكود الخاص بك عن "TODO:" للحصول على قائمة بالأشياء التي تحتاج إلى القيام بها.يمكنك أيضًا منحهم مستويات، مثل "TODO-High"، و"TODO-Medium"، و"TODO-Low".إذا كنت تستخدم Eclipse أو Zend Studio for Eclipse كمحرر/IDE، فيمكنك إعداده للعثور على هذه العناصر ووضع علامة عليها تلقائيًا، في التفضيلات->المهام.

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

نصيحة رقم 3) حاول إنشاء اتفاقيات.مثال:يجب أن تتوافق أسماء وحدة التحكم والعرض مع عنوان URL، وأن تكون موجودة في الدلائل المقابلة لعنوان URL.عنوان URL لتعديل المكان 1234:/الأماكن/تحرير/1234 ملف وحدة التحكم:/ htdocs / اسم الموقع / وحدات التحكم / الأماكنالمراقب المالي.php ملف القالب:/htdocs/sitename/views/places/edit.tpl

نصيحة رقم 4) اقرأ البرامج التعليمية "البدء باستخدام" للأطر الرئيسية:زيند، كيك بي إتش بي، كود إغنيتر/كوهانا، سيمفوني.معرفة ما إذا كان أحدهم يبدو أفضل من الآخر بالنسبة لك.اسأل نفسك لماذا تحب ذلك.هل سينجح الأمر معك، أم أنك بحاجة إلى إنشاء إطار عمل خاص بك (أمر مشكوك فيه).إذا كان ذلك ممكنًا، استخدم إطارًا موجودًا.لقد تم اختباره بالفعل من قبل مئات أو آلاف الأشخاص، وهذا هو الوقت الذي ستوفر فيه!أنا شخصياً أحب Zend Framework، وهو جيد بشكل خاص لـ "المشاريع الانتقالية" مثل مشروعك، لأنه يمكنك قبوله أو تركه قطعة واحدة في كل مرة.أعني أنه يمكنك اختيار استخدام كائن عرض Zend فقط، أو استخدام كائن DbTable الخاص به فقط.أنت حر في ترك أكبر قدر ممكن منه كما تريد.هذا يعني أنه يمكنك الانتقال تدريجيًا إلى Zend-World بالسرعة التي تناسبك.تعمل مكونات EZ بنفس الطريقة.

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

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

نصيحة رقم 7) حاول قراءة الكتب حول هذا الموضوع، مثل "إعادة البناء:"تحسين تصميم الكود الموجود" بقلم مارتن فاولر

نصائح أخرى

لدى Zend اصطلاح تسمية لطيف:http://framework.zend.com/manual/en/coding-standard.naming-conventions.html

لقد أضافوا بادئة Zend_ إلى جميع فئاتهم وبهذه الطريقة يتجنبون التصادمات مع فئات الطرف الثالث.

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

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