كيف يمكنك إنشاء الخاصة بك .صافي التنمية الشجرة ؟ [مغلقة]

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

سؤال

كيف يمكنك إنشاء الخاصة بك .صافي التنمية الشجرة ؟ يمكنني استخدام هيكل من هذا القبيل:

-projectname
--config (where I put the configuration files)
--doc    (where I put all the document concerning the project: e-mails, documentation)
--tools  (all the tools I use: Nunit, Moq)
--lib    (all the libraries used by the solution: ninject or autofac)
--src
---app   (sourcefiles)
---test  (unittests)
solutionfile.sln
build.csproj

علامة "-" العلامات والدلائل.

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

أية أفكار حول هذا ؟

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

المحلول

نحن نستخدم جدا تخطيط مماثلة كما غطت في JP Boodhoo بلوق وظيفة بعنوان بنية الدليل للمشاريع.

نصائح أخرى

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

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

ونحن استخدام هيكل من هذا القبيل:

  • CompanyNameOrCoreProjectName
    • فرع
      • BranchName
        • CopyOfTrunk
    • الجذع
      • سطح المكتب
      • ReferencedAssemblies
      • مشترك
      • حلول
      • اختبار
      • شبكات

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

في مكان عملي لدينا عدة مشاريع, حيث كل مشروع يحصل الخاصة sub-directory, مثل ذلك:-proj1
--proj1.csproj
-proj2
--proj2.csproj
-proj3
--proj3.csproj
solutionfile.sln

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

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

شيء يعمل بشكل جيد بالنسبة لنا هو:
solutionfile.sln
-src
--projectname
---config
---doc
---source files (structure representing namespaces)
-test
--testprojectname (usually, a test project per source project)
---unit test files (structure mirroing the structure in the source project)
-lib
--libraryname (containing the libraries)
-tools

أنا لا أملك أدوات في المشروع.الأدوات هي في مشاركة شبكة اتصال.نعم مساحة القرص هي رخيصة هذه الأيام ولكن...هيا :)

أيضا لدي قاعدة بيانات مجلد البرنامج النصي أدناه projectname (عندما تكون البيانات مدفوعة من التطبيق)

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

ونحن أيضا استخدام TreeSurgeon و هي سعيدة جدا مع ذلك.لدينا هيكل تبدو مثل:

فرع

  • بناء
  • ليب
  • src
    • < مختلف src الدلائل عن تطبيقات, اختبارات, db الهجرات ، إلخ.)
  • أدوات

الجذع

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