คำถามติดแท็ก programming-practices

Programming Practices เป็นวิธีที่ใช้กันทั่วไปหรือไม่ใช้กันทั่วไปในการพัฒนาซอฟต์แวร์ สิ่งเหล่านี้อาจรวมถึงสิ่งต่าง ๆ เช่นการพัฒนาแบบ Agile, Kanban, ทางลัดการเข้ารหัส ฯลฯ

7
มี "ค่าเวลา" คงที่หรือไม่?
สำหรับบางระบบจะใช้ค่าเวลา 9999-12-31 เป็น "จุดสิ้นสุดเวลา" เป็นเวลาสิ้นสุดของเวลาที่คอมพิวเตอร์สามารถคำนวณได้ แต่ถ้ามันเปลี่ยนไปล่ะ? การกำหนดเวลานี้เป็นตัวแปรบิวอินจะดีกว่าหรือไม่ ใน C และภาษาการเขียนโปรแกรมอื่น ๆ มักจะมีตัวแปรเช่นMAX_INTหรือคล้ายกันเพื่อให้ได้ค่ามากที่สุดที่เป็นจำนวนเต็ม เหตุใดจึงไม่มีฟังก์ชั่นที่คล้ายกันสำหรับMAX_TIMEเช่นตั้งค่าตัวแปรเป็น "หมดเวลา" ซึ่งสำหรับหลาย ๆ ระบบมักจะเป็น 9999-12-31 เพื่อหลีกเลี่ยงปัญหาการเข้ารหัสผิดปี (9999) ระบบเหล่านี้สามารถแนะนำตัวแปรสำหรับ "หมดเวลา" หรือไม่? ** ตัวอย่างจริง ** End of validity date: 31/12/9999.(เอกสารอย่างเป็นทางการมีการระบุไว้เช่นนี้) Blogger ต้องการเขียนหน้าเว็บที่อยู่ด้านบนสุดเสมอหน้าต้อนรับ ดังนั้นจึงมีการกำหนดวันที่ในอนาคตให้มากที่สุด: 3000? ใช่หน้าต้อนรับที่คุณกำลังเผชิญถูกโพสต์เมื่อวันที่ 1 มกราคม 3000 ดังนั้นหน้านี้จะถูกเก็บไว้ที่ด้านบนของบล็อกตลอดไป =) มันโพสต์จริง ๆ แล้วในวันที่ 31 สิงหาคม 2550

1
Git เวิร์กโฟลว์ / การปฏิบัติสำหรับโครงการขนาดเล็ก (ผังใน png)
ฉันกำลังพยายามหาเวิร์กโฟลว์ส่วนตัว ฉันได้รวบรวมผังงานเกี่ยวกับอายุการใช้งานสมมุติของการวางจำหน่าย: นักพัฒนารายหนึ่งผลักดันให้ repo สาธารณะ Github + เพื่อนช่วยด้วยคุณสมบัติบางอย่างและแก้ไขข้อบกพร่อง นี่เป็นวิธีการที่สมเหตุสมผลในการควบคุมเวอร์ชันหรือไม่? แนวคิดหลักคือการรักษาความเป็นระเบียบเรียบร้อยสาธารณะ: การเปิดตัวใหม่แต่ละครั้งจะดำเนินการในสาขาของตนเองจนกว่าจะถูกแท็กในสาขาหลักเมื่อเสร็จสิ้น งานทั้งหมดจะทำในสาขา "คุณสมบัติ" หรือ "โปรแกรมแก้ไขด่วน" ไม่เคยอยู่ในสาขาที่วางจำหน่ายจริงเพื่อป้องกันความผิดปกติ การรวมสาขาในระดับที่สูงกว่านั้นจะถูกรีบูทหรือบีบอัดเสมอ (เพื่อหลีกเลี่ยงความยุ่งเหยิง) ถ้าเกินความจริงฉันก็ไม่รังเกียจเพราะประเด็นทั้งหมดสำหรับฉันคือการเรียนรู้ทักษะที่ฉันอาจต้องการสำหรับโครงการขนาดใหญ่ ปัญหาเดียวก็คือถ้าฉันทำบางสิ่งผิดปกติหรือไม่จำเป็น แก้ไข 2:แก้ไขความคิดที่ไม่ดีในผังงานดั้งเดิมและทำให้การนำทางง่ายขึ้นเล็กน้อย

