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

สำหรับคำถามเกี่ยวกับกระบวนการพัฒนาซอฟต์แวร์

9
แพลตฟอร์มสร้างอัตโนมัติสำหรับ. NET - ตัวเลือกที่ดีที่สุด? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเกี่ยวข้องกับการดูแลรักษาผลงานแอปพลิเคชั่น. NET ค่อนข้างมาก นอกจากนี้ในพอร์ตโฟลิโอยังมีแอพพลิเคชั่นรุ่นเก่าที่สร้างขึ้นบนแพลตฟอร์มอื่น ๆ เช่น C ++, ECLIPS Forms ฉันมีกรอบการสร้างที่ซับซ้อนด้านบนของ NAnt ในขณะนี้ที่จัดการการสร้างสำหรับแอปพลิเคชันเหล่านี้ทั้งหมด กรอบการสร้างใช้ NAnt ในการทำสิ่งต่าง ๆ มากมาย: ดึงรหัสออกมาจากการโค่นล้มเช่นเดียวกับการสร้างแท็กในการโค่นล้ม สร้างรหัสโดยใช้ MSBuild สำหรับ. NET หรือคอมไพเลอร์อื่น ๆ สำหรับแพลตฟอร์มอื่น ๆ ดูภายในไฟล์ AssemblyInfo เพื่อเพิ่มหมายเลขรุ่น ทำการลบไฟล์บางไฟล์ที่ไม่ควรรวมอยู่ในบิลด์ / รีลีส เผยแพร่รหัสไปยังโฟลเดอร์การปรับใช้ รหัสไปรษณีย์ขึ้นเพื่อการสำรองข้อมูล ปรับใช้บริการ Windows เริ่มและหยุดพวกเขา เป็นต้น …

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

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

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

4
มีอะไรบ้างที่ต้องระวังเมื่อเตรียมพร้อมที่จะส่งมอบโครงการ?
ฉันเป็นผู้พัฒนา / สถาปนิก แต่เพียงผู้เดียวของแอปพลิเคชันเว็บที่ค่อนข้างใหญ่ (ASP.NET MVC stack, โค้ดประมาณ 150K + บรรทัด) และจุดสิ้นสุดของการพัฒนาอยู่บนขอบฟ้า ด้วยเหตุนี้ฉันจึงเริ่มคิดถึงสิ่งที่ต้องทำเพื่อให้พ้นมือของโครงการและฉันต้องการทำให้แน่ใจว่าฉันจะทำสิ่งที่ถูกต้องสำหรับทุกคนที่ต้องดูแลโครงการในอนาคต มีอะไรบ้างที่ต้องระวังเมื่อเตรียมพร้อมที่จะส่งมอบโครงการให้กับผู้พัฒนารายอื่นหรือทีมผู้พัฒนาบำรุงรักษา

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

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

