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

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

8
ไวท์บอร์ด“ ทดสอบ” ในระหว่างการสัมภาษณ์: วิธีสำรองรหัส (ไวท์บอร์ด) ของคุณถูกต้องหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ตามที่ฉันได้รับมีข้อผิดพลาด (แม้แต่พิมพ์ผิดเหมือนหรือขาดหายไป ";") ในโค้ดไวท์บอร์ดของคุณมักจะทำให้คุณเสียคะแนนในการสัมภาษณ์ การหลีกเลี่ยงสิ่งนั้นจะทำให้รหัสการอ่านที่พิสูจน์ได้อย่างหลีกเลี่ยงไม่ได้อีกครั้ง (เสียเวลาและอาจเป็นพลังงาน / สมาธิ) หรือแม้แต่การใช้อัลกอริทึมที่ง่ายกว่า (และมีประสิทธิภาพน้อยลง) - และทั้งสองวิธีนี้ ดังนั้นทำไมไม่เพียงแค่เขียนโค้ดที่รวดเร็วและสวยงามอย่างที่คุณจะมีกรอบการทดสอบ (หน่วย) ในการกำจัดของคุณและจากนั้นเพียงแค่ทดสอบมัน (บนไวท์บอร์ด) มีใครลอง / เห็นวิธีการนี้หรือไม่? ความคิดทั้งหมดมีค่าควรหรือไม่ [ยังใช้กับกรณีปากกาและกระดาษแน่นอน]

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

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

6
คุณจัดระเบียบโฟลเดอร์โครงการอย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา สวัสดีตอนบ่าย ฉันอยากรู้ว่าพวกคุณจัดระเบียบโฟลเดอร์โครงการอย่างไร ฉันเคยเป็นหัวหน้าที่แนะนำให้ฉันจัดระเบียบโดยลูกค้า Projects | |----Customer 1 |---- A Cool Solution 1 |---- source |---- version1.0 |---- version1.1 |---- docs |---- analysis |---- meetings |---- manuals |----Customer 2 |----Customer 3 เพื่อนของฉันบอกให้ฉันจัดระเบียบเทคโนโลยีโดย Projects | |----.NET |---- C# |---- Customer 1 |---- A Cool Solution …

