สิ่งใดที่คุณจะพิจารณาเครื่องมือเวิร์กโฟลว์การปฏิบัติที่ดีที่สุดสำหรับการพัฒนาโปรแกรมประยุกต์บนเว็บ (PHP) [ปิด]


18

ฉันหวังว่าบางคนที่มีประสบการณ์มากขึ้นสามารถแก้ไขคำถามตามตัวอย่างคำตอบของฉัน:

  • ใช้การควบคุมเวอร์ชัน
  • การทดสอบการพัฒนาขับเคลื่อน
  • รหัสการแก้จุดบกพร่อง (xdebug สำหรับ php)
  • การใช้ไดอะแกรม UML
  • การใช้ OOP สำหรับรหัสที่สามารถบำรุงรักษาได้
  • ใช้เฟรมเวิร์ก (เช่น Zend Framework สำหรับ php) สำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว

มีอะไรอีกหรืออธิบายเพิ่มเติมเกี่ยวกับสิ่งที่ฉันได้กล่าวถึงข้างต้น

โดยพื้นฐานแล้วฉันกำลังตั้งทีมนักพัฒนา (ฉันเป็นนักพัฒนาเอง) และฉันต้องการคำแนะนำว่าโปรแกรมเมอร์ / นักออกแบบมืออาชีพควรทำงานร่วมกันอย่างไรและควรใช้มาตรฐาน / กระบวนทัศน์ใด

นอกจากนี้หากใครมีหนังสือหรือลิงค์ในเรื่องฉันก็ยินดีด้วย!

ฉันพบสิ่งนี้ซึ่งฉันเดาว่าเป็นไปตามที่ฉันต้องการหรืออย่างน้อยก็ส่วนหนึ่ง:

http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html

คำตอบ:


9

ใช้การควบคุมเวอร์ชัน

SVN นั้นเป็นเรื่องธรรมดามาก แต่ Mercurial นั้นหล่อเหลาและทรงพลังมากกว่า

การทดสอบการพัฒนาขับเคลื่อน

ดีถ้าคุณทำการทดสอบหน่วยคุณอยู่ในด้านที่ชนะ สำหรับเครื่องมือมันเป็นเรื่องของการเลือก การทดสอบจะต้องง่ายที่สุดเท่าที่เป็นไปได้นั่นคือเหตุผลที่ฉันทิ้ง PHPUnit สำหรับ SimpleTest

รหัสการแก้จุดบกพร่อง

ด้วยการทดสอบหน่วยคุณแทบจะไม่ต้องการ xdebug ฉันใช้ xdebug ปกติสำหรับการทำโปรไฟล์เท่านั้น (ตรวจสอบ KCachegrind btw)

การใช้ไดอะแกรม UML

ปัญหาที่ใหญ่ที่สุดของทุกสิ่งที่สะท้อนถึงรหัสลอจิกคือมันเป็นงานที่ต้องทำข้อมูลให้ตรงกัน คุณสามารถทำงานบางอย่างโดยอัตโนมัติ แต่ก็ไม่มีประโยชน์เพราะคุณมักจะต้องการใช้ uml ก่อนที่คุณจะมีอะไร ปัญหาอื่น ๆ คือเครื่องมือไดอะแกรมนั้นใช้งานยากกว่าปากกาและกระดาษหรือไวท์บอร์ด ใช้ uml ถ้าคุณต้องสื่อสารปัญหากับผู้พัฒนาหลายคนหรือถ้าคุณต้องการความคิดของคุณเอง ("dia" เป็นเครื่องมือฟรีที่ดีนอกจากนี้เครื่องมือการทำแผนที่ความคิดมีประโยชน์อย่างมากสำหรับการระดมสมองซึ่งบางอันสามารถแข่งขันกับปากกาและกระดาษได้จริง ๆ )

การใช้ OOP สำหรับรหัสที่สามารถบำรุงรักษาได้