6
วิธีการใช้กระบวนการพัฒนากับนักศึกษา
ที่งานแรกของฉันในฐานะนักพัฒนาซอฟต์แวร์ทีมของฉันใช้เปรียว / ต่อสู้ในการจัดการเวิร์กโฟลว์โครงการของเราและทำงานได้ค่อนข้างดี ฉันมีที่ปรึกษาที่มีประสบการณ์บางคนที่กำหนดฉันให้ถูกทาง - ฉันเป็นหนี้พวกเขาด้วยความกตัญญู ฉันทำงานที่นั่นสองสามปีจากนั้นย้ายไปยังโอกาสใหม่เมื่อสองสามเดือนที่ผ่านมา กรอไปข้างหน้าสู่งานปัจจุบันของฉัน ฉันทำงานที่มหาวิทยาลัยภายใต้การดูแลของอาจารย์ เนื่องจากฉันอยู่ในมหาวิทยาลัยโปรแกรมเมอร์เกือบทุกคนเป็นนักเรียน (พวกเขาถูกและอุดมสมบูรณ์!) เจ้านายของฉันมีประสบการณ์ด้านการจัดการ แต่ไม่ใช่กับการพัฒนาซอฟต์แวร์และทีมซอฟต์แวร์ไม่ได้อยู่แถวหน้าในใจของเจ้านายของฉันเสมอไป . เงื่อนไขเหล่านี้ได้สร้างสภาพแวดล้อมที่สมบูรณ์แบบสำหรับการสร้างบางมากซอฟแวร์ที่มีคุณภาพดี โครงการซอฟต์แวร์ดูเหมือนจะโกงเล็กน้อยไม่มีความคิดที่จะออกแบบและใช้วิธีปฏิบัติที่น่ากลัวอย่างแท้จริง ฉันรู้ว่าสิ่งต่าง ๆ น่าจะดีกว่า ฉันต้องการใช้กระบวนการพัฒนาเพื่อช่วยให้ทุกคนได้รับการติดตามเพิ่มคุณภาพของรหัสและปรับใช้ซอฟต์แวร์ที่มีเสถียรภาพมากขึ้น ฉันไม่แน่ใจว่าจะเริ่มจากตรงไหน ฉันไม่ได้มองหาคำตอบเช่น "Use Scrum", "Set a kanban board" หรือ "ลองดูเปรียว!" (แม้ว่าความคิดจะชื่นชม) โดยเฉพาะอย่างยิ่งผมหวังว่าจะได้ข้อมูลเชิงลึกกำไรเป็นวิธีการที่จะดำเนินการตามกระบวนการในการพัฒนาสำหรับการนี้สภาพแวดล้อมการทำงาน โดยปกติแล้วพนักงานจะทำงานระหว่าง 1 ถึง 2 ปีก่อนที่จะย้ายมาทำงานโดยทั่วไปไม่มีประสบการณ์และการประชุมยอดเยี่ยมประจำวันที่รวมทุกคนเข้าใกล้ไม่ได้ หนึ่งจะส่งเสริมคุณภาพประสิทธิภาพและการสื่อสารในสถานที่ทำงานได้อย่างไร อัปเดต:หลังจากอ่านคำตอบและความคิดเห็นบางอย่างแล้วฉันคิดว่าฉันจะให้พื้นฐานเพิ่มเติม ฉันจะไม่พิจารณาตัวเองต้นแบบศิลปะของการพัฒนาซอฟต์แวร์ แต่ฉันกำลังมีประสบการณ์มากพอที่จะรับรู้การเขียนโปรแกรมไม่ดีเมื่อฉันเห็นมัน ฉันสามารถตรวจสอบว่านักพัฒนามีความสามารถหรือไม่หลังจากใช้เวลาเพียงหนึ่งหรือสองนาทีในการทำงานกับพวกเขา ฉันพอใจกับความสามารถของตัวเองในการหาวิธีการแก้ปัญหาอย่างชาญฉลาดอย่างไรก็ตามพื้นที่ที่ฉันขาดประสบการณ์อย่างแท้จริงคือการจัดการโครงการที่นักพัฒนารายอื่นมีส่วนเกี่ยวข้อง คำแนะนำ) ฉันทำให้เสียงเหมือนนักเรียนทุกคนที่เข้ามาในสำนักงานนี้เป็นสลัวที่สมบูรณ์ มีไข่ที่ไม่ดีอยู่ที่นี่ แต่นักเรียนส่วนใหญ่ที่ฉันเคยรู้จักมีความฉลาดต้องการเรียนรู้และหลงใหลในงาน บางคนเพิ่งเริ่มต้นและพวกเขาไม่รู้ว่าพวกเขาไม่รู้อะไร และก็ไม่เป็นไร เมื่อฉันเริ่มเขียนโปรแกรมครั้งแรกฉันก็ไม่ได้ดีไปกว่านี้แล้ว!

