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

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

8
อะไรคือความแตกต่างที่สำคัญเมื่อย้ายจากคอนโซลไปเป็นโปรแกรมอิง GUI
ฉันเริ่มเหมือนคนอื่น ๆ ด้วยการเขียนโปรแกรมแบบคอนโซล (เช่นเดียวกับใน terminal ไม่ใช่ Playstation) แต่ไม่ช้าก็เร็วจำเป็นต้องสัมผัสกับการเขียนโปรแกรมบน GUI ไม่ว่าคุณต้องการหรือไม่ การเปลี่ยนแปลงนี้มีการเปลี่ยนแปลงมากมายในวิธีที่คุณต้องคิดเกี่ยวกับส่วนหน้า (และอาจเป็นแบ็กเอนด์) ดังนั้นความแตกต่างที่สำคัญเมื่อย้ายจากการเขียนโปรแกรมบนคอนโซลไปยังการเขียนโปรแกรมบน GUI คืออะไร
18 gui 

9
ข้อดีของการแย่งชิงกันสำหรับนักพัฒนาเอง? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว การแย่งชิงกันเป็นวิธีการจัดการโครงการคุณจะ 'ขาย' ให้กับนักพัฒนาในทีมที่มีความสุขอย่างสมเหตุสมผลกับสถานการณ์ปัจจุบันอย่างไร ฉันจะอธิบายให้ผู้จัดการผลิตภัณฑ์ของเราฟังได้ง่ายว่า Scrum จะอนุญาตให้เขาเผยแพร่เป็นประจำแก้ไขข้อกำหนดและให้ทีมงานให้ความสำคัญกับเรื่องราวที่มีลำดับความสำคัญสูงก่อนได้อย่างไร ฉันพบว่ามันง่ายที่จะอธิบายว่า TDD หรือการรวมต่อเนื่องนำมาซึ่งชีวิตนักพัฒนาของวันต่อวัน แต่นักพัฒนาจะมั่นใจได้อย่างไรว่าจะยอมรับ Scrum? การแย่งชิงกันจะทำให้ชีวิตง่ายขึ้นได้อย่างไร
18 scrum 