โอ๊ะทำงานได้ในระดับหนึ่ง :) คำแนะนำที่ดีอย่างหนึ่ง: องค์ประกอบ> การสืบทอด การสืบทอดเป็นเครื่องมือที่มีประสิทธิภาพในการนำกลับมาใช้ใหม่ตั้งแต่แรกเห็น คำแนะนำที่ดีอันดับสอง: การบำรุงรักษา> ใช้ซ้ำ ระบบนามธรรมสามารถมีประสิทธิภาพมาก แต่ก็ยากที่จะรักษา

ใช้เฟรมเวิร์ก (เช่น Zend Framework สำหรับ php) สำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว

RAD เป็นสิ่งที่ดีที่จะทำให้แอปของคุณออกมาก่อน แต่ส่วนประกอบบางอย่างโดยเฉพาะอย่างยิ่ง ORM จะยิงเท้าของคุณอย่างน้อยถ้ามันเกี่ยวกับความยืดหยุ่น ปัญหาสำคัญที่นี่คือคุณผูกตรรกะโดเมนของคุณเพื่อทำงานกับวัตถุซึ่งกลายเป็นเรื่องยากมากที่จะแยกออกหากคุณต้องการโซลูชั่นที่ปรับขนาดฐานข้อมูลบริสุทธิ์ ระวังสิ่งนั้นและสนับสนุนให้นักพัฒนาของคุณใช้ฐานข้อมูลโดยไม่มีเลเยอร์นามธรรมในระดับสูง ฐานข้อมูลนามธรรมเป็นตำนาน orm เป็นเรื่องโกหก

จูบ

ผู้มาใหม่มักจะต้องการใช้แนวทางปฏิบัติที่ดีที่สุดทั้งหมดเหล่านั้นตั้งค่ามาตรฐานการเข้ารหัสใช้โซ่เครื่องมือที่ดีไม่ว่าอะไรก็ตาม มันใช้งานได้สำหรับนักพัฒนาซอฟต์แวร์บางคน แต่บางคนอาจพบเจอกับการปิดกั้นทางจิตใจหากสิ่งที่เข้มงวดเกินไป การทดสอบหน่วยและ scm เป็นสิ่งที่จำเป็นจริงๆ แต่มีคนใหม่ ๆ ที่จำเป็นต้องเรียนรู้การทดสอบหน่วยก่อนที่เขาจะรักมัน อย่าหักโหมใช้ขั้นตอนการปฏิบัติอย่างเป็นขั้นตอนและดูว่ามันทำงานอย่างไร จูบยังเดือดลงรหัส บางครั้งวิธีที่ดีที่สุดในการแก้ปัญหาที่ยากคือการแก้ผิด คุณต้องการอัลกอริทึมการแยกแบบหกองศาหรือไม่? เพียงแค่เลือกเพื่อนที่สุ่ม คุณสามารถสร้างแอปพลิเคชันที่สมบูรณ์รอบ ๆ ด้วยตรรกะที่ผิด หากในที่สุดลูกค้าตัดสินใจที่จะทิ้งทุกคนประหยัดเงินเป็นจำนวนมาก

เปรียว

เรียนรู้เกี่ยวกับวิธีการแบบว่องไวการเขียนโปรแกรมขั้นสูงการต่อสู้และอื่น ๆ มีหนังสือมากมาย หนังสือเล่มใดจะทำให้ทีมของคุณดีขึ้น แต่มันเป็นการดีที่สุดที่จะทำให้เพื่อนร่วมทีมทุกคนเข้าร่วม


1
คำตอบที่ยอดเยี่ยม! ขอบคุณ +150 ตัวแทนสำหรับคุณคุณ! อย่าลังเลที่จะเพิ่มสิ่งใดในโพสต์ตามที่จะปรากฏที่ด้านบนของหน้าภายใต้คำถาม สิ่งต่าง ๆ เช่น @TODO ในรหัสการแสดงความคิดเห็นและซอฟต์แวร์เอกสารเป็นต้น
Damien Roche