7
เป็นที่ยอมรับหรือไม่ที่จะมีการอภิปรายที่ไม่เกี่ยวข้องกับการเช็คอินในการประชุม Scrum Daily Standup?
ฉันหวังว่าผู้คนจะดื่มด่ำกับคำถามที่เห็นได้ชัด ฉันทำงานในองค์กรหลายแห่งที่มีการประชุมทะเลาะกันทุกวัน บางองค์กรมีความเข้มงวดอย่างมากเกี่ยวกับการใช้ scrum ในการเช็คอิน ("คำถามสามข้อ" - คุณทำอะไรเมื่อวานนี้คุณทำอะไรวันนี้คุณมีบล็อกเกอร์หรือไม่) แต่องค์กรอื่น ๆ ที่มีแนวโน้มทั่วไป ประกาศหรือการสนทนาทางเทคนิคอย่างละเอียด ฉันเคยได้ยินข้อโต้แย้งเช่นในบทความนี้ว่าการอนุญาตให้มีการอภิปรายที่ไม่เกี่ยวข้องกับการเช็คอินเช่นนี้เป็นความผิดพลาด - การประชุมการต่อสู้ไม่ควรใช้สำหรับการประกาศทั่วไปจาก Scrum Master การสนทนาทางเทคนิค ฯลฯ อันตรายหลักที่ฉันเห็นจากการประชุมครั้งนี้คือการประชุมอาจยาวนานเกินความจำเป็น (และเป็นเรื่องน่ารำคาญที่ถูกบังคับให้ต้องนั่งคุยกันเรื่องรายละเอียดที่ไม่เกี่ยวข้องกับฉัน) ค่อนข้างชัดเจนว่าการอภิปรายที่ไม่เกี่ยวข้องกับทั้งกลุ่มและไม่ได้เป็นส่วนหนึ่งของ "คำถามสามข้อ" ไม่ควรเป็นส่วนหนึ่งของการยืนขึ้น อย่างไรก็ตามหากมีการประกาศอื่น ๆ ที่เกี่ยวข้องกับทั้งกลุ่มและจำเป็นต้องมีการหารือต่อไปมันจะเป็นอันตรายหรือไม่ที่จะพูดถึงสิ่งเหล่านั้น ณ จุดนั้น (แทนที่จะเป็นการประชุมหรืออีเมลแยกต่างหาก)?

3
ฉันควรทำตามระเบียบวิธีซอฟแวร์ใดเมื่อฉันทำการวิจัย?
ฉันมักจะวิเคราะห์ข้อมูลการทดลองและแม้ว่าฉันจะมีสคีมาโดยทั่วไปของขั้นตอนที่ฉันต้องทำฉันอาจต้องปรับแต่งมันกับข้อมูลเฉพาะของการทดลองหรือคำถามที่อยู่เบื้องหลัง ฉันมักจะเป็นรหัสเดียวเท่านั้น ฉันดูวิกิพีเดียแต่ฉันไม่แน่ใจว่าวิธีการใดที่ฉันสามารถใช้ได้บางส่วนเพราะฉันไม่เคยปฏิบัติตามใด ๆ และบางส่วนเพราะบางครั้งฉันเพียงแค่สำรวจข้อมูลเพื่อดูว่ามันดูเหมือนอะไรและบางครั้งฉันต้องการคำตอบ (และเพราะฉันไม่ได้คาดหวังมากที่จะทดสอบหรือมีคุณภาพที่แน่นอนในรหัสของฉัน) ฉันได้รับแจ้งให้ถามคำถามนี้หลังจากหนึ่งหรือสองชั่วโมงค้นพบว่าฟังก์ชัน r tableอาศัยตามลำดับของเวกเตอร์ไม่ใช่ชื่อขององค์ประกอบเพื่อเปรียบเทียบพวกมัน จากนั้นฉันก็ควรทดสอบพฤติกรรมและฟังก์ชั่นที่ฉันใช้กับข้อมูลจำลอง แต่ฉันใช้ตารางหลังจากการวิเคราะห์อื่น ๆ ทำให้ขาดข้อมูลดังนั้นฉันจึงไม่สามารถทำตามวิธีการพัฒนาแบบทดสอบได้ (ถ้าฉันเข้าใจถูกต้อง) อย่างไรก็ตามฉันรู้สึกว่ามีการปรับปรุงบางอย่างในวิธีที่ฉันเผชิญกับโครงการฉันอาจมีประสิทธิภาพมากขึ้นนอกเหนือจากการตรวจสอบข้อผิดพลาดได้เร็วขึ้น แต่ยังรวมถึงวิธีการและสิ่งที่จะมองหาในกรณีที่ฉันสงสัยผลลัพธ์ ความผิดพลาดตัวอย่างนี้ วิธีการซอฟต์แวร์ใดที่เหมาะที่สุดในการวิจัย โดยทั่วไปฉันถามว่าจะรับประกันคุณภาพและความคืบหน้าของเวลาได้อย่างไรรวมถึงรักษาความจำเพาะของการวิจัย ตัวอย่างการทำงานของฉัน: นักชีววิทยาทราบคำถามและรู้ว่าการทดลองจะนำไปสู่การมีข้อมูลที่น่าสนใจ (เช่นระดับการแสดงออกของยีนในสองเงื่อนไข) จากนั้นเขา / เธอจะทำการทดลองและจำตัวอย่างจาก 10 คน / หนู / หนู ตอนนี้ฉันต้องวิเคราะห์ข้อมูลสำหรับ 10 ตัวอย่างเหล่านั้นโดยใช้ห้องสมุดและการทดสอบที่มีอยู่ (หรือใช้การทดสอบใหม่) แต่คำนึงถึงคำถามที่นักชีววิทยามีอยู่ในใจ โครงสร้างนั้นเหมือนกับในการทดลองก่อนหน้า (ซึ่งเกี่ยวข้องกับ 6 เงื่อนไขและสัตว์อื่น) แต่การทดสอบทางสถิติการทำให้เป็นมาตรฐานโครงสร้างข้อมูลอาจเปลี่ยนแปลงได้ ดังนั้นฉันมักจะคัดลอกเวอร์ชันก่อนหน้าและปรับให้เข้ากับความต้องการในปัจจุบัน

