คำถามติดแท็ก development-methodologies

7
วิธีเปลี่ยนตารางความจริงให้เป็นขนาดเล็กที่สุดหาก / บล็อก
ฉันจะใช้ตารางความจริงและเปลี่ยนเป็นกระชับได้อย่างไรถ้าบล็อก ตัวอย่างเช่นสมมติว่าฉันมีตารางความจริงนี้ที่ A และ B เป็นเงื่อนไขและ x, y และ z เป็นการกระทำที่เป็นไปได้: A B | x y z ------------- 0 0 | 0 0 1 0 1 | 0 0 1 1 0 | 0 1 0 1 1 | 1 0 0 สิ่งนี้สามารถแปลงเป็นด้านล่างถ้าบล็อก: if(A) { if(B) { do(x) } else …

6
วิธีการพัฒนาเมื่อนักพัฒนาซอฟต์แวร์หลายร้อยคนทำงานบนโซลูชันเดียว?
เราเป็นองค์กรที่ประกอบด้วยนักพัฒนาประมาณ 200 คนที่ทำงานอย่างต่อเนื่องในผลิตภัณฑ์เดียว (ใช้ Git revision control) ซึ่งมีการวางแผนที่จะวางจำหน่ายในวันที่กำหนด เนื่องจากนักพัฒนาจำนวนมากเรากำลังพยายามสร้างทีม "ข้ามหน้าที่" ที่มีนักพัฒนาประมาณ 10 คนในแต่ละทีมส่งผลให้มีทีมพัฒนาประมาณ 20 ทีมในองค์กร เนื่องจากเราต้องการรักษา "มาตรฐานสูง" อย่างต่อเนื่อง (หมายถึงเมื่อนักพัฒนาทำการดึงผลิตภัณฑ์อย่างน้อยควรจะสามารถคอมไพล์ได้ ฯลฯ ) ของผลิตภัณฑ์ในที่เก็บหลักเราจึงต้องการใช้ประตูคุณภาพบางประเภท ฉันไม่แน่ใจว่าจะตอบคำถามได้อย่างไร แต่ฉันสงสัยว่าฉันจะได้รับคำแนะนำเกี่ยวกับวิธีการพัฒนาสำหรับกลุ่มนักพัฒนาขนาดใหญ่เช่นนั้นที่ทำงานกับผลิตภัณฑ์เดียวหรือไม่ ในความเห็นของเราปลายด้านหนึ่งของสเปกตรัมคือการอนุญาตให้นักพัฒนาแต่ละคนส่งโดยตรงไปยังแหล่งเก็บข้อมูลหลักอย่างไรก็ตามเรากลัวว่าเนื่องจากผู้พัฒนาจำนวนมาก / มุ่งมั่นที่ "พื้นที่เก็บข้อมูลหลัก" อาจอยู่ในช่วงที่ขาดเนื่องจาก ถึงเราไม่สามารถมี "ประตูคุณภาพ" สำหรับการกระทำแต่ละอย่างได้ ปลายอีกด้านของสเปกตรัมอาจเป็นเช่นนั้น (เราคิดว่า Linus Torvalds / Linux ทำ) โครงสร้างต้นไม้หรือปิรามิดซึ่ง "คลังเก็บหลัก" มีแหล่งดึงสามแหล่งสามแห่งนี้มีแหล่งดึงที่เชื่อถือได้ ฯลฯ อย่างไรก็ตามเรารู้สึกว่าด้วยโครงสร้างเช่นการเปลี่ยนแปลงนั้นมีสายโซ่ยาวที่จะปีนขึ้นไปเพื่อเข้ามาใน "พื้นที่เก็บข้อมูลหลัก" นอกจากนี้หากเกิดข้อขัดแย้งในการผสานปัญหาจะเกิดกับผู้พัฒนารายอื่นมากกว่า "ผู้พัฒนาดั้งเดิม" จากข้อมูลพื้นฐานและความคิดเห็นทั้งหมดที่ระบุไว้เราจะเรียนรู้และอ่านวิธีการพัฒนาที่แนะนำสำหรับนักพัฒนาจำนวนมากได้อย่างไร องค์กรขนาดใหญ่ (Microsoft, …

5
Dev ใกล้ถึง JavaScript UI ที่ซับซ้อน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันพยายามที่จะเข้าใจภูมิทัศน์ของวิธีการที่แตกต่างกันและแนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับการพัฒนา JavaScript ฝั่งไคลเอ็นต์ที่ซับซ้อน ฉันไม่แน่ใจว่าจะติดป้ายประเภทของแอปพลิเคชันนี้ได้อย่างไรอาจเป็นAJAXหรือRIA ที่หนักหน่วง (แต่ไม่ใช่ปลั๊กอินเช่น Flash / Silverlight) ฉันหมายถึงเว็บแอปที่มีคุณสมบัติเหล่านี้: จำลอง UX ของเดสก์ท็อปแบบเนทีฟ / เนทีฟใน JavaScript มีพฤติกรรมส่วนใหญ่ / ทั้งหมดใน JS ฝั่งไคลเอ็นต์โดยใช้เซิร์ฟเวอร์เป็น data-API (JSON / Html-Templates) สิ่งนี้ตรงกันข้ามกับการใช้เว็บเซิร์ฟเวอร์สำหรับการแสดงผล UI ซึ่งสร้าง HTML ทั้งหมดในรูปแบบการรีเฟรชหน้า ตัวอย่างบางส่วนคือ: Google Docs / Gmail MindMeister การพิจาณาติดตาม เมื่อเราก้าวไปข้างหน้าสู่ HTML5 ฉันสามารถเห็นรูปแบบของการพัฒนา RIA นี้ด้วย JavaScript …

17
ทำไมเราทุกคนถึงไม่พัฒนาแบบจำลองที่ขับเคลื่อนด้วยล่ะ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันเป็นผู้ศรัทธาอย่างแท้จริงในการพัฒนาแบบขับเคลื่อนฉันคิดว่ามันมีความเป็นไปได้ที่จะเพิ่มผลผลิตคุณภาพและการคาดการณ์ได้ เมื่อดูที่MetaEditผลลัพธ์นั้นน่าทึ่ง Mendixในเนเธอร์แลนด์เติบโตเร็วมากและให้ผลลัพธ์ที่ยอดเยี่ยม ฉันก็รู้ว่ามีปัญหามากมาย การกำหนดเวอร์ชันของเครื่องกำเนิดแม่แบบและกรอบงาน โครงการที่ไม่เหมาะสมสำหรับการพัฒนาแบบจำลอง (การทำซ้ำไม่เพียงพอ) ความเสี่ยงที่สูงขึ้น (เมื่อโครงการแรกล้มเหลวคุณมีผลลัพธ์น้อยกว่าที่คุณมีกับการพัฒนาแบบดั้งเดิมมากขึ้น) ฯลฯ แต่ถึงกระนั้นปัญหาเหล่านี้ก็ดูเหมือนจะแก้ไขได้และผลประโยชน์ควรมีมากกว่าความพยายามที่จำเป็น คำถาม : อะไรที่คุณเห็นว่าเป็นปัญหาที่ใหญ่ที่สุดที่ทำให้คุณไม่ได้พิจารณาการพัฒนาแบบจำลอง? ฉันต้องการใช้คำตอบเหล่านี้ไม่เพียง แต่เพื่อความเข้าใจของตัวเอง แต่ยังเป็นแหล่งข้อมูลที่เป็นไปได้สำหรับชุดบทความภายในที่ฉันวางแผนจะเขียน

5
ชุดย่อยขั้นต่ำของการปฏิบัติที่ดีที่สุด / เป็นที่รู้จักในการพัฒนาซอฟต์แวร์สำหรับโปรแกรมเมอร์เดี่ยวคืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเป็นโปรแกรมเมอร์ที่โดดเดี่ยวในงานของฉันมานานแล้ว ปกติฉันจะอ่านบทความและโพสต์เกี่ยวกับ ระบบควบคุมเวอร์ชัน บูรณาการ / จัดส่งอย่างต่อเนื่อง วิธีการพัฒนา: Scrum, Waterfall, V-Model, Agile, XP, ฯลฯ การจัดการโครงการซอฟต์แวร์ แต่ดูเหมือนว่าเกือบทั้งหมดจะเน้นที่ทีม ฉันไม่ใช่ทีมงานดังนั้นชุดฝึกหัดขั้นต่ำสุดสำหรับโปรแกรมเมอร์เพียงหนึ่งเดียวคืออะไร พิจารณาเงื่อนไขต่อไปนี้: ฉันไม่ได้ขัดแย้งกับรหัสคนอื่น ฉันไม่ต้องการบำรุงรักษาต้นไม้ / ไดเรกทอรีต้นไม้สภาพแวดล้อมการพัฒนาของฉันใส่ใจเกี่ยวกับการกำหนดเวอร์ชันด้วยตัวเอง (การพัฒนาโดยใช้รูปภาพ) ไม่มีข้อกำหนดที่เป็นทางการผู้ใช้ของฉันไม่ทราบว่าพวกเขาต้องการอะไรและพวกเขาก็ใช้ได้ เพียงคนเดียวที่อาจสนใจส่งมอบเอกสารหรือเป็นฉันโดยทั่วไปลูกค้าต้องการผลและไม่สนใจวิธีการซอฟต์แวร์ ฯลฯ มุมมองของฉันคือฉันไม่ต้องการที่จะใช้เวลาและพลังงานในสิ่งที่ไม่เกี่ยวข้องกับความต้องการของลูกค้าโดยตรง คำแนะนำใด ๆ

6
เทคโนโลยีใดที่ใช้สำหรับการพัฒนาเกมในปัจจุบัน? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา เมื่อใดก็ตามที่ฉันถามคำถามเกี่ยวกับการพัฒนาเกมในฟอรัมออนไลน์ฉันมักจะได้รับคำแนะนำเช่นอัลกอริทึมการวาดเส้นการเรียนรู้การจัดการรูปภาพระดับบิตและการบีบอัดวิดีโอเป็นต้น อย่างไรก็ตามการดูเกมอย่าง God of War 3 ฉันคิดว่ามันยากที่จะเชื่อว่าเกมเหล่านี้สามารถพัฒนาได้โดยใช้เทคนิคระดับต่ำเช่นนี้ ความสุดยอดที่แท้จริงของเกมดังกล่าวท้าทายวิธีการเขียนโปรแกรมที่เข้าใจได้ (สำหรับฉัน) นอกจากฮาร์ดแวร์เกมมันเป็นสัตว์ประหลาดวันนี้ ดังนั้นจึงเป็นเหตุผลที่นักพัฒนาจะทำงานในระดับที่สูงขึ้นของสิ่งที่เป็นนามธรรม วิธีการพัฒนาล่าสุดในอุตสาหกรรมเกมคืออะไร? เป็นอย่างไรบ้างที่ทีมนักพัฒนา 30-35 คน (ซึ่งส่วนใหญ่เป็นผู้บริหารและนักการตลาด) สามารถทำให้เกมนี้น่าเหลือเชื่อ? หากคำถามดูเหมือนกว้างเกินไปคุณสามารถอธิบายสถาปัตยกรรมของ God of War 3 ได้หรือไม่ หรือว่าจะผลิตโคลนอย่างไร? ที่ฉันคิดว่าควรจะตอบได้อย่างเป็นกลาง

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

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

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

2
การต่อสู้มีข้อดีในการทำสัญญาป้องกันหรือไม่?
ได้ยินเมื่อเร็ว ๆ นี้ที่ watercooler: "การต่อสู้ไม่มีที่ใดในการทำสัญญาป้องกัน" ฉันมักจะไม่เห็นด้วยในแง่ที่ว่าฉันเชื่อว่า Scrum สามารถปรับแต่งให้ทำงานในหลาย ๆ สถานการณ์และฉันสามารถเห็นการป้องกันเป็นหนึ่งในนั้น สิ่งนี้กระตุ้นให้เกิดการถกเถียงกันอย่างมากในหมู่เพื่อนร่วมงานของฉัน (พวกเราหลายคนทำงานในการป้องกันสัญญา) ด้วยความยุติธรรม เพื่อให้เป็นคำถามที่เหมาะสม: มีใครเคยใช้ (หรือมีประสบการณ์การทำงานกับ) ทะเลาะกันในสถานการณ์การทำสัญญาป้องกัน? ทำงานได้ดีอะไรอะไรที่ใช้ไม่ได้ผลและคุณได้ทำอะไรเพื่อแก้ไขวานิลลา (ถ้ามี)?

5
ฉันจะเอาชนะโมเดลการพัฒนาซอฟต์แวร์ที่มีโครงสร้างที่ไม่ดีได้อย่างไร
ฉันเข้าร่วม บริษัท ในขณะนี้ฉันกำลังทำงานในฐานะที่เป็นสดชื่น เนื่องจากคนมีฝีมือในการพัฒนาซอฟต์แวร์ GIS มีจำนวน จำกัด และเนื่องจากฉันเป็นหนึ่งในนั้นฉันจึงได้รับคัดเลือกให้เป็นผู้จัดการโครงการโดยตรง ฉันค่อนข้างคุ้นเคยกับ Java และ GIS และฉันได้ทำการค้นคว้าด้วยตนเองเกี่ยวกับบริการตามตำแหน่ง แต่ไม่ใช่กับการจัดการโครงการและการพัฒนาซอฟต์แวร์ที่มีโครงสร้าง เป็นเวลาหนึ่งปีหลังจากที่ฉันสำเร็จการศึกษาในสาขาวิชาธรณีวิทยาและในช่วงปีที่ผ่านมาฉันทำงานเป็นนักวิชาการในมหาวิทยาลัย ต้องขอบคุณที่ฉันมีงานทำโอกาสปรากฏตัวและในที่สุดฉันก็รับผิดชอบแผนก Business Intelligence ของ บริษัท เช่นกัน บริษัท เชื่อในตัวฉัน ฉันเองศึกษาคลังข้อมูลและแนวคิด BI และประสบความสำเร็จในการรวม GIS กับ BI ด้วย นอกจากนี้ฉันกำลังทำงานร่วมกับนักพัฒนาสองคนในเครื่องมือ BI ของเราใน C # WPF ซึ่งฉันยังเล่นบทบาทของนักพัฒนาในบางครั้ง (ซึ่งฉันชอบ) ฉันพยายามอย่างหนักมากที่จะนำวิธีการพัฒนาซอฟต์แวร์ที่ดีมาใช้กับการจัดการโครงการแบบว่องไว แต่ก็ไม่ประสบความสำเร็จมาก นอกจากนี้แม้ว่าฉันเชื่อในรหัสที่ออกแบบมาอย่างดีเท่าที่เกี่ยวข้องกับผลิตภัณฑ์เนื่องจากการขาดความรู้ด้านเทคนิคที่ CEO ของฉันมี (ซึ่งอยู่เหนือฉันโดยตรง) แต่โดยปกติฉันไม่ได้รับเวลาที่ต้องทำ เวลาที่ใช้เพิ่มขึ้นอย่างมากจากการขาดความเชี่ยวชาญที่เรามีในภาษาการเข้ารหัสเฉพาะโดยรวมเช่นกัน (ตัวอย่างเช่น WPF เมื่อเทียบกับ Java) …

1
การพัฒนาโดยใช้“ รถไฟ” คืออะไร?
ฉันเจอคำศัพท์ใหม่ในวิธีการพัฒนาและฉันไม่สามารถหาคำจำกัดความได้ โดยเฉพาะเรียกว่า "การพัฒนาด้วยรถไฟ" นี่คือตัวอย่างของที่ฉันได้เห็นคำนี้ สัปดาห์ก่อนหน้านี้ฉันขอให้ผู้นำด้านวิศวกรรมและผู้จัดการปล่อยรุ่น Firefox สำหรับ Windows Metro ออกจากรถไฟ (Johnathan Nightingale) https://blog.mozilla.org/futurereleases/2014/03/14/metro/ จากเว็บไซต์อาชีพของ Mozilla: ประสบการณ์ทำงานกับทั้งวิธีการพัฒนาที่คล่องตัวและทีมพัฒนา / ฝึกอบรมโดยใช้รถไฟ ฉันเคยได้ยินเรื่อง "รถไฟ" มาก่อนและไม่ใช่แค่ในบริบทของ Mozilla แต่ฉันไม่สามารถหาข้อมูลที่ดีเกี่ยวกับมันได้ในเน็ต เมื่อฉันค้นหา "การพัฒนาซอฟต์แวร์โดยใช้รถไฟ" ฉันพบข้อมูลน้อยมากในผลการค้นหา สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถขุดได้ซึ่งแยกรถไฟออกจากเกวียนก็คือ "รถไฟ" กำลังจะทำการเผยแพร่ในช่วงเวลาปกติตามตาราง แต่ก็ดูเหมือนว่า "รถไฟ" เป็นระบบ QA ที่เป็นรูปธรรม ดังนั้น "การพัฒนาโดยใช้รถไฟ" คืออะไร?

4
วิธีการพัฒนาซอฟต์แวร์ใดที่สามารถถูกมองว่าเป็นรากฐาน
ฉันกำลังเขียนบทความวิจัยขนาดเล็กที่เกี่ยวข้องกับวิธีการพัฒนาซอฟต์แวร์ ฉันกำลังมองหาวิธีการทั้งหมดที่มีอยู่และฉันสงสัยว่าจากวิธีการทั้งหมดมีผู้ใดบ้างที่ให้รากฐานสำหรับผู้อื่น ตัวอย่างเช่นดูที่วิธีการต่อไปนี้: Agile, Prototyping, Cleanroom, Iterative, RAD, RUP, Spiral, Waterfall, XP, Lean, Scrum, V-Model, TDD เราสามารถพูดได้ ไหมว่า: การทำต้นแบบการทำซ้ำการวนและน้ำตกเป็น "รากฐาน" สำหรับผู้อื่นหรือไม่? หรือไม่มีสิ่งเช่น "รากฐาน" และแต่ละวิธีการมีประวัติที่เป็นเอกลักษณ์ของตัวเองหรือไม่? ฉันอยากจะอธิบายวิธีการทั้งหมดในรายงานการวิจัยของฉัน แต่ฉันไม่มีเวลาทำเช่นนั้นและนั่นคือเหตุผลที่ฉันอยากจะรู้ว่าวิธีการใดที่สามารถเป็นตัวแทน

3
เป็นความคิดที่ดีหรือไม่ที่จะทำ TDD ในส่วนประกอบระดับต่ำ?
ฉันกำลังพิจารณาที่จะเขียนไดรเวอร์ระดับต่ำหรือส่วนประกอบ / เมล็ดระบบปฏิบัติการ ผู้คนosdev.orgดูเหมือนจะคิดว่าบิตที่สำคัญนั้นไม่ได้มีความหมายที่พิสูจน์ได้ด้วยวิธีนี้ แต่ฉันได้อ่านการสนทนาบางอย่างที่ผู้คนคิดแตกต่างกัน ฉันได้ดูไปรอบ ๆ แล้ว แต่ไม่พบตัวอย่างชีวิตจริงของ TDD ในองค์ประกอบระดับต่ำ นี่เป็นสิ่งที่ผู้คนทำจริง ๆ หรือเพียงแค่สิ่งที่ผู้คนพูดถึงในทางทฤษฎีเพราะไม่มีวิธีที่ดีในการฝึกฝน

2
ติดตามการเปลี่ยนแปลงการกำหนดค่าจาก dev เป็น prod อย่างมีประสิทธิภาพ
คำถามนี้ใช้บริการ Spring Boot เป็นตัวอย่าง แต่อาจเป็นเทคโนโลยีใด ๆ ก็ได้ สมมติว่าต่อไปนี้: สภาพแวดล้อม (dev / QA / prod) เป็นของทีมอื่น ซึ่งหมายความว่า dev ต้องไม่มีสิทธิ์เข้าถึงการกำหนดค่า prod การกำหนดค่า (สมมุติว่า application.properties) ถูกทำให้เป็นภายนอกไม่ใช่ส่วนหนึ่งของไบนารี ไบนารี / แพ็คเกจเดียวกัน (สมมุติว่า service.jar) ถูกปรับใช้ในแต่ละสภาพแวดล้อมและควบคุมโดยการปรับใช้อัตโนมัติ ในขณะที่การเปลี่ยนแปลงสิ่งประดิษฐ์ไบนารี (service.jar) ได้รับการเผยแพร่โดยอัตโนมัติไปยังแต่ละสภาพแวดล้อมการเปลี่ยนแปลงการกำหนดค่ายังคงต้องมีการแทรกแซงด้วยตนเองซึ่งท้ายที่สุดก็กลายเป็นถูกทำข้อมูลให้ตรงกันในแต่ละสภาพแวดล้อม ตัวอย่างเช่นสมมติว่าทีม dev เพิ่มคู่ของคีย์ - ค่าลงในแอปพลิเคชันคุณสมบัติในสภาพแวดล้อมของพวกเขา อะไรจะเป็นวิธีที่ดีที่สุดในการบันทึกคีย์ใหม่เหล่านี้ดังนั้นเมื่อการปรับใช้เกิดขึ้นในทีม ops พวกเขารู้ว่าต้องเพิ่มคีย์ใดดังนั้นความเสี่ยงของการเริ่มบริการใหม่และการเห็นว่าล้มเหลวเนื่องจากคีย์ที่หายไป ฉันรู้ว่าจะมีขั้นตอนที่ต้องดำเนินการด้วยตนเอง แต่ฉันต้องการที่จะรู้ว่าผู้คนจัดการกับเรื่องนี้อย่างไรและหาวิธีที่มีประสิทธิภาพมากที่สุด

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