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

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

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

6
คุณคิดอย่างไรกับไวยากรณ์ if-then ใหม่นี้ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันแค่คิดว่าจะมีอะไรบางอย่างที่เจ๋งจริง ๆ ที่มีอยู่ในการควบคุม if-elif-else if condition: stuff() elif condition: otherstuff() then: stuff_that_applies_to_both() else: stuff_that_doesnt_aply_to_either() ดังนั้นโดยทั่วไป a thenจะถูกเรียกใช้เมื่อเงื่อนไขใด ๆ ถูกเรียกใช้ยกเว้นเงื่อนไขอื่น คุณคิดว่าสิ่งนี้มีประโยชน์หรือไม่? มันคล้ายกับ try-except-else ของ python ฉันคิดว่าพวกคุณบางคนกำลังวางมือในการดำเนินการเบื้องต้น thenบล็อกจะเป็นเช่นเดียวกับelseบล็อกในtry-exceptบล็อกในหลาม เหตุผลที่แท้จริงที่ฉันแนะนำสิ่งนี้สำหรับสถานการณ์เช่นนี้ m = {} if condition == '1': m['condition'] = condition elif condition2 == '3': m['condition2'] = …
11 syntax 

3
เราควรทำอย่างไรเพื่อให้ Morning Standup พบปะกันได้ดีขึ้นและมีประสิทธิภาพ
ที่นี่ในสำนักงานของฉันเราได้ฝึกฝนมาก่อน 9.00 น. (ไม่ว่าในกรณีใดโดยผู้บริหาร) และเริ่มต้นด้วยการประชุม Standup ที่นี่เราเริ่มต้นด้วยการพูดคุยกับปัญหาของวันก่อนหน้าการปรับปรุงใด ๆ จากผู้จัดการ (ตามโอกาสในการขาย) และแผนงานสำหรับวันนี้ การประชุมครั้งนี้อาจฟังดูดีและเน้นไปที่กระบวนการ แต่บางครั้งถ้ามีการแสดงลงมามันจะทำลายอารมณ์ในตอนเช้าหรือหากมีความเห็นที่แตกต่างกันแล้วมันก็ไม่ใช่เรื่องดีที่จะเริ่มต้นด้วย ดังนั้นฝ่ายทรัพยากรบุคคลและฝ่ายบริหารจึงตัดสินใจว่าในขั้นต้นเราจะหารือเรื่องส่วนตัวเป็นเวลา 10 ถึง 15 นาทีจากนั้นเราจะข้ามไปยังการอภิปรายทางเทคนิคและเป็นทางการเป็นเวลา 15 นาทีทุกวันคุณจริงจังไหมฉันไม่ได้รับหัวข้อ ด้วยลีดเดอร์ของฉันที่แก่กว่าฉันมากและไม่เคยคุยเรื่องส่วนตัวเลยจนถึงตอนนี้และคุณต้องการเริ่มต้นด้วยมันแบบนั้น !!! ดังนั้นมันจึงกลับไปที่หนึ่งตาราง ทุกคน (น่าแปลกใจในทุกทีม) กำลังพูดคุยกันอีกครั้งในด้านเทคนิคเฉพาะในตอนเช้า / ยืนขึ้นการประชุม ดังนั้นที่นี่มาวันนี้ฉันมีอาหารกลางวันกับการจัดการและหัวข้อสำหรับการสนทนาคือ: จะทำให้การประชุม Nice Day (Morning / Standup) มีประสิทธิภาพได้อย่างไร?