1
การควบคุมเวอร์ชันของเว็บไซต์: ไฟล์ dev / production front-end
ฉันพยายามคิดถึงวิธีที่ดีกว่าในการควบคุมเวอร์ชันโครงการเว็บไซต์ของเรา โปรดทราบว่าฉันเป็นเพียงส่วนหนึ่งของส่วนหน้าดังนั้นฉันจึงไม่มีความรู้ที่ลึกซึ้งเกี่ยวกับ VCS เวิร์กโฟลว์กำลังเปลี่ยนแปลงและพฤติกรรมการควบคุมเวอร์ชันที่ผ่านมาล้าสมัย ปัญหาหลักคือมี 2 อาร์เรย์ของไฟล์ส่วนหน้าสำหรับแต่ละเว็บไซต์ สภาพแวดล้อม dev (ไฟล์น้อยลง js ที่ไม่บีบอัดรูปภาพ ฯลฯ ) สภาวะแวดล้อมบิลด์ "gulpified" (ทุกสิ่งถูกบีบอัดและไม่สามารถอ่านได้โดยมนุษย์) แต่คุณไม่สามารถขายเว็บไซต์ด้วยไฟล์ต้นฉบับได้ มันรู้สึกไม่ถูกต้อง มีวิธีแก้ปัญหาของการมี 2 repos: หนึ่งบิลด์หนึ่ง dev กับอึกส่งไฟล์ dev เพื่อสร้างไดเรกทอรี แต่มันเป็นเรื่องยุ่งยากที่จะรักษาด้วย บริษัท เล็ก ๆ ฉันไม่คิดว่ามันเยี่ยมขนาดนั้น มันสร้าง repos มากมายและผู้คนต้องจัดการกับ repos หลาย ๆ ครั้งบางครั้งถึงกับ repo svn เพียงตัวเดียวปัญหาก็เกิดขึ้น ดังนั้นยังมีวิธีแก้ปัญหาของการมี 1 repo: ไฟล์ต้นฉบับและไฟล์ prod ใน svn เดียวกัน …