13
async & คอย - สำรวจทางเลือก [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ตอนนี้เรารู้ว่าสิ่งที่อยู่ในร้านสำหรับ C # 5 มีเห็นได้ชัดว่ายังคงเปิดสำหรับเราที่จะมีอิทธิพลต่อทางเลือกของสองคำใหม่สำหรับสasynchrony 'ที่ได้รับการประกาศโดย Anders Heijsberg เมื่อวานนี้ที่PDC10 async void ArchiveDocuments(List<Url> urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var document = await FetchAsync(urls[i]); if (archive != null) await archive; archive = ArchiveAsync(document); } …
15 c#  naming 

3
ภาษาแรกที่รองรับการเขียนโปรแกรมทั่วไป
ซึ่งเป็นภาษาแรกที่มีการสนับสนุนการเขียนโปรแกรมทั่วไปและสิ่งที่เป็นภาษาที่พิมพ์ครั้งแรกที่สำคัญแบบคงที่ (ใช้กันอย่างแพร่หลาย) ด้วยการสนับสนุน generics Generics ใช้แนวคิดของประเภทพารามิเตอร์เพื่อให้หลายประเภท คำทั่วไปหมายถึง "ที่เกี่ยวข้องกับหรือเหมาะสมกับกลุ่มของกลุ่มใหญ่" ฉันได้เห็นการกล่าวถึง "ครั้งแรก" ดังต่อไปนี้: ลำดับความแปรปรวนของตัวแปรอันดับหนึ่งกลายเป็นองค์ประกอบมาตรฐานของภาษาการเขียนโปรแกรมแบบคงที่ เริ่มต้นด้วย System F [20,42] และการเขียนโปรแกรมเชิงหน้าที่การสร้างได้พบวิธีการของพวกเขาเป็นภาษาหลักเช่น Java และ C # ในภาษาเหล่านี้ความแปรปรวนแบบพาราเมตริกเป็นอันดับแรกมักเรียกว่ายาชื่อสามัญ จาก " Generics of a More Kind" , Adriaan Moors, Frank Piessens และ Martin Odersky การเขียนโปรแกรมทั่วไปเป็นรูปแบบของการเขียนโปรแกรมคอมพิวเตอร์ที่อัลกอริทึมที่เขียนในแง่ของประเภทที่จะต้องระบุในภายหลังที่มีอินสแตนซ์แล้วเมื่อจำเป็นสำหรับประเภทเฉพาะที่ให้ไว้เป็นพารามิเตอร์ วิธีนี้เป็นผู้บุกเบิกโดย Ada ในปี 1983 จาก Wikipedia โปรแกรมทั่วไป

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

18
การออกเสียงในการเขียนโปรแกรม? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา คุณทำคำศัพท์การเขียนโปรแกรมอย่างถูกต้องหรือออกเสียงผิดพลาดอย่างไร? มีสิ่งใดบ้างที่คุณต้องการการแก้ไขอย่างเข้มงวดหรือประวัติศาสตร์ในวัฒนธรรม CS ยุคแรก? การเขียนโปรแกรม char = "tchar" ไม่สนใจเหรอ? ! = ปังไม่ใช่อัศเจรีย์? #= ปอนด์ไม่แฮช? ข้อยกเว้น#!= shebang * = แดงไม่ติดดาว? regex = "rej ex" ไม่ใช่ "regg ex"? sql= "sq l" ไม่ใช่ "sequel" (ตอบแล้วเช่นนั้น) Unixen | = ท่อไม่ใช่แถบแนวตั้ง? bin = bin เหมือนในพินไม่ใช่ในไบนารี่? lib = …

9
โดยสรุป: เราจะดูแลระบบเดิมอย่างไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา นิวยอร์ก - ด้วยการระเบิดที่ทำให้ตึกระฟ้าสั่นสะเทือนท่อไอน้ำอายุ 83 ปีส่งข้อความที่ทรงพลังว่าไมล์ของท่อสายไฟและเหล็กที่อยู่ใต้นิวยอร์กและเมืองอื่น ๆ ในสหรัฐอเมริกากำลังแก่ลงและอาจกลายเป็นอันตรายอย่างไม่มั่นคง เรื่องราวเกี่ยวกับท่อไอน้ำที่ระเบิดในแมนฮัตตัน เราเคยได้ยินเกี่ยวกับเน่าซอฟแวร์และหนี้ทางเทคนิค และเราได้ยินจากสิ่งที่ชอบ: "ลุงบ๊อบ" มาร์ติน - ใครเตือนเราเกี่ยวกับ " ผลที่ตามมาของการเลอะ " ไมเคิลซีขน - ใครทำให้เรามีคำแนะนำสำหรับ'การทำงานอย่างมีประสิทธิภาพด้วยรหัสมรดก' แน่นอนว่าชุมชนวิศวกรรมซอฟต์แวร์ตระหนักถึงปัญหาเหล่านี้ แต่ฉันรู้สึกว่าสังคมโดยรวมของเราไม่เห็นคุณค่าว่าปัญหาเหล่านี้สามารถทำให้เกิดปัญหากับระบบและแอปพลิเคชันได้อย่างไร ในฐานะที่เป็นสตีฟ McConnell บันทึก : ... ซึ่งแตกต่างจากหนี้ทางการเงินหนี้ทางเทคนิคนั้นมองเห็นได้น้อยกว่าดังนั้นผู้คนจึงมีเวลาได้ง่ายขึ้นโดยไม่สนใจ หากนี่เป็นเรื่องจริงและฉันเชื่อว่าเป็นเช่นนั้นฉันกลัวว่ารัฐบาลและภาคธุรกิจอาจเลื่อนการบำรุงรักษาและการป้องกันแฮกเกอร์เป็นประจำจนกว่าจะสายเกินไป [เหมือน NYC และท่อไอน้ำ] คำถามของฉัน: มีวิธีที่เราสามารถหลีกเลี่ยงซอฟต์แวร์เทียบเท่า NYC และท่อไอน้ำได้หรือไม่?

2
มีหนังสือที่ยอมรับเกี่ยวกับ Scala หรือไม่? [ปิด]
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันสนใจที่จะเรียนรู้สกาล่า แต่เนื่องจากมีความแปลกใหม่ฉันจึงไม่สามารถหาหนังสือจำนวนมากเกี่ยวกับเรื่องนี้ได้ มีหนังสือที่มีมาตรฐาน de-พฤตินัยสำหรับการอธิบายวิธีปฏิบัติที่ดีที่สุดวิธีการออกแบบและข้อมูลที่เป็นประโยชน์อื่น ๆ เกี่ยวกับสกาล่า? อะไรทำให้หนังสือเล่มนั้นพิเศษ?
15 books  scala 

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

8
เอกสารเท่าไหร่เพียงพอหรือไม่
มีเอกสารด้านเทคนิค (สำหรับนักพัฒนาในอนาคต) เพียงพอหรือไม่ มีอัตราส่วนระหว่างการเข้ารหัสชั่วโมงและการบันทึกเวลาที่เหมาะสมหรือไม่? Papadimoulis โต้แย้งว่าคุณควร ผลิตเอกสารจำนวนน้อยที่สุดที่จำเป็นเพื่ออำนวยความสะดวกในการทำความเข้าใจมากที่สุด นั่นเป็นแนวทางที่ดีหรือมีสิ่งเฉพาะที่ฉันควรสร้างหรือไม่?

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

6
จะจัดการโปรแกรมเมอร์ที่ไม่เป็นศูนย์กลางได้อย่างไร
ขออธิบายหน่อย ในงานก่อนหน้านี้ฉันมีเพื่อนร่วมงานที่มีชื่อเสียงที่ดีกับฝ่ายบริหาร เขาตรงเวลาเสมอ และผู้บังคับบัญชามีความสุขกับความก้าวหน้าของเขาดังนั้นเธอจึงได้รับสิทธิพิเศษบางอย่าง ปัญหาคือโปรแกรมเมอร์คนอื่น ๆ รู้ความลับของเขา เขาปรับกฎ 80/20 ให้เหมาะสมเขาจึงใช้เวลา 20 เปอร์เซ็นต์ในการทำโค้ดให้เสร็จ 80 เปอร์เซ็นต์ อื่น ๆ (ยาก) 20% ถูกปล่อยให้โปรแกรมเมอร์บำรุงรักษา ใคร (ไม่แปลกใจ) ถูกลงโทษเพราะขาดความก้าวหน้า แต่เนื่องจากโปรแกรมเมอร์นี้มีชื่อเสียงที่ดีกับฝ่ายบริหารจึงแทบไม่สามารถเปลี่ยนความผิดของเขาได้ (โชคดีที่เขาออกจาก บริษัท ) คำถามของฉันคือจะทำอย่างไรกับทีมการเขียนโปรแกรมหากคุณมีโปรแกรมเมอร์ในทีมของคุณ คุณพยายามเตือนผู้บริหารด้วยความเสี่ยงที่จะทำลายโอกาสของคุณหรือไม่? คุณยอมรับความจริงหรือไม่ หรือมีตัวเลือกอื่น ๆ
15 behavior 

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

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