1
ประสบการณ์ใด ๆ กับ“ ความคิดเริ่มต้น” ในการเขียนโปรแกรมคู่
บทความ"Promiscuous Pairing and Beginner's Mind" (PDF)แสดงให้เห็นว่าคุณใส่ใครบางคนในคู่ที่รู้น้อยที่สุดเกี่ยวกับพื้นที่เฉพาะของฐานรหัส นอกจากนี้ยังแสดงให้เห็นว่าคุณสลับจากสมาชิกอาวุโสของทั้งคู่ทุก 90 นาทีหรือมากกว่านั้น ไม่เพียง แต่มือใหม่จะได้เรียนรู้เกี่ยวกับพื้นที่ของรหัสนั้น แต่พวกเขายังจะคิดแตกต่างจากคนที่รู้จักพื้นที่นั้นอยู่แล้ว ใครบ้างมีประสบการณ์กับกลยุทธ์นี้หรือไม่? มันเกี่ยวข้องกับความเป็นจริงไหม? ฉันพบคำถามอื่น ๆ เกี่ยวกับเวลาที่จะใช้การเขียนโปรแกรมแบบคู่และจะยอมรับงานที่ต้องการการเขียนโปรแกรมแบบคู่หรือไม่ แต่ฉันไม่พบสิ่งใดที่เกี่ยวกับการจับคู่แบบจับคู่กันอย่างเฉพาะเจาะจงและกลยุทธ์นี้ ถ้าคุณไม่คุ้นเคยกับการเขียนโปรแกรมคู่มีบทความที่น่าสนใจเกี่ยวกับวิกิพีเดียและc2.com

