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

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

1
ความสัมพันธ์ของ Zend กับ PHP คืออะไร?
อะไรคือความสัมพันธ์ระหว่าง Zend กับ PHP? ฉันไม่ได้หมายถึงกรอบงาน แต่เป็น บริษัท เอง พวกเขาเป็นคนเฝ้าประตูหรือผู้พิทักษ์แห่งการเรียงลำดับ ฉันเพิ่งได้อ่าน PHP และอื่น ๆ ที่ไม่ใช่ต้องการความรู้ของ C เพื่อขยายคุณจำเป็นต้องเรียนรู้ Zend APIs แต่เมื่อคุณเริ่มต้นด้วย PHP คุณไม่จำเป็นต้องรู้อะไรเลย "Zend" และสิ่งนี้ก็เหมือนกันสำหรับกรอบที่ไม่ใช่ Zend เช่น Cake และ CodeIgniter ดังนั้นฉันจึงสับสนและอยากรู้อยากเห็นเมื่อรู้ว่า Zend เริ่มมีความสำคัญในการใช้ PHP

11
ข้อแตกต่างระหว่างการดีบักและการทดสอบคืออะไร
คำแนะนำเกี่ยวกับการทดสอบซอฟต์แวร์ (Ammann & Offutt) กล่าวถึง p.32 แบบทดสอบครบกำหนด 5 ระดับ: ระดับ 0ไม่มีความแตกต่างระหว่างการทดสอบและการดีบัก ระดับ 1วัตถุประสงค์ของการทดสอบคือการแสดงให้เห็นว่าซอฟต์แวร์ใช้งานได้ ระดับ 2วัตถุประสงค์ของการทดสอบคือการแสดงให้เห็นว่าซอฟต์แวร์ไม่ทำงาน ระดับ 3จุดประสงค์ของการทดสอบไม่ได้เป็นการพิสูจน์สิ่งใดเป็นพิเศษ แต่เพื่อลดความเสี่ยงในการใช้ซอฟต์แวร์ การทดสอบระดับ 4เป็นวินัยทางจิตใจที่ช่วยให้ผู้เชี่ยวชาญด้านไอทีทุกคนพัฒนาซอฟต์แวร์ที่มีคุณภาพสูงขึ้น แม้ว่าพวกเขาจะไม่ได้ลงรายละเอียดเพิ่มเติมมากนัก การดีบักและการทดสอบต่างกันอย่างไร

4
Relicense BSD 2/3-clause code เป็น GPL
สมมติว่าฉันปล่อยซอร์สโค้ดภายใต้ไลเซนส์ BSD ใหม่ อนุญาตให้บุคคลอื่นนำรหัสนี้ทำการแก้ไขและแจกจ่ายภายใต้เงื่อนไขของ GPL หรือไม่ จากวิกิพีเดีย : ใบอนุญาตซอฟต์แวร์ฟรีที่ใช้กันทั่วไปส่วนใหญ่เช่นใบอนุญาต MIT / X ดั้งเดิมใบอนุญาต BSD (ในรูปแบบ 2 ข้อปัจจุบัน) และ LGPL เป็น "รองรับ GPL" นั่นคือรหัสของพวกเขาสามารถรวมกับโปรแกรมภายใต้ GPL โดยไม่มีข้อขัดแย้ง (ชุดค่าผสมใหม่จะมี GPL ที่นำไปใช้กับทั้งหมด) อย่างไรก็ตามลิขสิทธิ์ซอฟต์แวร์โอเพนซอร์ซ / โอเพนซอร์สบางตัวไม่รองรับ GPL ฉันสมมติว่านี่หมายความว่าเราสามารถกำหนดรหัสลิขสิทธิ์ใหม่ BSD ให้ GPL ได้ไหม
11 gpl  bsd-license 

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

6
อะไรคือเหตุผลที่ดีในการใช้งานส่วนติดต่ออย่างชัดเจนเพื่อจุดประสงค์ในการซ่อนสมาชิก
ระหว่างที่ฉันศึกษาเรื่องความซับซ้อนของ C # ฉันพบข้อความที่น่าสนใจเกี่ยวกับการใช้อินเทอร์เฟซที่ชัดเจน While this syntax is quite helpful when you need to resolve name clashes, you can use explicit interface implementation simply to hide more "advanced" members from the object level. ความแตกต่างระหว่างการอนุญาตให้ใช้object.method()หรือต้องการการหล่อของ((Interface)object).method()การทำให้งงงวยหมายถึงใจแข็งกับสายตาที่ไม่มีประสบการณ์ของฉัน ข้อความตั้งข้อสังเกตว่าสิ่งนี้จะซ่อนวิธีการจาก Intellisense ที่ระดับวัตถุ แต่ทำไมคุณต้องการทำเช่นนั้นหากไม่จำเป็นต้องหลีกเลี่ยงความขัดแย้งของชื่อ
11 c#  design  interfaces 