3
วิธีที่ดีที่สุดในการมีส่วนร่วมกับผู้พัฒนารุ่นเยาว์ในการออกแบบแอปพลิเคชันจากศูนย์? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา เราเป็นทีมงานของนักพัฒนา 3 คน (2 devs ประสบการณ์และจูเนียร์) เราเพิ่งเริ่มโครงการใหม่ล่าสุด เราได้ออกแบบแอพพลิเคชั่นพยายามจดจ่อกับการเลือกสถาปัตยกรรมที่เหมาะสมและตอนนี้เรากำลังวางโค้ดบรรทัดแรก เรากำลังเขียนแก่นแท้ของมันสิ่งที่จะเป็นรากฐานของการสมัครทั้งหมด แอปพลิเคชันนี้ไม่ใช่เรื่องง่ายเช่นกัน ความต้องการประสิทธิภาพการทำงานหนักการกระจายอย่างหนาแน่นเอนทิตีแบบจำลองที่ซับซ้อนเป็นต้น เราทุกคนต่างอยู่ในโซนสบายของเราโดยเฉพาะผู้อยู่ใต้บังคับบัญชา เขาไม่มีประสบการณ์ในการสร้างการออกแบบที่ดีล่วงหน้า นั่นไม่ใช่ปัญหาเพราะฉันและ dev คนอื่น ๆ อยู่ที่นั่นเพื่อช่วยเหลือและเราทั้งคู่เชื่อในการให้คำปรึกษาและในการสร้างทีม แต่ ... เราไม่รู้ว่าอะไรจะเป็นวิธีที่ดีที่สุดที่จะทำเพื่อเขาจะได้ ประสบการณ์ที่สนุกสนานและเรียนรู้ทักษะจำนวนสูงสุด เราทั้งคู่ตระหนักว่าเราไม่ได้มีรุ่นน้องในโครงการใหม่เฉพาะในกลุ่มที่มีอยู่เดิมซึ่งมันง่ายกว่ารุ่นน้องเพราะเขามีฐานรหัสทั้งหมดที่จะเรียนรู้และสร้างแรงบันดาลใจ แต่สำหรับแอพนี้เราแทบจะไม่มีรหัส เราเพิ่งเริ่ม เรากำลังคิดวิธีการบางอย่าง: ให้เขาลองด้วยตัวเองสักสองสามวันแล้วแทรกแซงและสร้างรหัสใหม่ร่วมกับเขาคัดท้ายเขาไปในทิศทางที่ถูกต้องจากนั้นทำซ้ำ => อาจไม่เป็นประสบการณ์ที่สนุกสำหรับเขาเพราะเราจะชี้ให้เห็นข้อผิดพลาดของเขาในทุก ๆ ; ให้เขาจับคู่การเขียนโปรแกรมกับเราคนหนึ่ง => เขาอาจจะกลายเป็นแค่ "คนดู" และเห็นด้วยกับทุกสิ่งที่เราทำโดยไม่ต้องเรียนรู้อะไรมากมาย ให้เราสร้างโครงกระดูกของแต่ละโมดูลด้วยการออกแบบที่มั่นคงแล้วให้โมดูลกับเขาเพื่อเพิ่มชิ้นส่วนที่หายไป => อาจไม่สนุกที่จะรับหลังจากเราและมีความเสี่ยงที่เขาให้ความสนใจเพียงเติมช่องว่าง ไม่ใช่การออกแบบทั้งหมด เราจะทำให้เขามีส่วนร่วมในการออกแบบอย่างไรเพื่อที่เขาจะไม่รู้สึกว่าถูกทิ้งไว้ข้างนอกและเพื่อให้เขาเรียนรู้มากมายจากประสบการณ์และได้รับความมั่นใจเพียงพอที่จะลองด้วยตัวเอง

1
กำลังมองหาวิธีที่ดีกว่าในการรวมการปรับโครงสร้างเชิงลึกเข้ากับการพัฒนาตามคุณลักษณะ
คำชี้แจงปัญหา: ได้รับ: TFS เป็นการควบคุมแหล่งที่มา แอปพลิเคชันไคลเอนต์บนเดสก์ท็อปจำนวนมากที่มีรหัสดั้งเดิมที่มีการออกแบบสถาปัตยกรรมไม่ดีหรือขาดหายไป ลูกค้าต้องการคุณสมบัติใหม่ ๆ อย่างต่อเนื่องพร้อมคุณภาพเสียง การจัดส่งที่รวดเร็วและการบ่นกับ UI ที่ไม่เป็นมิตรของผู้ใช้ ปัญหา: แอปพลิเคชันต้องมีการปรับโครงสร้างอย่างล้ำลึก กระบวนการนี้ย่อมทำให้แอพพลิเคชั่นไม่เสถียรและจำเป็นต้องมีขั้นตอนการทำให้เสถียรโดยเฉพาะ เราได้ลอง: การสร้างใหม่ในต้นแบบที่มีการผสานเป็นระยะจากต้นแบบ (MB) ถึงคุณลักษณะสาขา (FB) (ความผิดพลาดของฉัน) ผลลัพธ์:มีสาขาไม่แน่นอนจำนวนมาก สิ่งที่เราได้รับคำแนะนำ: ลิงก์ไปยังบทความ (pdf) สร้างสาขาเพิ่มเติมสำหรับการเปลี่ยนโครงสร้าง (RB) เป็นระยะให้ตรงกันกับ MB ผ่านการผสานจาก MB ไปยัง RB หลังจาก RB มีความเสถียรเราจะเปลี่ยนต้นแบบเป็น RB และสร้างสาขาใหม่สำหรับการปรับโครงสร้างเพิ่มเติม นี่คือแผน แต่ที่นี่ฉันคาดหวังว่านรกที่แท้จริงของการรวม MB กับ RB หลังจากรวม FB เข้ากับ MB ข้อได้เปรียบหลัก: ผู้เชี่ยวชาญที่มีเสถียรภาพส่วนใหญ่เวลา มีทางเลือกใดที่ดีกว่าในการใช้ผลิตภัณฑ์นี้?

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