8
อะไรคือสิ่งที่ดึงดูดความสนใจของชาวฮังการี [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ในสิ่งที่ตั้งชื่อแนวทางใดที่คุณทำตาม? ผู้เขียนพูดว่า: นอกจากนี้ฉันชอบเขียนโค้ดโดยใช้สัญกรณ์ฮังการีจาก Charles Simonyi ฉันทำงานกับโปรแกรมเมอร์หลายคนที่ยังคงชอบใช้ภาษาฮังการีซึ่งส่วนใหญ่เป็นรสชาติของ Petzold / Systems Hungarian dwLength = strlen(lpszName)คิด ฉันได้อ่านการสร้างรหัสผิดดูผิดและฉันเข้าใจเหตุผลของ Apps Hungarian ซึ่งข้อมูลประเภทโดเมนรวมอยู่ในชื่อตัวแปร แต่ฉันไม่เข้าใจค่าในการจับคู่ประเภทคอมไพเลอร์กับชื่อ ทำไมโปรแกรมเมอร์ยังคงใช้รูปแบบของสัญกรณ์นี้อยู่? มันเป็นเพียงความเฉื่อย มีประโยชน์ใดบ้างที่เกินความสามารถในการอ่านที่ลดลง? ผู้คนเพิ่งเรียนรู้ที่จะเพิกเฉยต่อนักตกแต่งเมื่ออ่านรหัสและถ้าเป็นเช่นนั้นพวกเขาจะเพิ่มมูลค่าได้อย่างไร? แก้ไข: คำตอบจำนวนมากกำลังอธิบายประวัติหรือเหตุใดจึงไม่มีความเกี่ยวข้องอีกต่อไปซึ่งทั้งสองข้อนี้ครอบคลุมอยู่ในบทความที่ฉันอ้างถึง ฉันอยากได้ยินจากใครที่ยังใช้มันอยู่ ทำไมคุณใช้มัน มันอยู่ในมาตรฐานของคุณหรือไม่ คุณจะใช้มันหรือไม่ถ้าไม่จำเป็น? คุณจะใช้มันในโครงการใหม่หรือไม่? คุณเห็นว่าอะไรคือข้อดี?

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

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

8
“ Gödel, Escher, Bach” ยังคงใช้ได้วันนี้หรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเพิ่งเรียนจบหลักสูตรเกี่ยวกับการคำนวณและตรรกะซึ่งเป็นหลักสูตรที่น่าสนใจ ผู้บรรยายแนะนำหนังสือสองสามเล่มบนสไลด์ของเขาซึ่งรวมถึง "Gödel, Escher, Bach" ฉันเห็นว่าหนังสือเล่มนี้มีชื่อเสียงมากและดูน่าสนใจมาก แต่ฉันมีคำถามสองสามข้อที่จะถามเกี่ยวกับเนื้อหา วันนี้เนื้อหายังคงใช้ได้หรือไม่? ฉันเดาว่าสิ่งต่าง ๆ ในทางทฤษฎีส่วนใหญ่จะไม่เปลี่ยนแปลงข้ามคืน แต่มีประเด็นสำคัญอะไรที่ไม่ควรมีอีกต่อไปในวันนี้ที่ฉันควรระวัง? ฉันคิดว่าจริงๆแล้วเรามีความคืบหน้าใน 30 ปีที่ผ่านมา มีใครบ้างที่แนะนำหนังสือเกี่ยวกับเรื่องที่มีความคืบหน้านี้ (ตรรกะ, AI, ความสามารถในการคำนวณ) คำถามอื่น:ฉันต้องรู้เกี่ยวกับ Escher และ Bach หรือไม่?

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

11
สิ่งที่คุณควรทิ้งไว้ข้างหลังสำหรับผู้สืบทอดของคุณ?
สมมติว่าคุณเป็นผู้พัฒนาเพียงผู้เดียวที่ออกจากงาน คุณควรสร้างและทิ้งข้อมูล / เนื้อหาใดนอกเหนือจากรหัสไว้สำหรับการแทนที่? คำตอบที่ชัดเจนคือ "สิ่งที่คุณต้องการในงานใหม่" แน่นอน แต่มันก็ไม่นานหลังจากที่ฉันเริ่มงานใหม่และฉันลืมสิ่งที่สำคัญที่สุดที่ฉันต้องการกลับไปแล้ว ฉันกำลังคิด: บัญชี / รหัสผ่าน ที่ตั้งของอุปกรณ์การสำรองข้อมูลแผ่นซีดีซอฟต์แวร์ มีอะไรอีกบ้าง?

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

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

6
ทำไมไม่มีแท็ก HTML ฝั่งไคลเอ็นต์รวมอยู่ด้วย
ฉันมีคำถามที่โพสต์เมื่อวันก่อนโดยโปรแกรมเมอร์อื่น ฉันจำได้ (นานมาแล้ว) สงสัยเหมือนกันมาก ทำไมแท็กรวมถึงเบราว์เซอร์จึงไม่เคยพิจารณา หรือว่ามัน? โดยเฉพาะกับแท็กที่สั่งให้เบราว์เซอร์รวม HTML เพิ่มเติมจากแหล่งอื่น ๆ <include src="http://server/foo/bar.html">เช่น หลายคนจะเรียกใช้จาวาสคริปต์และเติมinnerHTMLเพื่อให้เหมือนกันเมื่อเบราว์เซอร์ภายนอกสามารถสร้างเอ็นจิ้นจาวาสคริปต์ได้ มันจะเจ็บปวดที่จะมี<HTML>s ซ้อนกัน<BODY>(เช่น) แต่เราต้องพิจารณาด้านนั้นทุกที่
18 history  html 

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

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

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

9
วิธีจัดการกับ“ การเขียนโปรแกรม blowhard”? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ดังนั้นฉันจึงมั่นใจว่าทุกคนจะพบกับบุคคลนี้ในจุดหนึ่งหรืออีกจุดหนึ่งมีใครบางคนจับกระแสความคิดหรือโครงการของคุณและเริ่มแสดงความสนใจ คุณจะได้พูดถึงวิธีการบางอย่างของคุณและมักจะประมาณเวลานี้พวกเขาถามว่าคุณควรใช้วิธี X แทนหรือใช้ไลบรารี่ Y แต่ไม่ใช่คำแนะนำที่เป็นมิตร แต่อยู่ติดกับพระบัญญัติ บ่อยครั้งที่ทำซ้ำคำแนะนำเดียวกันซ้ำแล้วซ้ำอีกเหมือนนกแก้วที่มีปัญหา โดยส่วนตัวแล้วฉันชอบที่จะสร้างวงล้อใหม่เมื่อฉันเรียนรู้หรือแม้กระทั่งเพื่อความสนุกสนานแม้ว่ามันจะเลวร้ายยิ่งกว่าที่เคยทำมาก่อน แต่เห็นได้ชัดว่าบุคคลนี้ไม่สามารถเข้าใจการสร้างยูทิลิตี้ใด ๆ เพื่อวัตถุประสงค์ดังกล่าวหรืออาจลองบางสิ่งที่ไม่ได้ปฏิบัติตามแนวทางปฏิบัติของ OOP แบบดั้งเดิมอย่างเคร่งครัดและจะไม่ยอมรับสิ่งใดนอกจากความรู้สึกสมบูรณ์แบบและโดยธรรมชาติแล้ว . ในที่สุดก็ปิดท้ายพวกเขาในที่สุดก็เริ่มแก้ตัวคำแนะนำของพวกเขา (ชะลอ) โดยการแสดงรายการสิ่งที่ซับซ้อนอย่างไม่น่าเชื่อที่พวกเขาได้รับรหัสเดียวลำพัง (มักตามแนวของ "เชื่อฉันฉันได้ทำ / ใช้โปรแกรม X เป็นเวลานาน , อื่น ๆ"). ตอนนี้ฉันยังห่างไกลจากการเป็นผู้เชี่ยวชาญการเขียนโปรแกรมฉันอาจไม่ดีและฉันก็ให้ความสำคัญกับคำแนะนำและคำวิจารณ์ แต่ฉันคิดว่าคำแนะนำ / คำวิจารณ์มีเวลาและสถานที่ นอกจากนี้ยังมีความแตกต่างใหญ่ระหว่างการช่วยเหลือและหลงตัวเอง ในอดีตฉันอาจจะใช้การเลิกจ้างในสไตล์จอร์จคาร์ลินที่ค่อนข้างแข็งแกร่ง แต่ฉันไม่คิดว่าการเบิร์นบริดจ์เป็นวิธีที่ดีที่สุดอีกต่อไป คุณมีคำแนะนำเกี่ยวกับวิธีการจัดการกับวาจาโบยตีนี้หรือไม่

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