5
เหตุใดเราจึงเขียนวัตถุจำลองเมื่อเขียนกรณีทดสอบหน่วย
ขณะนี้เรากำลังเขียนกรณีทดสอบหน่วยในโครงการของเรา การใช้งานสำหรับวิธีการฐานข้อมูลที่มีอยู่และทำงานได้ดี ในกรณีนี้ทำไมเราต้องเขียนวัตถุจำลอง มีเหตุผลพิเศษหรือไม่? เหตุใดฉันจึงไม่สามารถทดสอบ DAO ได้ดำเนินการโดยตรง

6
นอกเหนือจากซอฟต์แวร์เก่าแล้วมีเหตุผลในการใช้ภาษาโคบอล?
COBOL ยังคงใช้เป็นอย่างมากในการคำนวณทางการเงิน มันเป็นภาษาเก่าและโปรแกรมเมอร์ส่วนใหญ่ของ AFAIK เกลียดหรืออย่างน้อยก็ไม่ชอบ COBOL สิ่งนี้นำมาซึ่งคำถาม: เป็นเหตุผลเดียวที่ COBOL ยังคงใช้งานอยู่ว่าซอฟต์แวร์ดั้งเดิมใช้หรือมีข้อได้เปรียบเหนือภาษาการเขียนโปรแกรมอื่น ๆ หรือไม่? แค่สงสัย.

