การควบคุมเวอร์ชัน
เนื่องจากคุณทำงานเป็นทีมคุณจะได้รับประโยชน์จากการแบ่งปัน ผู้สมัครของคุณคือ Git และ Mercurial ซึ่งหมายความว่าทีมของคุณสามารถมอบหมายงานในพื้นที่โดยไม่ต้องหยุดโครงการ แต่ยังคงติดตามงานของพวกเขาจากนั้นส่งการกระทำเหล่านี้ไปยังเซิร์ฟเวอร์กลาง นอกจากนี้ยังเร็วกว่ามากและมีข้อขัดแย้งในการผสานน้อยลงเนื่องจากมีการติดตามรหัสเป็นชุดการเปลี่ยนแปลงมากกว่าการแก้ไข อ่านแม้ว่าคู่มือ hginit (เขียนโดยผู้ร่วมก่อตั้งของ stack overflow ไม่น้อย) และคุณจะเข้าใจอีกเล็กน้อยเกี่ยวกับสิ่งที่ DVCS เป็น http://hginit.com/
คุณควรใช้ที่เก็บสำหรับการปรับใช้แทน rsync หรือ ftp
การทดสอบการพัฒนาที่ขับเคลื่อน
ขึ้นอยู่กับสิ่งที่คุณทำการทดสอบอาจเสียเวลามาก ฉันไม่ได้บอกว่าคุณควรข้ามมันไปโดยสมบูรณ์ หากคุณกำลังเขียนไลบรารีหรือโครงการขนาดใหญ่ในระยะยาว การทดสอบจะช่วยในขั้นตอนการบำรุงรักษา โปรดระวังว่า TDD ไม่สามารถหาข้อบกพร่องของคุณได้ทั้งหมด จะมีปัญหาประสบการณ์ผู้ใช้ปัญหาเลย์เอาต์ปัญหาประสิทธิภาพและอื่น ๆ
การดีบัก
Xdebug นั้นเป็นทางเลือกเดียวของคุณที่นี่ มันทำงานร่วมกันได้ดีกับ Netbeans หากคุณรู้สึกว่าจำเป็นต้องพิมพ์ตัวแปรออกมาคุณควรใช้ไฟล์บันทึก ใช้ฟังก์ชั่นบันทึกกรอบซึ่งมีความปลอดภัยมากในการผลิต
การวางแผน / ไดอะแกรม
หากคุณใช้กรอบงานที่ดีคุณไม่จำเป็นต้องทำไดอะแกรมแบบละเอียดมากเกินไป ทำให้มันง่ายและทำงานในรอบการเปิดตัวที่สั้นลงมันง่ายเกินแผน ข้อกำหนดและข้อกำหนดของโครงการมีความผูกพันกับการเปลี่ยนแปลงดังนั้นฉันจะไม่ใช้เวลาของคุณกับพวกเขา โปรดจำไว้ว่าข้อมูลจำเพาะของรหัส IS นั้นอยู่ในระดับที่ละเอียดที่สุด
ใช้เครื่องมือติดตามบั๊กของคุณ (ดูด้านล่าง) เพื่อแยกสเปคเป็นงานที่คุณสามารถมอบหมายให้สมาชิกในทีม ใช้เครื่องมือกลางเพื่อจัดทำเอกสารโครงการตัวติดตามบั๊กอาจมีวิกิ
คุณสามารถใช้เครื่องมือเช่น Mysql Workbench เพื่อออกแบบสกีมาฐานข้อมูลในไดอะแกรมและส่งออกเป็น SQL
กรอบและ OOP
นี่อาจเป็นส่วนที่สำคัญที่สุด พบว่าคุณเป็นกรอบที่ได้รับความนิยมซึ่งจะสนับสนุนการพัฒนาอย่างรวดเร็วและการนำโค้ดกลับมาใช้ใหม่ บางคนไม่ชอบฉันพูดแบบนี้ แต่กรอบควรกำหนดวิธีการที่คุณทำงาน ควรจัดเตรียมโครงสร้างเพื่อให้ผู้พัฒนารายหนึ่งสามารถสลับโครงการและทราบได้อย่างแม่นยำว่าตัวควบคุมสำหรับหน้าบางหน้าคืออะไรแน่นอนว่าตัวแปรเทมเพลตคืออะไรและวิธีการสอบถามโมเดล เฟรมเวิร์กบางตัวให้ความยืดหยุ่นมากเกินไปที่นี่และคุณจะพบว่านักพัฒนาไม่ได้ใช้เฟรมเวิร์กในลักษณะเดียวกัน ฉันชอบปรัชญาหลาม ควรมีวิธีที่ชัดเจนในการทำทุกอย่าง นี่คือเหตุผลที่ฉันชอบ django และทางรถไฟพวกเขามีความเห็นค่อนข้างมากและนั่นหมายความว่าฉันสามารถดูรหัสของคนอื่นและเข้าใจสิ่งที่มันทำ Symfony ดูเหมือนตัวเลือกที่ดีที่สุดที่นี่
มีคำถามมากมายเกี่ยวกับสแต็กโอเวอร์โฟลว์เช่นนี้:
/programming/2648/what-php-framework-would-you-choose-for-a-new-application-and-why
การติดตามข้อผิดพลาด
ทำให้ทีมของคุณมีตัวติดตามบั๊กที่ดีซึ่งสร้างขึ้นสำหรับนักพัฒนา อย่าใช้สิ่งที่ง่ายกว่าเช่น basecamp Redmine และ Unfuddle เป็นสองตัวอย่างของตัวติดตามบั๊กที่ยอดเยี่ยมพวกเขายังสามารถติดตามเวลาและรวมเข้ากับที่เก็บข้อมูลของคุณ ทีมของคุณควรใช้เครื่องมือนี้เพื่อสื่อสารในปัญหามากกว่าอีเมลหรือ IM ทำให้นักพัฒนาใหม่ง่ายขึ้นเมื่อมีประวัติข้อผิดพลาดและเอกสารที่มีอยู่ บทความนี้จะอธิบายสิ่งที่เครื่องติดตามบั๊กที่ดีต้องทำและทำไม http://www.joelonsoftware.com/articles/fog0000000029.html