1
ข้อยกเว้นการปฏิบัติหรือคำแนะนำที่ดีที่สุด [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันคิดว่าปัญหาหลักสองประการของโปรแกรมของฉันคือโครงสร้างรหัส / องค์กรและการจัดการข้อผิดพลาดของฉัน ฉันกำลังอ่าน Code Complete 2 แต่ฉันต้องการอ่านเพื่อทำงานกับปัญหาที่อาจเกิดขึ้น ตัวอย่างเช่นบนเว็บไซต์หากบางสิ่งสามารถเกิดขึ้นได้เฉพาะเมื่อผู้ใช้ tampers กับข้อมูลผ่านทางจาวาสคริปต์คุณเขียนเพื่อที่? นอกจากนี้เมื่อใดที่คุณไม่พบข้อผิดพลาด? เมื่อคุณเขียนคลาสที่คาดว่าสตริงและ int เป็นอินพุตและพวกเขาไม่ใช่สตริงและ int คุณตรวจสอบสิ่งนั้นหรือไม่หรือคุณปล่อยให้มันลอยไปจนถึงวิธีการโทรที่ผ่านพารามิเตอร์ที่ไม่ถูกต้องหรือไม่ ฉันรู้ว่านี่เป็นหัวข้อกว้าง ๆ ที่ไม่สามารถตอบได้ด้วยคำตอบเดียวที่นี่ดังนั้นสิ่งที่ฉันกำลังมองหาคือหนังสือหรือแหล่งข้อมูลที่ได้รับการยอมรับโดยทั่วไปว่าเป็นการสอนการจัดการข้อยกเว้นที่เหมาะสม

11
Micro-optimizing - BAD กับการพัฒนาเกม
ในการพัฒนาเกมมี C / C ++ มากมายในแอปพลิเคชันทางธุรกิจ C # ฉันเห็น C / C ++ devs แสดงความกังวลเกี่ยวกับวิธีการแปลรหัสบรรทัดเดียวเพื่อประกอบ ใน. NET บางคนเข้าไปใน IL ไม่ค่อย ใน C # "การเพิ่มประสิทธิภาพขนาดเล็ก" ถูกขมวดคิ้วหายากและมักจะเสียเวลา สิ่งนี้ไม่ได้เกิดขึ้นในการพัฒนาเกม อะไรเป็นพิเศษที่สร้างความไม่ลงรอยกันนี้? เกมผลักดันขีด จำกัด ของฮาร์ดแวร์อย่างต่อเนื่องหรือไม่? ถ้าใช่การปรับปรุงฮาร์ดแวร์เราควรคาดหวังว่าภาษาระดับสูงกว่าจะเข้าครอบงำอุตสาหกรรมเกมหรือไม่ ฉันไม่ได้กำลังมองหาการอภิปรายเกี่ยวกับความเป็นไปได้ของ C # เป็นเกม dev lang ฉันรู้ว่ามันทำไปในระดับหนึ่ง มุ่งเน้นไปที่การเพิ่มประสิทธิภาพไมโคร ความแตกต่างระหว่าง Game Dev กับ Applications dev อัพเดท โดยเกมผมหมายถึงการพัฒนาที่ทันสมัยและใหญ่โต EG MMORPG's, Xbox, …

5
มาตรฐานการเข้ารหัสมีความสม่ำเสมอมากเกินไปหรือไม่?
มีสิ่งที่เท่าเทียมกันมากเกินไปไหม? แน่นอนว่าฉันทำงานที่ไหนเรามีมาตรฐานรวมถึงการตั้งชื่ออนุกรรมการสถาปัตยกรรมกรอบการใช้ประโยชน์ ฯลฯ อย่างไรก็ตามเมื่อเร็ว ๆ นี้มีการวิพากษ์วิจารณ์สิ่งต่าง ๆ มากมายที่ฉันจะพิจารณารูปแบบมากขึ้น ตัวอย่างเช่นการเขียนifคำสั่งในหลายบรรทัดกับหนึ่งบรรทัดโดยใช้ตัวดำเนินการ c # ??null-coalescing แทนที่จะพูด== nullจำนวนระยะห่างสำหรับการเยื้องเป็นต้น สำหรับฉันแล้วดูเหมือนว่าการเริ่มต้นกับตัวเลือกสไตล์ส่วนตัวมากขึ้นและไม่จำเป็นต้องเหมือนกันในทีมหรือ บริษัท สิ่งที่คนคนหนึ่งคิดว่าอ่านอย่างชัดเจนอาจไม่ได้อีก ความเท่าเทียมกันของ "พิเศษ" นี้มีคุณค่าไหม?

3
ข้อยกเว้นหรือรหัสข้อผิดพลาด
เรากำลังสร้างบริการบนเว็บ (SOAP, .Net) ซึ่งจะพูดคุยกับลูกค้าพื้นเมือง (ส่วนใหญ่) (windows, C ++) และเราสงสัยว่าวิธีที่ดีที่สุดในการสื่อสารข้อผิดพลาดกับลูกค้าคืออะไรเช่น SomethingBadHappened เช่นบริการเข้าสู่ระบบไม่พร้อมใช้งาน หรือสิ่งที่ต้องการผู้ใช้ไม่พบ) และไม่สามารถตัดสินใจระหว่างการส่งข้อยกเว้นไปยังไคลเอนต์หรือใช้รูปแบบรหัสข้อผิดพลาดบางอย่างเพื่อทำดังกล่าว สิ่งที่คุณต้องการในการจัดการด้านลูกค้า: ได้รับรหัสข้อผิดพลาดหรือจัดการข้อยกเว้น ServerFault ซึ่งมีสาเหตุของข้อผิดพลาดหรือไม่ 1) เหตุใดเราจึงคิดยกเว้น: เพราะจะทำให้รหัสฝั่งเซิร์ฟเวอร์มีความสม่ำเสมอมากกว่า 2) เหตุใดเราจึงคิดรหัสข้อผิดพลาด: เพราะเราคิดว่ามันสมเหตุสมผลกว่าจากมุมมองฝั่งไคลเอ็นต์ หาก 2) เป็นจริงเราอาจต้องการรหัสข้อผิดพลาดมากกว่าข้อยกเว้น? เป็นกรณีนี้หรือไม่ นอกจากนี้คำตอบจะเปลี่ยนไปหรือไม่ถ้าเราคุยกับลูกค้าที่จัดการแทนที่จะเป็นลูกค้าพื้นเมือง