3
Java Swing GUI มีข้อบกพร่องอะไรบ้าง [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันใช้ Java Swing สำหรับแอปพลิเคชันเดสก์ท็อปบางตัวแล้ว แต่ฉันไม่ได้ใช้กรอบงาน GUI อื่นที่มากดังนั้นฉันไม่สามารถเปรียบเทียบได้ มีบางอย่างที่ฉันชอบกับ Swing และบางอย่างที่ฉันไม่ชอบ แต่นั่นเป็นสถานการณ์ที่เกือบทุกอย่าง อะไรคือข้อเสียที่ใหญ่ที่สุดของ Java Swing GUI framework?
11 frameworks  gui  swing 

9
สำคัญอย่างไรที่คุณรู้มาตรฐาน C ++
ฉันลองค้นหา แต่ฉันไม่เห็นคำถามที่คล้ายกัน (ไม่ว่าจะเป็นหรือคำศัพท์การค้นหาของฉันไม่ถูกต้อง - ถ้าเป็นเช่นนั้นรู้สึกอิสระที่จะปิด) ฉันเป็นผู้ใช้ตัวยงของ SO และฉันสังเกตเห็นว่ามีการอ้างอิงจำนวนมากถึงมาตรฐาน C ++ ในการอภิปรายและคำตอบ - และฉันต้องยอมรับว่าฉันไม่เคยอ่านเอกสารนี้โดยเฉพาะภาษาทำให้ตาของฉันเจ็บ ... ดังนั้น คำถามคือนักพัฒนา C ++ สามารถสร้างรหัสสำหรับการอยู่อาศัยได้โดยไม่ต้องอ่านเอกสารนี้หรือไม่? มันสำคัญจริง ๆ สำหรับเราที่เป็นแค่มนุษย์ปุถุชนที่ไม่ได้อยู่ในธุรกิจการเขียนคอมไพเลอร์?
11 c++  standards 

12
มีวิธีรองรับการรันแอปพลิเคชั่น. NET 4.0 บนเครื่อง Mac หรือไม่?
ตัวเลือกการสนับสนุนของ Microsoft สำหรับการใช้งานรหัส C # /. NET 4.0 บน Mac คืออะไรถ้ามี ใช่ฉันรู้เกี่ยวกับ Mono แต่เหนือสิ่งอื่นใดมันล่าช้า Microsoft และ Silverlight จะทำงานในเว็บเบราว์เซอร์เท่านั้น โซลูชันประเภท VMWare จะไม่ลดลงเช่นกัน มีคำตอบกึ่งเผด็จการว่าทำไม Microsoft เพียงแค่ไม่สนับสนุน. NET บนเครื่อง Mac? ดูเหมือนว่าพวกเขาจะสามารถ Silverlight และ / หรือซื้อ Mono ได้อย่างรวดเร็ว ไม่จำเป็นต้องมี Visual Studio ดั้งเดิม การคอมไพล์ข้ามและการดีบักแบบรีโมททำได้ดี เหตุผลก็คือที่ที่ฉันทำงานมีจำนวนไม่แน่นอนเกี่ยวกับอนาคตที่เพิ่มขึ้นซึ่งทำให้การพัฒนามากขึ้นที่จะต้องทำใน C ++ แทน C #; โครงการใหม่ล่าสุดกำลังถูกเลือกให้ใช้ C ++ ไม่มีใครต้องการบอกการจัดการ 18–24 …
11 c#  .net  mac  mono 

4
จำนวนคลาสในเนมสเปซ - กลิ่นรหัส?
ฉันมีไลบรารี C # ที่ใช้งานได้หลายอย่าง มีเนมสเปซอยู่สองสามอันในห้องสมุดและฉันเพิ่งสังเกตว่าหนึ่งเนมสเปซมีคลาสค่อนข้างน้อย ฉันมักจะหลีกเลี่ยงการมีคลาสมากเกินไปในเนมสเปซเดียวเนื่องจากการจัดหมวดหมู่และเนื่องจากจิตใต้สำนึกฉันคิดว่ามันดู "สวยกว่า" เพื่อมีลำดับชั้นของเนมสเปซลึกกว่า คำถามของฉันคือ: ไม่มีใครคิดว่ามันเป็น "กลิ่นรหัส" เมื่อ namespace มีหลายชั้น - แม้ว่าชั้นเรียนที่เกี่ยวข้องกับแต่ละอื่น ๆ ? คุณจะใช้ความพยายามอย่างมากในการค้นหาความแตกต่างในคลาสที่อนุญาตให้มีการจัดหมวดหมู่ย่อยหรือไม่?
11 c#  count  namespace 

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

4
ฉันต้องการอธิบายว่าเพราะเหตุใดข้อกำหนดจึงต้องไม่เปลี่ยนแปลงในระหว่างการพัฒนา
ฉันต้องการอธิบายว่าเพราะเหตุใดจึงไม่มีการเปลี่ยนแปลงข้อกำหนดในระหว่างช่วงเวลาการพัฒนากับพนักงานฝ่ายวางแผนใหม่

4
C ++ Iterator ทำไมไม่มีคลาสพื้นฐานของ Iterator ตัววนซ้ำทั้งหมดที่สืบทอดมา
ฉันกำลังเรียนเพื่อสอบและฉันมีคำถามที่ฉันต้องดิ้นรนเพื่อให้และตอบคำถาม ทำไมคลาสพื้นฐานของตัววนซ้ำไม่มีอยู่ตัววนซ้ำอื่น ๆ ทั้งหมดจึงสืบทอดมา? ฉันเดาว่าครูของฉันกำลังอ้างถึงโครงสร้างลำดับชั้นจากการอ้างอิง cpp " http://prntscr.com/mgj542 " และเราต้องให้เหตุผลอื่นนอกเหนือจากเหตุผลที่ควรทำ ฉันรู้ว่าตัววนซ้ำคืออะไรและใช้ในการทำงานกับคอนเทนเนอร์ จากสิ่งที่ฉันเข้าใจเนื่องจากโครงสร้างข้อมูลพื้นฐานที่เป็นไปได้ที่แตกต่างกันคอนเทนเนอร์ที่แตกต่างกันมีตัววนซ้ำที่แตกต่างกันเนื่องจากคุณสามารถสุ่มเลือกอาเรย์ได้ แต่ไม่ใช่รายการที่เชื่อมโยงและคอนเทนเนอร์ที่แตกต่างกัน พวกเขาอาจเป็นแม่แบบพิเศษขึ้นอยู่กับคอนเทนเนอร์ใช่ไหม?
11 c++  iterator 

4
การซ่อน / ปิดการใช้งานคุณสมบัติสำหรับผู้ใช้บางคน
ช่วยบอกว่าฉันมีแอพเวอร์ชันฟรีและจ่ายเงิน รุ่นที่ต้องชำระเงินเป็นชุดของรุ่นฟรีที่เกี่ยวกับคุณสมบัติที่ผู้ใช้มีความหมายว่ารุ่นที่จ่ายจะมีคุณสมบัติทั้งหมดของแอปฟรีพร้อมกับพิเศษ มีรูปแบบการสลับความพร้อมใช้งานของคุณสมบัติตามธงที่โหลดเมื่อเริ่มต้น (เช่นฟรี / จ่ายเงิน) หรือไม่ ฉันไม่ชอบความคิดที่มีการติดตามรหัสในทุกที่: if(isFreeVersion){ // ... } else { // ... } มี 2 สาขาคอมไพล์แยกต่างหากสำหรับทุกรุ่นไม่ได้ตัวเลือกเพราะมันจะหมายถึงการบำรุงรักษาที่ 2 (หรือมากกว่า) แหล่งที่มาของรหัสที่ดูเหมือนว่าทำไม่ได้ทั่วไปและมีการกล่าวถึงเพิ่มเติมได้ที่นี่: การดูแลรักษาทั้งสองรุ่นซอฟท์แวเฉพาะกิจจากที่เดียวกัน Codebase ในการควบคุมเวอร์ชัน มีวิธีการทำเช่นนี้ในขณะที่ยังคงมีฐานรหัสเดียวและไม่ทิ้งรหัสด้วยคำสั่งแบบมีเงื่อนไขที่ตรวจสอบการตั้งค่าสถานะฟรี / ชำระเงิน ฉันแน่ใจว่ามีการพูดคุยกันหลายครั้งก่อนหน้านี้และฉันแน่ใจว่ามีรูปแบบบางอย่างในการเข้าถึงปัญหานี้ แต่ฉันไม่พบมัน เราใช้ Android / Java

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