2
  • การควบคุมเวอร์ชัน:ถ้าบน windows TortoiseSVN นั้นดีที่สุดใช้งานง่ายและง่ายที่สุดในการใช้งาน

  • กรอบ: CodeIgniter Hands on แพลตฟอร์มพัฒนาเว็บไซต์ที่ดีที่สุดสำหรับ PHP

  • IDE: Netbeans เป็น IDE ที่ดีที่สุดสำหรับ PHP ที่ฉันใช้บน windows

  • การทดสอบหน่วย:มีหลายตัวเลือกการค้นหาของ Google จะปรากฏขึ้นมากมาย CodeIgniter ยังมีเครื่องมือทดสอบหน่วยของตนเองอีกด้วย

  • ดีบักเกอร์: Xdebug

  • Javascript Library: Jquery

  • โปรแกรม FTP: FileZilla

  • การบริหารฐานข้อมูล: PhpMyAdmin

  • Wireframing: Balsimus Mockup หรือใช้ไวท์บอร์ด

  • อื่น ๆ :ใช้ WAMP หากบน windows เพื่อให้สามารถติดตั้งเริ่มหยุด & เริ่มใหม่ apache, mysql และ php ทั้งหมดในแพ็คเกจเดียว

นอกจากนี้หากคุณกำลังจะทำงานในเว็บไซต์ที่แตกต่างกันและส่วนใหญ่ของเว็บไซต์เหล่านั้นจะมีฟังก์ชั่นทั่วไปบางอย่างเช่นการลงทะเบียนเข้าสู่ระบบ / ออกจากระบบส่วนผู้ดูแลระบบสำหรับการค้นหาผู้ใช้ ฯลฯ ผมขอแนะนำให้สร้างโครงการขนาดเล็ก คุณเลือกและใช้โครงการนั้นเป็นฐานสำหรับทุกโครงการใหม่ที่คุณเริ่ม ปกติฉันเรียกโครงกระดูกนี้ว่า 'โครงกระดูก' ถ้าฉันจะเริ่มทำงานกับ xyz.com ฉันจะคัดลอกไดเรกทอรีโครงกระดูกและเปลี่ยนชื่อเป็น 'xyz.com' เติมไฟล์กำหนดค่าบางไฟล์และฉันจะมีสำเนาของ xyz.com พร้อมด้วยคุณสมบัติบางอย่าง ทำงานแล้ว


1
หลังจากอ่านโพสต์นี้และเห็นว่าฉันใช้รายการแนะนำหลายอย่างฉันตัดสินใจลอง Netbeans IDE ทุกคนสามารถแนะนำปลั๊กอินใด ๆ ที่คุ้มค่าที่จะใช้กับมันสำหรับการพัฒนา PHP / Codeigniter หรือไม่? นอกจากนี้มันสามารถทำงานได้ดีกับ Wampserver หรือไม่
Gortron

1
@Gortron ฉันใช้ netbeans กับ codeigniter มีเครื่องมือเติมข้อความอัตโนมัติสำหรับ codeigniter / netbeans: rhasan.com/blog/2009/09/codeigniter-auto-complete-with-netbeans PHP เป็นภาษายูนิกซ์ที่หัวใจจริงๆและการพัฒนาบนเครื่องเสมือน linux เป็นความคิดที่ดี ยังหลีกเลี่ยงการโค่นล้มมันเป็นปี 2010 ใช้สิ่งที่แจกจ่าย (git, hg, bzr) hginit.com
Keyo