4
เว็บไซต์ใดให้ข้อบ่งชี้ความสามารถของโปรแกรมเมอร์ที่แม่นยำที่สุด?
หากคุณกำลังว่าจ้างโปรแกรมเมอร์และสามารถเลือกระหว่างหนึ่งใน (พูด) นักเขียน 100 อันดับแรกบน topcoder.com หรือหนึ่งใน 100 อันดับแรกบน stackoverflow.com คุณจะเลือกแบบใด อย่างน้อยสำหรับฉันแล้วมันจะปรากฏว่า topcoder.com ให้การประเมินวัตถุประสงค์ที่มากขึ้นของความสามารถบริสุทธิ์ในการแก้ปัญหาและเขียนรหัส ในขณะเดียวกันแม้จะมีความสามารถด้านเทคนิคที่ชัดเจนแต่บุคคลนี้อาจขาดทักษะทางสังคม - เขาอาจเป็น "lone coder" เพียงอย่างเดียวโดยไม่มีความสามารถเพียงเล็กน้อยหรือไม่มีเลยในการช่วยเหลือ / ทำงานกับผู้อื่น ทักษะทางเทคนิคของเขากับผู้อื่น ฯลฯ ในทางกลับกัน stackoverflow.com อย่างน้อยที่สุดก็จะปรากฏขึ้นเพื่อบ่งบอกถึงความคิดเห็นของเพื่อนร่วมงานเกี่ยวกับ coder ที่ดีขึ้นและระดับของการปรากฏตัวของเขาและประโยชน์ที่เป็นประโยชน์ ในขณะเดียวกันระบบการให้คะแนนก็เป็นสิ่งที่ใครบางคนที่เพิ่งจะโยนคำตอบที่ปานกลาง (หรือคำตอบที่ไม่ดี) จำนวนมากจนเกือบจะสะสมคะแนน "ชื่อเสียง" ที่ไม่อาจหลีกเลี่ยงได้ - อาจเป็นการลงคะแนนเพียงครั้งเดียว มารยาท) จะต่อต้านผลกระทบของการลงคะแนนเสียงไม่น้อยกว่า 5 และอื่น ๆ จะท้อ (บางระดับ) จากการลงคะแนนเพราะพวกเขาต้องเสียสละคะแนนชื่อเสียงของตัวเองที่จะทำเช่นนั้น ในขณะเดียวกันคนที่มีส่วนร่วมทางเทคนิคเพียงเล็กน้อยหรือไม่มีเลยดูเหมือนว่าไม่น่าจะมีชื่อเสียงที่ทำให้พวกเขา (ใกล้เคียง) เป็นผู้นำสูงสุดดังนั้นควรพูด ดังนั้นข้อบ่งชี้ใดที่มีประโยชน์มากกว่าระดับที่ coder นี้น่าจะเป็นประโยชน์ต่อองค์กรของคุณ …

