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

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

6
วิธีแก้ปัญหาการเข้าใช้ใหม่แบบ Async C # 5
ดังนั้นมีบางอย่างเกี่ยวกับฉันที่สนับสนุน async ใหม่ใน C # 5: ผู้ใช้กดปุ่มที่เริ่มการทำงานของ async การโทรจะส่งกลับทันทีและปั๊มข้อความเริ่มทำงานอีกครั้งนั่นคือจุดรวม ดังนั้นผู้ใช้สามารถกดปุ่มอีกครั้ง - ก่อให้เกิดความเชื่อมั่นอีกครั้ง เกิดอะไรขึ้นถ้านี่เป็นปัญหา ในตัวอย่างที่ฉันได้เห็นพวกเขาจะปิดใช้งานปุ่มก่อนการawaitโทรและเปิดใช้งานอีกครั้งหลังจากนั้น ดูเหมือนว่าฉันจะเป็นทางออกที่เปราะบางมากในแอปที่ใช้งานจริง เราควรเขียนรหัสสถานะเครื่องจักรบางอย่างที่ระบุว่าต้องปิดการใช้งานการควบคุมใดสำหรับชุดการทำงานที่กำหนดไว้ หรือมีวิธีที่ดีกว่า ฉันอยากที่จะแสดงกล่องโต้ตอบเป็นกิริยาช่วยในช่วงระยะเวลาของการดำเนินการ แต่นี่รู้สึกเหมือนใช้ค้อนขนาดใหญ่ มีใครมีความคิดที่สดใสบ้างไหม แก้ไข: ฉันคิดว่าการปิดใช้งานการควบคุมที่ไม่ควรใช้ในขณะที่การดำเนินการกำลังทำงานอยู่มีความเปราะบางเพราะฉันคิดว่ามันจะซับซ้อนอย่างรวดเร็วเมื่อคุณมีหน้าต่างที่มีการควบคุมมากมาย ฉันชอบที่จะทำให้สิ่งต่าง ๆ เรียบง่ายเพราะมันช่วยลดโอกาสในการเกิดข้อบกพร่องทั้งในระหว่างการเข้ารหัสเริ่มต้นและการบำรุงรักษาที่ตามมา จะเกิดอะไรขึ้นถ้ามีชุดควบคุมที่ควรปิดใช้งานสำหรับการดำเนินการเฉพาะอย่าง และจะเกิดอะไรขึ้นถ้าการทำงานหลายอย่างทำงานพร้อมกัน?

3
จะเริ่มเรียนรู้วิธีใช้ห้องสมุด Boost ได้ที่ไหน
เมื่อเร็ว ๆ นี้ Boost มีให้บริการในโครงการที่ฉันใช้งานอยู่และฉันก็ไม่มีประสบการณ์มากนัก ห้องสมุดมีหลายส่วนและคุณสมบัติที่ยากที่จะรู้ว่าจะเริ่มเรียนรู้ได้ที่ไหน - โดยเฉพาะอย่างยิ่งเมื่อฉันพยายามเรียนรู้ในขณะที่สร้างรหัสการผลิต ฉันจะซาบซึ้งมากถ้ามีใครบางคนสามารถแสดงรายการคุณลักษณะ 3 ถึง 5 อย่างซึ่งมีประโยชน์มากโดยทั่วไปการเขียนโปรแกรมทุกวันและระบุว่าทำไมพวกเขาถึงมีประโยชน์ จากนั้นฉันก็สามารถเริ่มเรียนรู้และใช้มันอย่างน้อยมันก็จะทำให้ฉันตั้งหลักในห้องสมุดและเป็นสถานที่ที่เป็นมิตรในการเริ่มเรียนรู้ / ใช้มัน :) ขอบคุณล่วงหน้า!
16 c++  boost 

3
ใบอนุญาต“ ทำทุกสิ่งที่คุณต้องการ” ด้วย Attribution
ฉันกำลังมองหาใบอนุญาตโอเพนซอร์สที่ช่วยให้ผู้คนทำสิ่งที่พวกเขาต้องการ - เช่นเดียวกับใบอนุญาต MIT - ตราบใดที่พวกเขาอ้างถึงผู้เขียนต้นฉบับคือฉัน ใบอนุญาตทั่วไปมีอยู่สำหรับสิ่งนี้หรือไม่? ถ้าเป็นเช่นนั้นมันคืออะไร?

12
เหตุใด Java จึงถูกพิจารณาว่าพกพาได้มากกว่าภาษาอื่นเช่น C ++
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ อะไรคือความแตกต่างระหว่าง "การเขียน JRE เฉพาะสำหรับแต่ละแพลตฟอร์ม" สำหรับนักพัฒนา Java และ "การเขียนคอมไพเลอร์ C ++ สำหรับแต่ละแพลตฟอร์ม" สำหรับ C ++
16 java  c++  portability 

