วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

1
การจัดระเบียบรหัสแอปพลิเคชัน Zend หลายรายการ
สำหรับปีที่ผ่านมาฉันได้ทำงานกับชุดของแอปพลิเคชันทั้งหมดตามกรอบ Zend และเน้นที่ตรรกะทางธุรกิจที่ซับซ้อนซึ่งแอปพลิเคชันทั้งหมดต้องเข้าถึงได้แม้ว่าจะไม่ได้ใช้ทั้งหมด (ง่ายกว่าการมีโฟลเดอร์ไลบรารีหลายโฟลเดอร์สำหรับแต่ละโฟลเดอร์ แอปพลิเคชันที่เชื่อมโยงทั้งหมดกับศูนย์ส่วนกลาง) โดยไม่ต้องลงรายละเอียดมากนักเกี่ยวกับโครงการที่เฉพาะเจาะจงฉันกำลังมองหาข้อมูล (ขณะที่ฉันกำลังทำงานในโครงการเพียงอย่างเดียว) ว่าฉันมี "จัดกลุ่ม" รหัสของฉันอย่างไร ฉันได้พยายามแยกมันออกมาในลักษณะที่จะลบการพึ่งพาได้มากที่สุด ฉันพยายามที่จะเก็บมันไว้อย่างอิสระเท่าที่ฉันจะทำได้อย่างมีเหตุมีผลดังนั้นในเวลา 12 เดือนเมื่อเวลาของฉันเพิ่มขึ้นใครก็ตามที่เข้ามาไม่มีปัญหาในการขยายสิ่งที่ฉันสร้างขึ้น โครงสร้างตัวอย่าง: applicationStorage\ (contains all applications and associated data) applicationStorage\Applications\ (contains the applications themselves) applicationStorage\Applications\external\ (application grouping folder) (contains all external customer access applications) applicationStorage\Applications\external\site\ (main external customer access application) applicationStorage\Applications\external\site\Modules\ applicationStorage\Applications\external\site\Config\ applicationStorage\Applications\external\site\Layouts\ applicationStorage\Applications\external\site\ZendExtended\ (contains extended Zend …

5
กำหนดค่าระดับ / โครงสร้าง: รูปแบบหรือรูปแบบต่อต้าน? ทางเลือก?
หากคุณเพิ่มตัวเลือกการกำหนดค่าใหม่ให้กับโปรแกรมมันมักจะมีเอฟเฟ็กต์ระลอกคลื่นจำนวนมากในแง่ของการรับตัวเลือกไปยังตำแหน่งที่จำเป็นต้องดำเนินการ มีสามวิธีพื้นฐานในการจัดการกับสิ่งนี้ที่ฉันรู้: ส่งการตั้งค่าทั้งหมดไปยังส่วนต่าง ๆ ของโปรแกรมของคุณที่ต้องการการตั้งค่าพื้นฐาน นี่คือวิธีที่ชัดเจนที่สุดและวิธีที่แยกสิ่งต่าง ๆ ออกมามากที่สุด ข้อเสียคือว่านี่เป็นทั้ง verbose และเปราะ ทำให้การตั้งค่าการกำหนดค่าที่ใช้บ่อยที่สุดคือ global / static นี่เป็นวิธีที่ง่ายที่สุด แต่แนะนำให้ดำเนินการในระยะไกลเป็นอุปสรรคต่อการทดสอบและถือว่าการกำหนดค่านั้นเป็นระดับโลกอย่างแท้จริง (ซึ่งคุณต้องการเพียงหนึ่งการกำหนดค่าในเวลาที่กำหนด) สร้างคลาสการกำหนดค่า / โครงสร้างที่มีตัวเลือกการกำหนดค่าทั้งหมดสำหรับโปรแกรมทั้งหมดหรือสำหรับข้อกังวลหลัก ๆ ภายในโปรแกรมจากนั้นส่งผ่านสิ่งนี้อย่างชัดเจน สิ่งนี้ชัดเจนน้อยกว่า (1) แต่ชัดเจนกว่า (2) หากคุณต้องการเปลี่ยนการตั้งค่าสำหรับการเรียกใช้ฟังก์ชั่นเดียวคุณสามารถโคลนวัตถุกำหนดค่าและเปลี่ยนค่านี้ได้ สิ่งนี้มีประโยชน์ทั้งในการทดสอบและในทางปฏิบัติ อย่างไรก็ตามคุณยังคงสามารถส่งข้อมูลจำนวนมากไปยังฟังก์ชั่นที่ไม่ต้องการและเปลี่ยนค่าในคลาส / โครงสร้าง config ยังสามารถทำให้เกิดการกระทำที่ระยะไกล คุณจะพิจารณา (3) รูปแบบหรือรูปแบบการต่อต้านหรือไม่? หากเป็นรูปแบบการต่อต้านคุณจะทำอย่างไรแทน

4
ตรรกะทางธุรกิจเป็นของเซิร์ฟเวอร์หรือไม่
สแต็กทั่วไปสำหรับเว็บแอ็พพลิเคชันคือฐานข้อมูลเซิร์ฟเวอร์ที่มีโค้ดฝั่งเซิร์ฟเวอร์และผู้ใช้ที่มีเบราว์เซอร์ที่มี HTML / CSS / JavaScript ก่อนที่จะ AJAX ที่กว้างขวาง MVC ซึ่งคอนโทรลเลอร์เป็นโค้ดฝั่งเซิร์ฟเวอร์ rulled เซิร์ฟเวอร์ต้องกำหนดเส้นทางการร้องขอคำตอบสำหรับหน้าเว็บแบบไดนามิก (เช่นโซลูชัน html templated เช่น JSP และ ASP) เซิร์ฟเวอร์เพื่อประสานการโทรไปยังฐานข้อมูลและตัดสินใจว่าจะใช้เพจแบบไดนามิกใดเพื่อตอบคำขอหน้า ผลลัพธ์ทั้งหมดนี้คือเซิร์ฟเวอร์นั้นมีตรรกะทางธุรกิจแม้ว่าตรรกะทางธุรกิจจะไม่เชื่อมโยงกับแนวคิดในการแสดงหน้าเว็บ ตอนนี้เรากำลังจะย้ายไปที่ "Web 2.0" เซิร์ฟเวอร์คงที่หน้าเซิร์ฟเวอร์ที่ใช้ JavaScript เพื่อเติมเต็มตัวเองและเปลี่ยนสิ่งที่พวกเขากำลังนำเสนอ สามารถอยู่ใน JavaScript JavaScript มักจะใช้บริการ RESTful ซึ่งหมายความว่าจะระบุแบบสอบถามฐานข้อมูล ดังนั้นเซิร์ฟเวอร์จึงอยู่ในบทบาทของการให้บริการไฟล์จริงและรับสาย AJAX และการตอบรับการโทร AJAX เป็นเพียงการจัดการเซสชันและให้ความปลอดภัย และจริงๆแล้วสิ่งที่ผู้ใช้ควรจะเห็นก็คือข้อมูลที่ควรระบุในฐานข้อมูล ดังนั้นจากที่นั่นเซิร์ฟเวอร์ควรถูกผลักไสให้เข้ากับบทบาทของคนกลางที่โง่เง่าที่บางครั้งจะทำอะไรบางอย่างเช่นส่งอีเมลออกไปหรือดับเว็บเซอร์? ตรรกะทางธุรกิจทั้งหมดอยู่ใน JavaScript (เมื่อไม่เป็นความลับ) หรืออยู่ในกระบวนงานที่เก็บไว้เมื่อเป็นเช่นนั้นหรือไม่ มันจะสมเหตุสมผลหรือไม่ที่จะรวมเซิร์ฟเวอร์และฐานข้อมูลหรือสร้างโซลูชัน ERP เช่นฟังก์ชัน SAP เป็นเซิร์ฟเวอร์

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

1
การใช้เท็มเพลตกระบวนการสร้างบิลด์ (เวิร์กโฟลว์) สำหรับการปรับใช้
ฉันกำลังคิดถึงการใช้ TFS Build เวิร์กโฟลว์สำหรับการปรับใช้ที่ซับซ้อน เรามีบางอย่างที่อาจจำเป็นต้องปรับใช้: เว็บแอปพลิเคชันและบริการ ฐานข้อมูล รายงาน SSRS แพ็คเกจ SSIS ใครจะรู้อะไรอีก ฉันชอบความจริงที่ว่าฉันสามารถให้เวิร์กโฟลว์พารามิเตอร์พื้นฐานบางอย่างเช่นที่สร้างเพื่อปรับใช้และมันก็จะทำงาน อาจเป็นไปได้บางส่วนอาจต้องได้รับการอนุมัติจากมนุษย์และฉันรู้ว่าเวิร์กโฟลว์สามารถรองรับได้เช่นกัน ตัวอย่างคือเราอาจใช้เวิร์กโฟลว์เพื่อสร้างสคริปต์การเปลี่ยนแปลงจากโครงการฐานข้อมูล Visual Studio ของเรา แต่กลุ่ม DBA จะต้องการอนุมัติสคริปต์ก่อนที่จะรัน ฉันสนใจที่จะรู้ว่าคนอื่น ๆ เคยใช้ "งานสร้าง" สำหรับสิ่งนี้ในอดีตหรือไม่และพบปัญหาอะไรบ้าง

3
เราต้องการข้อมูลการทดสอบหรือเราสามารถพึ่งพาการทดสอบหน่วยและการทดสอบด้วยตนเองได้หรือไม่?
ขณะนี้เรากำลังทำงานในโครงการ PHP / MySQL ขนาดกลาง / ใหญ่ เราทำการทดสอบหน่วยด้วย PHPUnit & QUnit และเรามีผู้ทดสอบเต็มเวลาสองคนที่ทำการทดสอบแอปพลิเคชันด้วยตนเอง ขณะนี้ข้อมูลการทดสอบ (จำลอง) ของเราสร้างขึ้นด้วยสคริปต์ SQL เรามีปัญหากับการบำรุงรักษาสคริปต์สำหรับข้อมูลการทดสอบ ตรรกะทางธุรกิจค่อนข้างซับซ้อนและการเปลี่ยนแปลง "ง่าย" หนึ่งครั้งในข้อมูลการทดสอบมักจะสร้างข้อบกพร่องหลายอย่างในแอปพลิเคชัน (ซึ่งไม่ใช่ข้อผิดพลาดจริง นี่เป็นภาระใหญ่สำหรับทั้งทีมเพราะเราสร้างและเปลี่ยนแปลงตารางอย่างต่อเนื่อง ฉันไม่เห็นจุดของการบำรุงรักษาข้อมูลการทดสอบในสคริปต์เพราะทุกอย่างสามารถเพิ่มได้ด้วยตนเองในแอปพลิเคชันในเวลาประมาณ 5 นาทีด้วย UI PM ของเราไม่เห็นด้วยและกล่าวว่าการมีโครงการที่เราไม่สามารถนำไปใช้กับข้อมูลทดสอบได้นั้นถือเป็นการปฏิบัติที่ไม่ดี เราควรละทิ้งการบำรุงรักษาสคริปต์ด้วยข้อมูลทดสอบและให้ผู้ทดสอบทดสอบแอปพลิเคชันโดยไม่มีข้อมูลหรือไม่ วิธีปฏิบัติที่ดีที่สุดคืออะไร

3
การค้นพบสำหรับนักพัฒนาเป็นปัญหาเมื่อใช้หลักการของ SOLID หรือไม่?
ฉันทำแอพทางธุรกิจที่นักพัฒนาคนอื่น ๆ ทั้งหมดคุ้นเคยกับการทำแอพพลิเคชั่น CRUD ขั้นพื้นฐานหรือมุ่งเน้นไปที่การสร้างอินเทอร์เฟซที่สวย / ใช้งานได้เพียงอย่างเดียว "ด้วยวิธีที่เราใช้ทำพนักงานจะมีทุกสิ่งที่คุณสามารถทำได้กับพนักงาน" และมันก็เป็นจริง "คลาส" นั้นมีโค้ดหลายพันบรรทัดและคุณสามารถทำอะไรกับพนักงานได้ หรือแย่กว่านั้นคือมีตารางข้อมูลพนักงานและผู้พัฒนาแต่ละคนคิดว่าจะทำอย่างไรในสิ่งที่พวกเขาต้องการทำในตัวจัดการเหตุการณ์ สิ่งเลวร้ายทั้งหมดเกี่ยวกับวิธีการดังกล่าวนั้นเป็นจริง แต่อย่างน้อยนักพัฒนาที่ใช้พนักงานสามารถทำได้โดยไม่ต้องไปที่เอกสารอื่น ๆ หาวิธีการลงทะเบียนพนักงานในแผนสุขภาพ สำหรับผู้จัดการและแนวคิดสำคัญอื่น ๆ ทั้งหมด หรือถ้าพวกเขาใช้พนักงานตารางข้อมูลอื่นที่จำเป็นก็สามารถทำได้ในสิ่งที่พวกเขาต้องการ ใช่มีรหัสซ้ำกันมาก ใช่มันเป็นรหัสที่เปราะบางมาก ใช่การทดสอบมันยากกว่าที่จำเป็น ใช่ฟังก์ชั่นการเปลี่ยนคือการกระตุ้นให้เกิดความกลัวและ Copy Paste นั้นเป็นเรื่องปกติเนื่องจากวิธีการ แต่อย่างน้อยพวกเขาสามารถค้นพบสิ่งที่มีอยู่โดยการสร้างชั้นหนึ่งหรือพวกเขาสามารถทำสิ่งที่พวกเขาต้องทำโดยไม่ต้องเข้าใจความแตกต่างระหว่างอินเทอร์เฟซคลาสนามธรรมคลาสรูปธรรมเป็นต้นและพวกเขาไม่ต้องค้นหาอะไรอื่นนอกจาก เมธอดที่ส่งคืนโดยระบบภายในหรือรู้ตารางที่มีข้อมูลอยู่ ฉันได้ทำ googled / binged และ yahoo! d แล้ว แต่ฉันไม่พบปัญหานี้ ดังนั้นอาจจะไม่มีปัญหาและฉันเพิ่งจะพลาดบางสิ่งบางอย่าง ฉันพยายามคิดหาวิธีแก้ปัญหาที่นักพัฒนาซอฟต์แวร์ที่ไม่ทำงานพฤติกรรม / การออกแบบที่แท้จริงสามารถค้นพบวิธีการทำอะไรได้อย่างง่ายดายโดยไม่ต้องอ้างอิงเอกสารภายนอกใด ๆ หรือสแกนชื่อคลาสในส่วนประกอบต่าง ๆ / โครงการเพื่อค้นหาสิ่งที่ดูเหมือนจะใช้งานได้ สิ่งเดียวที่ฉันสามารถทำได้คือมีสิ่งเหล่านี้เพราะไม่มีชื่อที่ดีกว่า "Table of …
10 solid  crud 

2
เมื่อติดตาม SRP ฉันจะจัดการกับการตรวจสอบและการบันทึกเอนทิตีได้อย่างไร
ฉันอ่านClean Codeและบทความออนไลน์มากมายเกี่ยวกับ SOLID เมื่อเร็ว ๆ นี้และยิ่งฉันอ่านมากเท่าไหร่ฉันก็ยิ่งรู้สึกว่าไม่รู้อะไรเลย สมมติว่าผมสร้างโปรแกรมประยุกต์บนเว็บโดยใช้ ASP.NET MVC 3. สมมติว่าผมมีUsersControllerกับCreateการกระทำเช่นนี้ public class UsersController : Controller { public ActionResult Create(CreateUserViewModel viewModel) { } } ในวิธีการกระทำนั้นฉันต้องการบันทึกผู้ใช้ไปยังฐานข้อมูลหากข้อมูลที่ป้อนนั้นถูกต้อง ตอนนี้ตามหลักการความรับผิดชอบเดี่ยววัตถุควรมีความรับผิดชอบเดียวและความรับผิดชอบนั้นควรถูกห่อหุ้มทั้งหมดโดยชั้นเรียน บริการทั้งหมดของ บริษัท ควรสอดคล้องกับความรับผิดชอบนั้น เนื่องจากการตรวจสอบความถูกต้องและการบันทึกลงในฐานข้อมูลเป็นความรับผิดชอบที่แยกกันสองอย่างฉันจึงควรสร้างคลาสแยกต่างหากเพื่อจัดการกับสิ่งเหล่านี้: public class UsersController : Controller { private ICreateUserValidator validator; private IUserService service; public UsersController(ICreateUserValidator validator, IUserService service) { this.validator = …

2
มันเป็นวิธีปฏิบัติที่เหมาะสมในการขยายชั้นเรียนเพียงเพื่อใช้ฟังก์ชันเดียวซ้ำได้หรือไม่
ฉันกำลังพัฒนาตัวกรองบทความสำหรับไซต์เวิร์ดเพรสและฉันได้สร้าง 4 รายการแรกด้วยชั้นเรียนเดียว สองขั้นตอนสุดท้ายแตกต่างกันในขอบเขตที่จะแบ่งปันฟังก์ชั่นเดียวเท่านั้น (ฟังก์ชั่นสำหรับการผลิตลิงก์สุดท้าย) ในชั้นเรียนของพวกเขา มันมีเหตุผลไม่ว่าจะในกรณีนี้หรือในกรณีที่มีสมมุติฐานที่คล้ายกันไม่ว่าจะขยายคลาสเดิมเพื่อให้มีฟังก์ชันการทำงานนั้นหรือมีวิธีที่ดีกว่า

4
เส้นทางการเรียนรู้สำหรับนักพัฒนาเว็บ. NET หรือ Java [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันสนใจที่จะรู้ว่ามีเว็บโฮสต์เซิร์ฟเวอร์แอปพลิเคชันโลกแห่งความจริงจำนวนเท่าใด ฉันจะเรียนรู้ C # และ ASP.NET และต้องการแปลงตนเองจากนักพัฒนาที่ฝังตัวเป็นนักพัฒนาเว็บแอป เพื่อนของฉันบอกว่ามีเซิร์ฟเวอร์ที่ใช้ Linux มากกว่าเซิร์ฟเวอร์ windows นอกจากนี้เขายังกล่าวถึง stack ทักษะ Java มีประโยชน์มากกว่า .NET ในโลกของเว็บแอพพลิเคชัน ประสบการณ์ของฉันเกี่ยวกับ Java และ C # นั้นเหมือนกันทุกประการ ฉันเป็นนักพัฒนา C ++ ที่มีประสบการณ์ ทุกคนสามารถให้คำแนะนำกับฉันได้ไหม ขอบคุณมาก
10 c#  java  .net 

8
แนวปฏิบัติที่ดีเกี่ยวกับ Visual Studio Solutions [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา หวังว่าคำถามง่ายๆสัมพัทธภาพ ฉันเริ่มทำงานในโครงการภายในใหม่เพื่อสร้างความสามารถในการรองรับอุปกรณ์ที่ได้รับการซ่อมแซมภายในอาคารได้ ฐานข้อมูลจะถูกจัดเก็บจากระยะไกลบนเว็บเซิร์ฟเวอร์และจะสามารถเข้าถึงได้ผ่านทางเว็บ API (JSON เอาต์พุต) และได้รับการปกป้องด้วย OAuth GUI ปลายด้านหน้ากำลังดำเนินการใน WPF และรหัสธุรกิจใน C # จากนี้ฉันเห็นเลเยอร์ที่แตกต่างกันการนำเสนอ / แอพลิเคชัน / Datastore จะมีรหัสสำหรับจัดการการโทรที่ผ่านการรับรองความถูกต้องทั้งหมดไปยัง API, คลาสเพื่อเป็นตัวแทน (วัตถุธุรกิจ), คลาสเพื่อสร้างเอนทิตี (วัตถุธุรกิจ), ชิ้นส่วนสำหรับ WPF GUI, ชิ้นส่วนของ WPF viewmodels เป็นต้น เป็นการดีที่สุดที่จะสร้างสิ่งนี้ในโครงการเดียวหรือแยกพวกมันออกเป็นแต่ละโครงการ? ในใจฉันบอกว่าควรมีหลายโครงการ ฉันได้ทำทั้งสองวิธีก่อนหน้านี้และพบว่าการทดสอบทำได้ง่ายขึ้นด้วยโซลูชันโครงการเดียว แต่ด้วยโครงการหลายโครงการจากนั้นการอ้างอิงแบบเรียกซ้ำสามารถครอบตัด โดยเฉพาะอย่างยิ่งเมื่อคลาสมีอินเทอร์เฟซเพื่อให้ง่ายต่อการทดสอบฉันพบว่าสิ่งต่าง ๆ อาจไม่สะดวกสบาย

6
การใช้ AJAX จะปรับปรุงประสิทธิภาพของเซิร์ฟเวอร์อย่างกว้างขวางหรือไม่
AJAX เห็นได้ชัดว่าช่วยปรับปรุงส่วนติดต่อผู้ใช้ แต่สิ่งนี้จะช่วยลดภาระของเซิร์ฟเวอร์หรือไม่ คุณอาจคิดว่าเป็นเพราะหน้าเว็บทั้งหมดไม่จำเป็นต้องแสดงทุกครั้ง แต่อาจมีตัวแปรอื่น ๆ ที่ฉันไม่ได้พิจารณา
10 performance  ajax 

3
วิธีการทดสอบหน่วยที่เรียกใช้เว็บเซอร์ซัพพลายเออร์
ฉันมีชั้นเรียนที่มีวิธีการสาธารณะหนึ่งวิธีSend()และวิธีส่วนตัวสองสามวิธี มันเรียกสองเว็บเซอร์และประมวลผล reponse การประมวลผลจะทำในวิธีการส่วนตัว ฉันต้องการหน่วยทดสอบรหัส ความเข้าใจของฉันคือการทดสอบหน่วยควรทดสอบรหัสของฉันแยก (เช่นจำลองคำตอบของซัพพลายเออร์) ฉันยังเชื่อว่าวิธีการส่วนตัวไม่ควรต้องผ่านการทดสอบหน่วยแต่ถ้าฉันเพิ่งทดสอบเมธอด Send () โค้ดของฉันไม่ได้รับการทดสอบแยกและขึ้นอยู่กับผู้จัดหา resonse ฉันควรทำให้วิธีการส่วนตัวของฉันเป็นแบบสาธารณะหรือไม่เพื่อให้ฉันสามารถทดสอบพวกเขาด้วยคำตอบที่จำลองได้ ดูเหมือนว่าเป็นการปฏิบัติที่ไม่ถูกต้องเนื่องจากฉันมีเพียงห้องเรียนเท่านั้นที่ต้องเรียกพวกเขา ขออภัยถ้าเป็นคำถามพื้นฐานฉันค่อนข้างใหม่สำหรับการทดสอบหน่วย ฉันใช้ c # และ VS2010

2
เป็นวิธีที่เหมาะสมในการใช้อินเทอร์เฟซ OnClickListener สำหรับปุ่มมากมายได้อย่างไร
กิจกรรม Android ของฉันมีหลายปุ่มที่ทุกคนต้องมี OnClickListener ฉันเห็นวิธีการต่าง ๆ มากมายเช่น :: การนำอินเตอร์เฟสไปใช้ในคลาสกิจกรรม การสร้างคลาสแยกต่างหากที่ใช้อินเทอร์เฟซ การกำหนดคลาสภายในที่ไม่ระบุชื่อสำหรับแต่ละปุ่ม ฉันเห็นตัวอย่างมากมายของแต่ละวิธี อย่างไรก็ตามมันไม่ชัดเจนสำหรับฉันว่าทำไมจะใช้วิธีการหนึ่งแทนวิธีอื่น ความแตกต่างระหว่างแนวทางเหล่านี้มีโวหารหรือมีเหตุผลที่ทำให้วิธีการหนึ่งดีขึ้นหรือไม่

7
ระเบียบวิธี / เครื่องมือสำหรับเมื่อพัฒนาด้วยตัวคุณเอง [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา สมมติว่าคุณต้องพัฒนาซอฟต์แวร์ขนาดกลาง + ขนาดเต็มที่ด้วยตัวคุณเอง ราวกับว่ามันเป็นโครงการส่วนตัวที่คุณต้องการทำให้สำเร็จ คุณจะใช้วิธีการ / เครื่องมือใดในการกำหนดสิ่งที่จะต้องพัฒนาเรียนรู้และมีความคิดระดับโลกว่าระบบนี้มีรายละเอียดอย่างไร โดยทั่วไปจะติดตามตัวเองและไม่หลงทาง

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