6
ฟีเจอร์ใน Eclipse ไม่พร้อมใช้งานใน Visual Studio [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันได้ทำการพัฒนาอย่างมากใน Java โดยใช้ Eclipse และตอนนี้ฉันได้เริ่มใช้ Visual Studio สำหรับการพัฒนา. NET จนถึงตอนนี้ฉันพบว่า IDEs สามารถทำสิ่งเดียวกันได้ แต่ต่างกัน ฟีเจอร์ใน Eclipse ไม่พร้อมใช้งานใน Visual Studio

3
การอ้างอิงที่ตีพิมพ์ครั้งแรกในการเขียนโปรแกรมทดสอบครั้งแรกคืออะไร?
ฉันกำลังอ่าน Refactoring โดย Martin Fowler ในบทที่ 4 การทดสอบอาคารฉันเจอข้อความต่อไปนี้ ในความเป็นจริงหนึ่งในเวลาที่มีประโยชน์ที่สุดในการเขียนการทดสอบคือก่อนที่คุณจะเริ่มโปรแกรม เมื่อคุณต้องการเพิ่มสถานที่ให้เริ่มด้วยการเขียนการทดสอบ นี่ไม่ได้ย้อนกลับไปตามที่ฟัง เมื่อเขียนการทดสอบคุณจะถามตัวเองว่าต้องทำอะไรเพื่อเพิ่มฟังก์ชั่น การเขียนการทดสอบยังเน้นที่ส่วนต่อประสานมากกว่าการใช้งาน (เป็นสิ่งที่ดีเสมอ) นอกจากนี้ยังหมายความว่าคุณมีจุดที่ชัดเจนในการเขียนโค้ดเมื่อการทดสอบทำงาน ในขณะที่ฉันเป็นผู้สนับสนุนการพัฒนาที่ขับเคลื่อนด้วยการทดสอบในขณะนี้ฉันจำไม่ได้ว่าได้รับการแนะนำให้รู้จักกับแนวคิดเมื่อฉันอ่านหนังสือเล่มนี้เมื่อเกือบ 5 ปีที่แล้ว ตามที่ Amazon.com หนังสือเล่มนี้ถูกตีพิมพ์ครั้งแรกเมื่อวันที่ 8 กรกฎาคม 1999 นี่เป็นข้อมูลอ้างอิงที่ตีพิมพ์ครั้งแรกสำหรับการเขียนโปรแกรมทดสอบครั้งแรกหรือมีบางสิ่งที่เร็วกว่านี้หรือไม่
11 testing  history 

9
การได้รับปริญญาทางคณิตศาสตร์จะช่วยในการพัฒนาเกมหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันอยู่ห่างออกไปสองเดือนจากการได้รับปริญญาของฉันในวิศวกรรมระบบซึ่งก็คือว่าฉันเรียนรู้วิธีการใช้รหัสและโค้ดอย่างดีโดยใช้ภาษาที่มีการจัดการ เหตุผลเดียวที่ฉันเข้าสู่อาชีพนี้ก็เพราะฉันต้องการสร้างวิดีโอเกม ตอนนี้ฉันรู้แล้วว่าด้วยชุดทักษะปัจจุบันของฉันฉันจะไม่สามารถสร้างสิ่งที่ฉันมีอยู่ในหัวของฉันได้ การได้ปริญญาทางคณิตศาสตร์บริสุทธิ์จะช่วยให้ฉันบรรลุเป้าหมายนี้หรือไม่?

4
ระบบควบคุมเวอร์ชัน FOSS ใช้งานได้สำหรับองค์กรหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว สมมติว่า บริษัท ขนาดใหญ่กำลังวางแผนที่จะแทนที่ระบบควบคุมเวอร์ชันเดิมที่มีอยู่ สมมติว่ามันเป็นเพียงการพิจารณาระบบจากผู้ค้ารายใหญ่ที่มีค่าใช้จ่ายหลายแสนดอลลาร์เพราะพวกเขามี "การสนับสนุน" การควบคุมเวอร์ชันในสภาพแวดล้อมแบบ enterprisey ต้องมีราคาแพงไหม บริษัท ขนาดกลาง / ใหญ่ของคุณใช้ FOSS VCS เช่น SVN / Git / Mercurial หรือไม่ ประสบการณ์นั้นเป็นอย่างไร? ฉันต้องคิดว่าไม่จำเป็นต้องมีราคาแพงเนื่องจากมีตัวเลือกฟรีมากมายและอาจมี บริษัท ที่ให้การสนับสนุน FOSS VCS แบบเสียค่าใช้จ่ายหากนั่นเป็นข้อกังวลหลัก ฉันไม่ได้ตั้งใจคำถามนี้เพื่อเปรียบเทียบ VCS หรือตัดสินใจว่าจะดีที่สุดเพียงแค่เข้าใจประสบการณ์กับ VCS ในสภาพแวดล้อมด้านไอทีขององค์กร

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

6
เป็นที่ยอมรับหรือไม่สำหรับโครงการที่ใช้งบประมาณเกิน
คำถามนี้เป็นสิ่งที่ทำให้ฉันลังเลในช่วง 3 เดือนที่ผ่านมาตั้งแต่ฉันเปลี่ยนจากการเป็นอิสระสู่การทำงานกับ บริษัท ออกแบบเว็บไซต์ พนักงานขายของเรามักถามคำถามคล้ายกับคำถามต่อไปนี้: ต้องเสียค่าใช้จ่ายเท่าใดในการเขียนโปรแกรมวิดเจ็ต ใช้เวลากี่ชั่วโมงในการแปลงเว็บไซต์นี้เป็นซอฟต์แวร์นี้ (โดยไม่รู้ว่าขณะนี้เว็บไซต์ทำงานอยู่) ฯลฯ เราจะเสนอราคาโดยไม่มีข้อมูลได้อย่างไร ( ไม่ฉันไม่สามารถขอข้อมูลเพิ่มเติมได้! ) ฉันมีคำถามอื่นถ้าโครงการใช้งบประมาณเกินใช่หรือไม่ เมื่อเร็ว ๆ นี้ฉันพลาดเมนูทั้งหมดเมื่อคำนวณต้นทุนการโอนเว็บไซต์ไปยังแพลตฟอร์มใหม่โครงการจึงใช้งบประมาณเกิน เจ้านายของฉันไม่มีความสุขเลยและฉันคิดว่าบางสิ่งเช่นนี้ไม่สามารถหลีกเลี่ยงได้ 2. การปฏิบัติโดยทั่วไปในการจัดการกับการใช้จ่ายเกินงบประมาณ และโครงการเช่นการพัฒนาเว็บมักจะใช้งบประมาณมากกว่า หากคุณทำงานที่ บริษัท พัฒนา / ออกแบบ / เว็บที่คล้ายกัน: 3. ระบบชั่วโมงที่เรียกเก็บเงินได้ของคุณทำงานอย่างไร สำหรับฉันเรามีแอปพลิเคชันการติดตามเวลาที่เราบันทึกจำนวนชั่วโมงที่เราใช้ในโครงการใดและถ้าพวกเขาสามารถเรียกเก็บเงินหรือภายใน (AKA ไม่เรียกเก็บเงิน) หากไม่ตรงกับ xx ชั่วโมงที่เรียกเก็บเงินได้ต่อสัปดาห์เราจะได้รับปัญหา / ไล่ออกในที่สุด งานที่คุณทำเพื่อ บริษัท หรือลูกค้าที่ไม่ได้เรียกเก็บเงินไม่ได้เป็นส่วนหนึ่งของระบบนี้และเรามักจะต้องทำงานภายในฉันจึงสงสัยว่ามีระบบทางเลือกอื่น แก้ไข:ตกลงฉันเป็นนักพัฒนาที่ บริษัท นี้ไม่ใช่นักออกแบบ :) ประการที่สองฉันได้รับเงินเดือน แต่นี่คือวิธีการจัดการที่ดู คุณมี 35 …
11 project  budget 

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

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