Framework: CodeIgniter. Hands on the best web development platform for PHP.นี่ค่อนข้างตรงไปตรงมาเป็นเรื่องไร้สาระ หากคุณเคยใช้ symfony, รางหรือ django คุณจะพบปัญหาที่สำคัญบางอย่าง ไม่มีโครงสร้างไดเร็กทอรีแบบแยกส่วนไม่มีอินเตอร์เฟสบรรทัดคำสั่ง จากนั้นคุณมีองค์ประกอบหลักเช่นรูปแบบและแบบจำลองที่ใช้รหัสเป็นจำนวนมาก หากคุณรู้ว่ารูปแบบซอฟต์แวร์ใด ๆ เลยคุณจะเห็นว่า Codeigniter นั้นใหญ่มาก อย่างน้อยที่สุดก็ใช้ Kohana ซึ่ง CI เป็นทางแยกและทำอย่างถูกต้องหลังจากที่ชุมชนเสียชีวิต
Keyo

หากคุณใช้ Windows ฉันจะแนะนำ SQLyog (มีรุ่นชุมชน ) แทน phpMyAdmin ฉันไม่เคยพบว่ามีการเปลี่ยนที่ดีสำหรับ SQLyog บน Linux ซึ่งเป็นความอัปยศ ...
คณบดีฮาร์ดิ้ง

1
@keyo ขอบคุณสำหรับลิงค์ ฉันได้เพิ่มเครื่องมือเติมข้อความอัตโนมัติให้กับ Netbeans ซึ่งมีประโยชน์มากสำหรับโครงการที่มีฟังก์ชั่นมากมายในโมเดล ฉันไม่คิดว่าฉันจะเปลี่ยนจาก SVN เพียง แต่ฉันเป็นเพียงกองทัพ 1 ไม่จำเป็นสำหรับระบบการกระจายในขณะที่ฉันคิด
Gortron

2

ฉันเห็นด้วยกับโพสต์ของ Click Upvote เป็นส่วนใหญ่ แต่ถ้าคุณทำงานในไซต์ที่ค่อนข้างใหญ่ฉันขอแนะนำให้ใช้ Symfony framework ควบคู่กับ Doctrine ORM

หากคุณคาดว่าโครงการจะครบกำหนดในปีหน้าฉันจะใช้เวลาในการลงทุนใน Symfony2 และ Doctrine2

นอกจากนี้ฉันไม่สามารถเครียดพอที่ความสำคัญของการพัฒนาบนระบบยูนิกซ์ Ubuntu คือการตั้งค่าของฉันและเว็บเซิร์ฟเวอร์ที่ยอดเยี่ยม ฉันทำงานบน windows เป็นหลัก แต่พัฒนาบน Ubuntu ที่ทำงานในเครื่องเสมือน VMWare บนเดสก์ท็อปของฉัน (หรือเซิร์ฟเวอร์เมื่อฉันทำงาน)

สำหรับ IDE ฉันขอแนะนำให้ใช้ NuSphere PHPEd หรือ Storm PHP น่าเศร้าที่เหมือนกับสิ่งที่ยอดเยี่ยมทั้งหมดที่พวกเขาไม่ได้ฟรี


+1 สำหรับ ORM ฉันใช้เวลานับไม่ถ้วนในการเขียนแบบสอบถามสำเร็จรูปใน codeigniter
Keyo

PHP ดีขึ้นมากในระบบที่ใช้ Linux โดยเฉพาะอย่างยิ่งถ้าคุณเคยต้องการที่จะใช้ปลั๊กอิน C-based (libmemcached หรือ ImageMagick มาใจ)
คณบดีฮาร์ดิ้ง

สิ่งที่ยอดเยี่ยมบางอย่างฟรีแล้วลินุกซ์ล่ะ?
dan_waterworth

0

การใช้แผนภาพ UML นั้นดีแต่ไม่บังคับทั้งหมด ไดอะแกรมใด ๆ ที่จะทำตราบเท่าที่ทีมของคุณเข้าใจความหมายของมัน พยายามใช้มาตรฐานไม่มีใครรู้ดีจริง ๆ อาจนำไปสู่ปัญหาและเสียเวลา