3
ความแตกต่างระหว่างการเขียนโปรแกรมเครือข่ายและการเขียนโปรแกรมซ็อกเก็ต
มีความแตกต่างที่สำคัญเมื่อเราพูดถึง "การเขียนโปรแกรมซ็อกเก็ต" เมื่อเทียบกับ "การเขียนโปรแกรมเครือข่าย" หรือไม่? มีหัวข้อที่ครอบคลุม "การเขียนโปรแกรมเครือข่าย" แต่ไม่ใช่ "การเขียนโปรแกรมซ็อกเก็ต" หรือไม่?

5
การรวมตัว getters และ setters
ไลบรารี JavaScript เช่น jQuery รวม 'getters' และ 'setters' ในอินเตอร์เฟสการเขียนโปรแกรมเช่น: $('element').css({'color','blue'}); จะตั้งค่าสีหรือ $('element').css(); จะได้รับ CSS สำหรับองค์ประกอบ มีชื่อสำหรับรูปแบบดังกล่าวและเป็นวิธีปฏิบัติที่ดีที่จะใช้ในแอปพลิเคชันหรือไม่

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

4
จำเป็นต้องมีการรวบรวมขยะในภาษาแบบกองซ้อนหรือไม่?
จำเป็นต้องมีการเก็บรวบรวมขยะ (GC) ในภาษาที่ใช้สแต็กคืออะไร? ในภาษาอย่างForthหรือRPL (บนเครื่องคิดเลขของ HP ) จำเป็นต้องมีการรวบรวมขยะหรือไม่? ฉันคิดว่าเนื่องจากเอาต์พุตถูกสแต็กออกจากสแต็กดังนั้นจึงไม่มีความจำเป็นใด ๆ ฉันพลาดอะไรไปรึเปล่า?

7
การประชุมวางแผนการวิ่งระยะเวลานานเท่าไร
จากประสบการณ์ของคุณการประชุม Sprint Planning ควรจะนานเท่าไร 8 ชั่วโมง? หรือควรสั้นลง (กระชับ) และควรมีการวางแผนการสนทนาเพิ่มเติมในฐานะส่วนหนึ่งของการวิ่ง Sprints ของเรามีความยาว 10 วัน
16 agile  scrum  planning 

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

3
ฉันควรใช้วิธี / เทคโนโลยี / เครื่องมือ. NET REST ใด
ฉันกำลังใช้บริการเว็บสงบและแอปพลิเคชันไคลเอนต์หลายแห่งที่ส่วนใหญ่อยู่ใน Silverlight ฉันกำลังค้นหาตัวเลือกจำนวนมากสำหรับการพัฒนาทั้งฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ของ API แต่ไม่แน่ใจว่าวิธีใดดีที่สุด ฉันกังวลเกี่ยวกับความเสถียรเช่นเดียวกับแพลตฟอร์มที่จะยังคงมีอยู่ไม่กี่เดือนนับจากนี้ เราเริ่มใช้ REST Starter Kit กับ. NET 3.5 แต่ย้ายไปที่ WCF Web API ใหม่เมื่ออัปเดตเป็น. NET 4.0 เอกสารทั้งหมดของพวกเขาบ่งชี้ว่า WCF Web API เป็นการแทนที่สำหรับ RSK อย่างไรก็ตาม Web API อยู่ในหน้าตัวอย่าง 4 เท่านั้นและไม่รวมการสนับสนุนสำหรับ Silverlight หรือไคลเอนต์ Windows Phone 7 (ยัง) WCF Web API ดูเหมือน wrapper ด้านบนของ WCF WebHttp Services ที่มีอยู่ในSystem.ServiceModel.Webไลบรารีซึ่งทำให้ฉันคิดว่ามันอาจจะง่ายกว่าที่จะไปกับสิ่งที่มีอยู่ในตัว แต่ Web …
16 .net  rest  wcf 

2
อัลกอริทึม "bucket-fill" ที่ดีที่สุดคืออะไร?
ฉันค่อนข้างใหม่กับการประมวลผลภาพและตอนนี้ฉันกำลังทำงานกับแอพพลิเคชั่นที่คล้ายสีที่จะมีการเติมเต็มถัง อย่างไรก็ตามฉันไม่ทราบว่าอัลกอริทึมที่ดีที่สุดสำหรับที่เก็บข้อมูลเติมคืออะไร ฉันนำตัวอย่างที่ฉันพบจากไซต์นี้มาใช้ แต่พบปัญหาลูปไม่สิ้นสุดเมื่อผู้ใช้พยายามที่จะทำการเติมพื้นที่ที่เต็มถังแล้วด้วยสีเดียวกัน ขณะนี้ฉันกำลังแก้ไขปัญหาโดยการเติมซ้ายขวาขึ้นและลง; อย่างไรก็ตามฉันทำเพื่อที่ว่าเมื่อพิกเซลได้รับการกรอกในด้านซ้ายก็ไม่สามารถเติมไปทางขวาซึ่งหมายถึงรูปร่างเช่น: จะไม่ถูกกรอกอย่างถูกต้องหากมีการใช้เครื่องมือฝากข้อมูลที่จุดสีแดง ดังนั้นฉันหวังว่าจะมีบางคนรู้อัลกอริทึมหรือลิงค์ไปยังที่จะแก้ไขปัญหาเหล่านี้ทั้งหมด ข้อมูลเพิ่มเติม:สิ่งนี้จะดำเนินการโดยใช้ Javascript เป็นเครื่องมือทาสี มันจะถูกใช้ออนไลน์โดยใช้องค์ประกอบ Canvas
16 algorithms 