5
ความเป็นผู้นำไม่เห็นคุณค่าในกระบวนการมาตรฐานสำหรับการกำหนดค่าเครื่องและการวางแนวนักพัฒนาใหม่
ประมาณ 3 เดือนที่ผ่านมานักพัฒนาเว็บไซต์และนักออกแบบชั้นนำ (คนคนเดียวกัน) ออกจาก บริษัท ทุ่งหญ้าสีเขียวเป็นสาเหตุของการออกไป ดีสำหรับพวกเขาฉันพูด ปัญหาของฉันคือแผนกของเขาไม่มีเอกสารอย่างสมบูรณ์ สิ่งต่าง ๆ เป็นเรื่องยากนับตั้งแต่ผู้นำที่เหลืออยู่มีความรู้มากมายทั้งความรู้เชิงทฤษฎีที่เราใช้ในการเสนอโครงการใหม่และความรู้ด้านเทคนิค / การนำไปใช้งานของผลิตภัณฑ์ที่มีอยู่ของเราที่เราได้สูญเสียไปแล้ว บทบาทปกติของฉันคือเป็นผู้จัดการผลิตภัณฑ์ (สำหรับผลิตภัณฑ์ของเราเอง) และในฐานะนักวิเคราะห์ธุรกิจสำหรับงานให้คำปรึกษาตามโครงการของเรา ฉันสอนตัวเองให้เขียนโค้ดในช่วงปีที่ผ่านมาและในความพยายามที่จะเดินหน้าต่อไปฉันจะ ฉันได้ทำการติดตั้งแล็ปท็อปของฉันเป็นเครื่องพัฒนาด้วยความหวังว่าจะใช้งานฟีเจอร์การร้องขอที่ง่ายขึ้นและแก้ไขข้อผิดพลาดที่ไม่ต้องใช้สมองที่ส่งเข้าสู่ระบบตั๋วของเรา แต่ไม่มีใครรู้วิธีนำเครื่อง Windows มาใช้ใหม่และกำหนดค่าให้ทำงานได้อย่างราบรื่นด้วยแอปที่ใช้งานจริงของเรา ฉันได้ขอเจ้านายของฉันซึ่งยังคงติดต่อกับนักพัฒนาที่เหลือขอให้พวกเขาทำเอกสารและสร้างกระบวนการสำหรับผู้พัฒนาใหม่การติดตั้งซอฟต์แวร์แพคเกจที่จำเป็นกระบวนการในการปรับใช้กับเซิร์ฟเวอร์แอปพลิเคชั่นโปรดักชั่นเป็นต้น สิ่งนี้มีอยู่และฉันกำลังหมุนวงล้อเพื่อพยายามให้คอมพิวเตอร์ของฉันทำงานเป็นเครื่องพัฒนาฟังก์ชั่น แต่ดูเหมือนว่าเธอจะไม่เข้าใจความต้องการที่จะมีกระบวนการดังกล่าว เห็นได้ชัดว่านักพัฒนาใหม่ที่เข้ามาแทนที่ผู้ที่เหลืออยู่ได้ใช้เครื่องที่ได้รับการกำหนดค่าล่วงหน้าสำหรับสภาพแวดล้อมของเราดังนั้นแม้นักพัฒนาใหม่ไม่สามารถตั้งค่าเครื่องใหม่ได้หากเราเพิ่มนักพัฒนาคนอื่น คำถามของฉันเป็นสองส่วน: ฉันผิดในการสมมติว่ากระบวนการบนเครื่องและกำหนดค่าคอมพิวเตอร์เครื่องใหม่ให้เป็นส่วนหนึ่งของการพัฒนาระบบนิเวศของเราควรมีอยู่หรือไม่? ฉันเป็นเด็กที่น่ารังเกียจและควรคิดกระบวนการออกมาและสร้างเอกสารด้วยตัวเองหรือไม่?

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