كيف يمكنني أن أجعل سير العمل في تطوير أكثر "enterprisey"?

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

سؤال

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

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

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

  • بعد أن خلق .جرة أنا يدويا تحميله على الخادم عن طريق SFTP و اختبار ذلك مع شيء من هذا القبيل java -jar MyProject.jar.

نعم أنا لم أذكر أنني لا وحدة الاختبار ؟

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

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

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

آسف على مسألة طويلة.أعتقد سؤالي يتلخص بالنسبة الوحيد المطور, ما هي الأدوات والمنهجيات يمكن/يجب أن يكون باستخدام ليس فقط يجعل مهمتي أسهل ولكن أيضا فقط ان اعرض نفسي على بعض التقنيات التي يتوقع المعرفة المطلوبة في التطوير المتخصص المنزل ؟


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

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

المحلول

يبدو لي أن لديك بالفعل فكرة جيدة عن ما تحتاج إلى القيام به.

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

يمكنك دمج التخريب مع الكسوف باستخدام البرنامج المساعد مثل Subclipse التي وجدتها يعمل بشكل جيد جدا.

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

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

كما لاختبار وحدة - يمكنك بناء تدريجيا مع وحدة اختبار.أود أن أوصي باستخدام JUnit بالتعاون مع مدونة التغطية أداة مثل Cobertura (الذي هو من السهل اقامة) - أنها سوف تساعدك على فهم مقدار التعليمات البرمجية الخاصة بك الاختبارات التي تغطي هو مؤشر عن مدى فعالية الاختبارات الخاصة بك.

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

وبعبارة أخرى, كل هذا يبدو أنك على حق الخطوط تحتاج فقط إلى البدء باستخدام بعض من هذه الأدوات!

نصائح أخرى

إذا كنت حقا يقع على توزيع عنصر تحكم مصدر أنصحك بأن تنظر بازار.جيت لها-مثل توزيع "عنصر تحكم مصدر" التي تهدف حول أداء جودة عالية جدا يدمج.الخروج من مربع يعمل على جميع الأنظمة بما فيها ويندوز و لديهم TortoiseBZR العميل.

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

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

استخدام التحكم في الإصدار.الفترة.إس له رائعة إنترجريشن مع الكسوف ويندوز.الحصول على TourtisSVN العميل ويندوز واستخدام subclipse المساعد مع الكسوف.

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

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

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

ولكن تأكد من أن مجرد محاولة إس!إذا كانت شركتك لديها خادم لينكس مع اباتشي انظر إذا كان يمكنك إعداد الملقم الخاص بك هناك باستخدام DAV-SVN.

:)

أعتقد أنك أجبت على معظم الأسئلة الخاصة بك.

  • المصدر التحكم:اختيار SVN - سهلة التركيب ، التكامل مع عظيم الكسوف (subclipse).
  • استخدام النمل في بناء المشروع الخاص بك ونشرها (SCP/SFTP مهمة)
  • الحفاظ على كل ما تبذلونه من الإعدادات (الكسوف إعدادات المشروع ، بناء xmls ، إلخ.) في SVN.
  • استخدام بجزيلا لتتبع البق/مشاكل/طلبات/الأفكار.

وسيكون من المفيد جدا لبدء العمل مع التحكم في الإصدار.تبدأ الآن, لا تأخير!بوابة تتحرك بسرعة فعلا هناك بالفعل TortoiseGit التي يجري تطويرها.إس هو معيار للعمل مع.وأنا لم تكن قد عملت مع الزئبقي ، ولكن هذا هو آخر فكس الذي يستحق النظر فيه.

بخلاف ذلك, أنا لا أرى لماذا سير العمل الخاص بك يجب أن يكون enterprisey.فقط يجب أن تكون فعالة و مريحة.وقال أعتقد أن عليك أن تحاول العمل مع محرر نص بسيط و تجميع من سطر الأوامر.معظم من أفضل المبرمجين لا يزال استخدام هذا بدلا من IDE, وسوف تساعدك على فهم العمليات تحت المفضلة لديك IDE.

تحقق من عملي المبرمجين' عملي كاتب كيت.

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

وسوف تعطيك قاعدة صلبة للحفاظ على الذهاب من هناك.

نظرة @ مات Raible هو Appfuse.

وهو يتضمن مخضرم وحدة اختبار.

http://raibledesigns.com/rd/tags/appfuse

على الرغم من أن كنت وضعت على أنها شيء آخر ، أعتقد أنك يجب أن تبدأ باستخدام jUnit دون تأخير.

والسبب هو انه ربما أسهل من طموحات تحديد الأدوات تقريبا بالتأكيد بنيت بالفعل في الكسوف بناء.

إنشاء مجلد جديد في المشروع الخاص بك يسمى 'jUnit'.

دعونا نقول لديك موظف الدرجة ، setAnnualSalary() و getMonthlySalary() الأساليب.

انقر بزر الماوس الأيمن على jUunit مجلد جديد -> "jUnit حالة اختبار".وهذا سيجعل فئة جديدة.نسميها TestEmployee.الكسوف يولد النمطي الاشياء بالنسبة لك ، كالعادة.

إضافة طريقة الفراغ مع اسم بداية مع 'اختبار':

public void testSalaryCalc() {
    Employee emp = new Employee("John Doe");
    emp.setAnnualSalary(12000);
    assertEquals(1000,emp.getMonthlySalary());
}

الحق انقر فوق "تشغيل" -> "jUnit اختبار".(أول وقت الكسوف قد يطلب منك القيام ببعض الإعداد للمشروع.فقط تفعل ما تقول.)

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

تهانينا:أنت اختبار وحدة!

النقر بزر الماوس الأيمن على الدليل الأصل واختيار "تشغيل jUnit اختبار" سيتم تشغيل كل Testcase الدرجة في الدليل.في وقت لاحق يمكنك دمج jUnit في عملية الإنشاء ، ولكن لا تقلق بشأن ذلك الآن.

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

وبمجرد الانتهاء من إعداد الإصدار التحكم في عدد قليل من وحدة الاختبارات, وأود أن النظر المستمر تكامل server (أردت أن تكون enterprisey, أليس كذلك؟).

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

يمنحك هذا الضمان أن أنت (أو أي شخص آخر) غير قادرة على التحقق من التعليمات البرمجية الخاصة بك و بناء/تشغيل المشاريع الخاصة بك.

أنصح أن نلقي نظرة على هدسون

كما قال آخرون ، أنت بالفعل تعرف بوضوح ما تحتاج إلى القيام به.VCS أمر لا بد منه ، CI أو تتبع الأخطاء قد تكون مبالغة (واحد المطور جدول بيانات كافية عن تتبع الأخطاء).

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

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

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

إذا كنت تقوم بتشغيل Windows Server حيث تريد وضع خادم إس, استخدام البصرية SVN كما الملقم.فمن السوبر سهلة الإعداد والاستخدام ، وهو يدعم كل المصادقة الأساسية مصادقة windows.كما أنها حرة في استخدام.

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

كل التعليقات السابقة غطت تقريبا كل ما قد تحتاج من أي وقت مضى :-)

أريد أن أضيف نهج آخر على كيفية تطوير (تطوير سير العمل).

اقترح عليك قراءة المقالة التالية وعلى الرغم من أن هذا العمل بوابة يمكنك استخدام نفس الفكرة أي أداة أخرى قد تستخدم.

http://nvie.com/posts/a-successful-git-branching-model/

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