5
คุณรายงาน“ ประสบการณ์การเริ่มต้น” ในประวัติย่อของคุณอย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา สมมติว่าคุณใช้เวลาเป็นจำนวนมาก (5 ปี) ในการเริ่มต้น บริษัท อย่างจริงจังด้วยความสำเร็จที่เพียงพอที่จะดำเนินธุรกิจต่อไปอีก 5 ปี แต่ไม่เพียงพอที่จะเกษียณอายุ และตอนนี้ด้วยการจำนองและความสัมพันธ์ที่จริงจังเหนื่อยล้าคุณกำลังพยายามที่จะปัดฝุ่นประวัติส่วนตัวของคุณและรับงานปกติ 9-5 คุณจะบันทึก / รายงานเกี่ยวกับประสบการณ์การทำงานของคุณที่ บริษัท สตาร์ทอัพอย่างไร การทำรายการเทคโนโลยีฟังดูไร้สาระ (มันเกินขนาดจริง) และไม่สมบูรณ์มาก (ด้วยการเริ่มต้นเล็ก ๆ น้อย ๆ ในระยะแรกมีการทำงานมากขึ้นกว่าการแฮ็คที่โค้ด) งานเขียนโปรแกรมตามปกติดูเหมือนจะเป็นเรื่องเสีย (ด้วยการผสมผสานของประสบการณ์ทั้งหมดที่มาจากการทำงานในช่วงเริ่มต้นการให้ทักษะเพิ่มเติมที่เรียนรู้ไปในทางที่ไม่รู้สึกค่อนข้างถูกต้อง) ดังนั้นการรายงานเกี่ยวกับประสบการณ์ ในประวัติย่อของโปรแกรมเมอร์ทั่วไปอาจไม่ใช่สิ่งที่ถูกต้อง

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

2
วิธีจัดโครงสร้างโซลูชัน / โครงการที่ทับซ้อนกันหลายรายการใน. Net
ฉันเพิ่งเริ่มทำงานกับลูกค้าใหม่ที่มีมรดกเก่า codebaseซึ่งมีโซลูชัน. net หลายรายการโดยทั่วไปแต่ละโฮสต์โฮสต์บางโครงการที่ไม่ซ้ำกันกับโซลูชันนั้น แต่แล้วลิงก์ "ยืม" / "ใน" (เพิ่มโครงการที่มีอยู่) บางโครงการอื่น ๆ ซึ่งทางเทคนิคเป็นของโซลูชั่นอื่น ๆ (อย่างน้อยถ้าคุณไปตามโครงสร้างโฟลเดอร์ใน TFS) ฉันไม่เคยเห็นการตั้งค่านี้พันกันไม่มีคำสั่งสร้างที่ชัดเจนบางครั้งโครงการในการแก้ปัญหาการอ้างอิงที่กำลังโดยตรงจากไดเรกทอรีผลลัพธ์ของโครงการที่โฮสต์ในโซลูชัน B บางครั้งโครงการได้รวมโดยตรงแม้ว่ามันจะอยู่ ไกลออกไปในโครงสร้างโฟลเดอร์ ดูเหมือนว่าทุกอย่างได้รับการปรับปรุงเพื่อความเกียจคร้านของนักพัฒนาซอฟต์แวร์ เมื่อฉันเผชิญหน้ากับพวกเขาว่าทำไมพวกเขาถึงไม่มีเซิร์ฟเวอร์ CI พวกเขาตอบว่ามันยากที่จะตั้งค่าด้วยรหัสที่จัดระเบียบแบบนี้ (ฉันกำลังตั้งค่าตอนนี้และสาปแช่งรหัสองค์กร) การแก้ปัญหาถูกจัดระเบียบรอบ ๆ สิ่งประดิษฐ์การปรับใช้ (สิ่งที่ต้องมีการปรับใช้ร่วมกันอยู่ในโซลูชันเดียวกัน) ซึ่งฉันคิดว่าเป็นการตัดสินใจที่ชาญฉลาด แต่เนื้อหาของการแก้ปัญหาเหล่านั้น (โครงการ) อยู่ทั่วสถานที่ มีมติของวิธีปฏิบัติที่ดีที่สุดที่จะใช้เมื่อนำไลบรารีคลาสทั่วไปกลับมาใช้ซ้ำในหลายโซลูชัน / การปรับใช้ส่วน วิธีการโครงสร้างรหัสใน VCS วิธีอำนวยความสะดวกในการแบ่งปันตรรกะทางธุรกิจระหว่างส่วนการปรับใช้แยกต่างหาก

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