سؤال

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

حتى الآن لدي المرافق إلى تغيير حجم الصور, تصدير البيانات شبكات excel, إرسال رسائل البريد الإلكتروني ، واستبدال tokenized الرسائل.

إذا تم بناء/استخدام .صافي فائدة مكتبة الفئة ، ما هي أنواع عمليات تراها مفيدة ؟ ماذا مساحات/المجموعات تتخيله ؟

التحديث

أنا أتحدث عن الدرجة الفعلية المكتبة فصل في مساحات الأسماء إلى مجموعة العناصر المشتركة.

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

المحلول

  1. لن أكتب مكتبة تسمى 'المشتركة' أو 'المرافق' أو 'Misc' أو...يمكنك الحصول على هذه الفكرة.بدلا من ذلك, لكنت دليل يسمى 'ليب' ، كل منطقة من الوظائف في مكتبة منفصلة بموجب ذلك.على سبيل المثال ، قد Lib/أثر ، Lib/UI ، Lib/صافي ، Lib/Web C++ المشروع.C#, أنا كنت Lib/Acme.أثر Lib/Acme.يقوم نظام ويندوز.أشكال Lib/Acme.صافي, الخ.(على افتراض أعلى مستوى مساحة/شركة تسمى 'قمة').
  2. YAGNI.لا تذهب كتابة التعليمات البرمجية التي قد ضرورة.
  3. لا رمي الأشياء في مكتبة مشتركة حتى كنت قد استخدمت لهم في اثنين أو أكثر من المشاريع.

نصائح أخرى

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

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

لدي الكثير من الأشياء في مكتبة الفئة التي تشترك بين المشاريع:

  • حاوية اللجنة الأولمبية الدولية والتبعية إطار حقن
  • كامل تحكم/المراقب إطار يسمح لي منفصلة واجهة المستخدم رمز من رمز backlogic
  • معقول قاعدة بيانات مستقلة عن مجموعة من الطبقات تنفيذ SQL, يعتني بعض من جملة الاختلافات أساسا وظيفة الأسماء
  • الكثير من فئات المساعد فائدة طرق التعامل مع البيانات
  • بعض موحدة التخزين الداخلية الطبقات ، مثل Tuple<..> الخ.
  • بعض مخصصة مجموعات مثل Set<T>, Heap<T>, فضلا عن الكثير من المرافق طرق التعامل مع أنواع مختلفة من مجموعات

مكتبة فئة يضاف إلى عندما كنت بحاجة الى المزيد من الأشياء.

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

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

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

على الرغم من أنني فقط الوليدة المطور نفسي لقد وجدت RegEx وظائف SQL المرشحات أن تكون مفيدة جدا.أود أيضا أن يكون النسخ المتماثل دمج وظائف MSSQL التي تم مفيد جدا بالنسبة لي حتى الآن.

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