1
`การแก้ไข 'หมายถึงอะไรในการเขียนโปรแกรม? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเห็นในหลาย ๆ ที่ที่ใช้คำResolveนี้ใน Dependency Injection (แก้ไขการใช้งานอินเทอร์เฟซ), Package Managers (เช่น: แก้ไขการพึ่งพาแพ็คเกจ), เว็บ (เช่น: แก้ไขชื่อโฮสต์) ดังนั้นสิ่งที่จะทำให้ตรรกะของรหัสพิเศษที่ทำให้คนเลือกคำResolveมากกว่าง่ายConvertหรือTransformหรือแม้กระทั่งGet?

2
อาจเริ่มต้นตัวแปร / สมาชิกด้วยปริศนาขีดเส้นใต้คอมไพเลอร์?
ฉันได้รับการสอนมาตั้งแต่มัธยมซึ่งกำหนดตัวแปรเช่นนี้: int _a; หรือ int __a; ควรพิจารณาการปฏิบัติที่ไม่ดีเพราะในที่สุดนี้จะไขปริศนาคอมไพเลอร์ที่ใช้ตัวแปรที่เริ่มต้นด้วยการขีดเส้นใต้เพื่อตั้งชื่อตัวแปรชั่วคราว เท่าที่ฉันรู้ว่านี่คือเหตุผลว่าทำไมบางคนชอบที่จะย้ายขีดเส้นใต้ในตอนท้ายของชื่อเช่น: int a_; อย่างไรก็ตามฉันเห็นโค้ดจำนวนมากรอบตัวที่ใช้ประโยชน์จากตัวแปรเริ่มต้นขีดล่าง และรหัสนั้นสร้างค่อนข้างดีทั้ง Visual Studio 2010 และ g ++ 4.x ดังนั้นฉันจึงสงสัยว่า: นี่ไม่ใช่ปัญหาทุกวันนี้หรือไม่? คอมไพเลอร์สมัยใหม่ฉลาดกว่าเกี่ยวกับการตั้งชื่อการประชุมหรือไม่?

8
มันเป็นการปฏิบัติที่ไม่ถูกต้องหรือไม่ที่จะรวม enums ทั้งหมดไว้ในไฟล์เดียวและใช้มันในหลาย ๆ คลาส?
ฉันเป็นนักพัฒนาเกมที่ต้องการฉันทำงานกับเกมอินดี้เป็นครั้งคราวและในขณะที่ฉันได้ทำบางสิ่งบางอย่างซึ่งดูเหมือนเป็นการปฏิบัติที่ไม่ดีในตอนแรก แต่ฉันต้องการคำตอบจากโปรแกรมเมอร์ที่มีประสบการณ์บางคนที่นี่ สมมติว่าฉันมีไฟล์ชื่อenumList.hฉันประกาศทั้งหมด enums ที่ฉันต้องการใช้ในเกมของฉัน: // enumList.h enum materials_t { WOOD, STONE, ETC }; enum entity_t { PLAYER, MONSTER }; enum map_t { 2D, 3D }; // and so on. // Tile.h #include "enumList.h" #include <vector> class tile { // stuff }; แนวคิดหลักคือฉันประกาศ enums ทั้งหมดในเกมใน1 ไฟล์แล้วนำเข้าไฟล์นั้นเมื่อฉันต้องการใช้ enum ที่แน่นอนจากมันแทนที่จะประกาศในไฟล์ที่ฉันต้องการใช้ ฉันทำเช่นนี้เพราะทำให้ทุกสิ่งสะอาดฉันสามารถเข้าถึง enum …

7
หลักการการเปลี่ยนโครงสร้างและเปิด / ปิด
ฉันเพิ่งอ่านเว็บไซต์เกี่ยวกับการพัฒนาโค้ดที่สะอาด (ฉันไม่ได้ใส่ลิงค์ไว้ที่นี่เพราะไม่ใช่ภาษาอังกฤษ) หนึ่งในหลักการที่โฆษณาโดยไซต์นี้คือหลักการเปิดปิด : ส่วนประกอบซอฟต์แวร์แต่ละรายการควรเปิดเพื่อขยายและปิดเพื่อการปรับเปลี่ยน เช่นเมื่อเรานำไปใช้และทดสอบคลาสเราควรแก้ไขเพื่อแก้ไขข้อบกพร่องหรือเพื่อเพิ่มฟังก์ชั่นใหม่ (เช่นวิธีการใหม่ที่ไม่มีผลต่อคลาสที่มีอยู่) ไม่ควรเปลี่ยนฟังก์ชันการทำงานและการใช้งานที่มีอยู่ ผมปกติใช้หลักการนี้ด้วยการกำหนดอินเตอร์เฟซและระดับการดำเนินงานที่สอดคล้องกันI Aเมื่อชั้นเรียนAมีเสถียรภาพ (ดำเนินการและทดสอบ) ปกติแล้วฉันจะไม่แก้ไขมากเกินไป (อาจไม่เลย) เช่น หากข้อกำหนดใหม่มาถึง (เช่นประสิทธิภาพหรือการใช้อินเทอร์เฟซใหม่ทั้งหมด) ที่ต้องมีการเปลี่ยนแปลงโค้ดอย่างมากฉันจะเขียนการใช้งานใหม่Bและใช้ต่อไปAตราบเท่าที่Bยังไม่ครบกำหนด เมื่อBครบกำหนดแล้วสิ่งที่จำเป็นต้องมีก็คือเปลี่ยนวิธีการIสร้างอินสแตนซ์ หากความต้องการใหม่แนะนำการเปลี่ยนแปลงอินเตอร์เฟซเป็นอย่างดีฉันกำหนดอินเตอร์เฟซใหม่และการดำเนินงานใหม่I' A'ดังนั้นI, Aมีแช่แข็งและยังคงอยู่ในการดำเนินการสำหรับระบบการผลิตเป็นเวลานานเป็นI'และA'มีไม่เพียงพอที่มั่นคงเพื่อแทนที่พวกเขา ดังนั้นในมุมมองของการสังเกตเหล่านี้ฉันรู้สึกประหลาดใจเล็กน้อยที่หน้าเว็บนั้นแนะนำให้ใช้การปรับโครงสร้างที่ซับซ้อน "... เนื่องจากไม่สามารถเขียนโค้ดโดยตรงในรูปแบบสุดท้าย" ไม่มีความขัดแย้ง / ความขัดแย้งระหว่างการบังคับใช้หลักการเปิด / ปิดและแนะนำให้ใช้การปรับโครงสร้างที่ซับซ้อนเป็นวิธีปฏิบัติที่ดีที่สุดหรือไม่? หรือความคิดในที่นี้คือเราสามารถใช้ refactorings ที่ซับซ้อนในระหว่างการพัฒนาคลาสAแต่เมื่อคลาสนั้นได้รับการทดสอบสำเร็จแล้วควรจะถูกแช่แข็งหรือไม่

5
วิธีการทดสอบไฟล์ jsp
ฉันกำลังพัฒนาแอปพลิเคชัน Java 6 EE และฉันกำลังทดสอบรหัส jsp ของฉันกับอีกอันหนึ่งด้วยเวอร์ชันการทดสอบของการเรียกใช้ฟังก์ชั่นและรหัสที่ใช้ในแอปพลิเคชันดั้งเดิม แต่ดูเหมือนจะหลวมและใช้งานไม่ได้ มีวิธีที่ดีในการทำแบบทดสอบนี้หรือไม่?

3
วิธีการหลักควรเป็นเพียงการสร้างวัตถุและการเรียกเมธอดเท่านั้น
เพื่อนของฉันบอกฉันว่าวิธีปฏิบัติที่ดีที่สุดคือคลาสที่มีmainเมธอดควรตั้งชื่อMainและมีmainเมธอดเท่านั้น นอกจากนี้mainวิธีการควรแยกวิเคราะห์อินพุตสร้างวัตถุอื่น ๆ และเรียกวิธีการอื่น ๆ Mainชั้นเรียนและmainวิธีการที่ไม่ควรจะทำอะไรก็ได้ โดยพื้นฐานสิ่งที่เขาพูดว่าคลาสที่มีmainเมธอดควรเป็นดังนี้ public class Main { public static void main(String[] args) { //parse inputs //create other objects //call methods } } มันเป็นวิธีปฏิบัติที่ดีที่สุด?

3
วิธีการตรวจสอบอินพุตโดยไม่มีข้อยกเว้นหรือความซ้ำซ้อน
เมื่อฉันพยายามสร้างส่วนต่อประสานสำหรับโปรแกรมเฉพาะฉันมักจะพยายามหลีกเลี่ยงการโยนข้อยกเว้นที่ขึ้นอยู่กับอินพุตที่ไม่ผ่านการตรวจสอบ ดังนั้นสิ่งที่มักจะเกิดขึ้นคือฉันคิดว่าโค้ดบางส่วนเช่นนี้ (นี่เป็นเพียงตัวอย่างเพื่อประโยชน์ของตัวอย่างไม่ต้องสนใจฟังก์ชั่นที่ใช้งานตัวอย่างใน Java): public static String padToEvenOriginal(int evenSize, String string) { if (evenSize % 2 == 1) { throw new IllegalArgumentException("evenSize argument is not even"); } if (string.length() >= evenSize) { return string; } StringBuilder sb = new StringBuilder(evenSize); sb.append(string); for (int i = string.length(); i < evenSize; i++) …

1
แบ่งการพัฒนาสแต็ค - ตามแนวทแยง?
เรามีโครงการใหม่ที่เกิดขึ้นและในขณะที่นักพัฒนาได้ถูกแบ่งออกเป็นสองทีมทีม A และทีม B โครงการนี้มี 2 ส่วนซึ่งจำเป็นต้องมีการพัฒนาตลอดทั้งกองพัฒนา ตัวอย่างสแต็กของเราที่แสดงด้านล่างง่ายมาก: แต่ละส่วนของโครงการต้องการการพัฒนาข้ามสแต็คทั้งหมดดังนั้นโดยทั่วไปฉันคาดหวังว่าแนวทางการพัฒนาสแต็คเต็มรูปแบบซึ่งเป็นวิธีที่เราแยกย่อยงานของเราภายในทีม B การออกแบบและการโต้ตอบระหว่างส่วนต่าง ๆ อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันได้เรียนรู้ว่าทีม A ต้องการรับผิดชอบบางส่วนของสแต็กและพวกเขากำลังเสนอการแบ่งแยกระหว่างสองทีมที่ Data Abstraction Layer (และวางเนื้อหาใน Data layer) ถูกจัดการโดย ตัวเองโดยไม่มีการพัฒนาจากทีม B. การแบ่งจะดูคล้ายกับ: สำหรับฉันแล้วมันรู้สึกไม่เป็นธรรมชาติมาก แต่ละทีมมีวัตถุประสงค์และระยะเวลาที่แตกต่างกันในการบรรลุเป้าหมายเหล่านี้ แต่ทีม B จะต้องพึ่งพาทีม A ในการใช้คุณสมบัติ วิธีแก้ปัญหาที่เสนอคืออินเตอร์เฟสทั่วไปถูกกำหนดไว้ล่วงหน้า (อาจมีระยะเวลา 2 ปีในโครงการเพื่อให้สามารถใช้งานได้จำนวนมาก) ทีม A จะพัฒนาบิตที่ต้องการให้กับอินเทอร์เฟซเหล่านี้ แต่เนิ่นๆแม้ว่าจะมีชุดเป้าหมายเป็นของตัวเองในขณะที่ทีม B จะเรียกสายทั้งหมดในระยะสั้นเพื่อให้พวกเขาสามารถดำเนินการต่อไปได้ ฉันมีความกังวลเกี่ยวกับวิธีการนี้เกี่ยวกับ: อินเทอร์เฟซอาจเปลี่ยนแปลงและทีม A อาจไม่มีแบนด์วิดท์หรือเวลาเพื่อรองรับความต้องการที่เปลี่ยนแปลง ข้อบกพร่องในรหัสของทีม A …

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