ฉันขอแนะนำให้เริ่มต้นแต่ละหน้าจาก mockup ( http://balsamiq.com ) หรือให้นักออกแบบของคุณวาดมันให้คุณ อย่าคาดหวังว่านักพัฒนาซอฟต์แวร์จะเก่งด้านทัศนศิลป์และสร้างเพจที่ดีออกไป

มีคนที่ได้รับมอบหมายให้ทำหน้าที่ตรวจสอบโค้ดหากคุณมีสมาชิกในทีม Seniour หลายคน - ให้พวกเขาทำรีวิวในการหมุน ( คณะกรรมการตรวจสอบ )


0

เมื่อต้องทำงานกับความร่วมมือคุณต้อง:

•ใช้การควบคุมเวอร์ชัน: ฉันคิดว่า Git หรือ Subversion จะทำงานได้ค่อนข้างราบรื่น

•การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ: ฉันเริ่มที่จะเรียนรู้ว่าสิ่งนี้เป็นสิ่งที่ต้องทำ แต่ไม่ควรทำอย่างสุดขั้ว

•รหัสการดีบัก (xdebug สำหรับ php): xdebug เป็นตัวเลือกของฉัน

•การใช้ไดอะแกรม UML: สิ่งนี้จะช่วยให้เมื่อทุกคนมีความรู้ในการทำงานของ OO Programming และ DesignPatterns อย่างไรก็ตามมันก็เป็นแนวปฏิบัติที่ดีเสมอ

•การใช้ OOP สำหรับรหัสที่สามารถบำรุงรักษาได้และนำกลับมาใช้ใหม่ได้: และความยืดหยุ่นฉันคิดว่านี่เป็นสิ่งสำคัญของ OOP

•การใช้เฟรมเวิร์ก (เช่น Zend Framework สำหรับ php) สำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว: My Advise คือ SYMFONY ซึ่งเป็นเฟรมเวิร์ก php แรก (ไม่ใช่ชุดเครื่องมือ) มันมีขนาดใหญ่มาก commnunity เอกสารจำนวนมากและดำเนินการทั้งหมดใน php ฉันทำงานกับมันมาหนึ่งปีแล้วและมันก็เชื่อมโยงกับ OOP ทั้งหมด

•คุณอาจจำเป็นต้องมีระบบในการติดตามข้อบกพร่องคำขอคุณลักษณะอื่น ๆ ที่ชอบ: ตั๊กแตนตำข้าวหรือติดตาม ระบบนี้ค่อนข้างง่ายและตรงไปตรงมา นอกจากนี้ยังช่วยให้คุณผูกการโค่นล้มและเชื่อมโยงการกระทำของคุณกับคุณสมบัติหรือข้อบกพร่องบางอย่างที่คนโพสต์

ท้ายที่สุดมันเป็นสิ่งสำคัญเสมอหากคุณกำลังจะนำทีมผู้พัฒนาเพื่อทำการประชุมเล็ก ๆ เป็นระยะเพื่อให้ทุกคนรู้สถานะของระบบในบางจุดและบางทีคุณอาจมีความสามารถในการวางแผนหรือดูว่าสิ่งต่าง ๆ ทำงานอย่างไร

ใน บริษัท ของฉันฉันต้องส่งอีเมลทุกวันเพื่อบอกสิ่งที่ฉันกำลังทำอยู่และหากมีปัญหาใด ๆ

ขอให้โชคดี!


0
  • Framework : codeigniter ไม่ต้องสงสัยเลย มันมีฟังก์ชั่นทั้งหมดที่คุณอาจเคยต้องการและไม่ได้บังคับให้คุณใช้งานใด ๆ ของพวกเขาจนกว่าคุณจะต้องการมัน;
  • การควบคุมเวอร์ชัน, IDE : ฉันค่อนข้างแก่แล้วและฉันไม่คิดว่าคำตอบของฉันจะช่วยคุณได้จริงๆ
  • Wireframing, UML : โรงเรียนเก่าในเรื่องนี้ แต่จริงๆแล้ว: กระดานไวท์บอร์ดชนะ มันยืดหยุ่นขยายได้และรองรับการประชุมใด ๆ ที่คุณเห็นว่าเหมาะสม
  • การบริหารฐานข้อมูล : phpmyadmin;
  • เซิร์ฟเวอร์สำหรับการพัฒนาระบบปฏิบัติการ : ฉันอาจติดขัด แต่: Ubuntu ติดตั้งเซิร์ฟเวอร์ LAMP ในไม่กี่วินาที อย่าตื่นตระหนกเกี่ยวกับการเพิ่มไลบรารี่ใหม่ (คำสั่งหวือหวา: หนึ่งคำสั่ง, เสร็จแล้ว); ถ้าคุณชอบ PHP คุณอาจจะต้องลงเอยด้วยการทำงานบนเซิร์ฟเวอร์ Linux ในการผลิตดังนั้นจึงเป็นการดีกว่าที่จะเริ่มฝึก (ข้อจำกัดความรับผิดชอบ: Ubuntu ไม่ใช่การกระจายที่ฉันโปรดปราน)
  • อื่น ๆ : grep มีประโยชน์อย่างไม่น่าเชื่อเมื่อทำการดีบั๊กโค้ดของ poeople อื่น ๆ (อยากรู้ว่ามีคอนโทรลเลอร์กี่ตัวที่ใช้โมเดลที่กำหนดหรือไม่เสร็จ!)

แก้ไข

ฉันลืมสิ่งที่สำคัญที่สุด: รายละเอียด เขียนรายละเอียดที่แท้จริงสำหรับโครงการของคุณก่อนที่จะแตะรหัสใด ๆ มีไดอะแกรมการโต้ตอบผู้ใช้ทั้งหมดไว้ในใจ มันจะช่วยให้คุณประหยัดหลายศตวรรษ


0

การควบคุมเวอร์ชัน เนื่องจากคุณทำงานเป็นทีมคุณจะได้รับประโยชน์จากการแบ่งปัน ผู้สมัครของคุณคือ 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


0

ฉันขอแนะนำให้ดูที่ Bazaar สำหรับการควบคุมเวอร์ชัน เมื่อเปรียบเทียบกับ Git แล้วมีข้อได้เปรียบที่สำคัญคือใช้งานง่ายและติดตั้งบน Windows, Mac OS และ Linux นอกจากนี้คำสั่ง bzr นั้นคล้ายคลึงกับ svn มากดังนั้นบางคนที่เคยทำงานกับ Subversion มาก่อนจึงสามารถใช้ Bazaar ได้โดยไม่ต้องมีการเรียนรู้มากนัก ฉันกำลังมองคุณ Git

นอกเหนือจากที่ฉันเป็นผู้ศรัทธาที่แข็งแกร่งในการไม่บังคับอะไรกับนักพัฒนาของคุณ ผึ้งที่กล่าวว่าให้พวกเขาใช้ IDE ระบบปฏิบัติการและอื่น ๆ ที่พวกเขาต้องการ

นอกจากนั้นฉันขอแนะนำให้คุณทำการทดสอบแบบ wirte สำหรับโค้ดทั้งหมดของคุณไม่ว่าจะน่าเบื่อเพียงใด

การตัดสินใจหรือขัดต่อกรอบการทำงานไม่ใช่สิ่งที่คุณสามารถทำได้ตามคำแนะนำที่ทำไว้ที่นี่ ฉันขอแนะนำให้คุณเขียนรายชื่อที่มีแนวโน้มจะให้คุณตามคุณสมบัติของพวกเขาแล้วเขียนแอปทดสอบขนาดเล็กลงในทุก ๆ แอป (เขียนเหมือนกันทุกครั้ง)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.