4
ฮาร์ดไดรฟ์ลูกผสมปรับปรุงประสบการณ์การเขียนโปรแกรมหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันรู้สึกเบื่อหน่ายกับการพัฒนาพีซีของฉันที่เฉื่อยชา เป็น Core2 Duo, 2GB RAM, Seagate ST3500320AS HDD - ไม่ใช่รุ่นท็อป แต่เป็นรุ่นที่ดี โดยทั่วไปแล้วฉันเปิด Visual Studio 2008 หลายชุดแท็บจำนวนมากใน Firefox, Outlook, MSDN, และโปรแกรมที่ฉันดีบั๊กมีขนาดใหญ่มากรวมถึงสิ่งที่ Windows คิดว่ามันไม่สามารถใช้งานได้หากไม่มีฉันเลยจบด้วย Task Manager ที่แสดงบางอย่างเช่น 2 การใช้ไฟล์เพจขนาด 5 GB ซอฟต์แวร์ทั้งหมดที่กล่าวมาข้างต้นกลายเป็นสิ่งที่น่ารำคาญมากจนน่ารำคาญจริงๆ บางอย่างที่ฉันคลิกบนแถบเมนูใน Visual Studio - และแทนที่จะเปิดเมนูมันจะใช้งานฮาร์ดดิสก์ประมาณ 10 วินาที ฉันต้องการที่จะมีเวทมนตร์ …

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

2
การเขียนโปรแกรมวิดีโอเกมมักเกี่ยวข้องกับฟิสิกส์หรือไม่
ฉันรู้ว่านี่ไม่เป็นความจริงสำหรับบางเกมนักกวาดทุ่นระเบิดเกมไพ่ ฯลฯ แต่เกมเกี่ยวกับการจำลองสภาพแวดล้อมของโลกแห่งความเป็นจริง เห็นได้ชัดว่าเกมเหล่านี้มีวิศวกรฟิสิกส์รูปแบบหนึ่งที่ให้พลังงานกับกราฟิก สำหรับคนอย่างฉันที่ส่วนตัวไม่ชอบฟิสิกส์ แต่ชอบวิดีโอเกมฉันมีโอกาสที่จะมีส่วนร่วมในวงจรการพัฒนาของวิดีโอเกมเช่นนี้ในขณะที่ฟิสิกส์ไม่ชอบหรือไม่

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