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

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

5
MVC, WCF, EF, LINQ - แค่ฉันเหรอ? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ... หรือสิ่งต่าง ๆ มีความซับซ้อนมากขึ้น? สำหรับฉันดูเหมือนว่าคุณจำเป็นต้องรู้หลายสิ่งหลายอย่างในการ 'พัฒนา' แอป MS web ให้เหมาะสมในทุกวันนี้ ในวันที่ไม่ดีเมื่อเราไม่รู้ว่ามีอะไรดีกว่านี้เรามีตารางฐานข้อมูล ASP.NET, ADO.NET และคุณสร้างเว็บแอปโดยใช้แนวคิดที่เรียบง่าย ทุกวันนี้ดูเหมือนจะมีกรอบมากมายที่จะ 'ช่วย' คุณทำถูกต้อง แต่ฉันไม่เชื่อว่านี่จะทำให้ง่ายขึ้นและดีขึ้น ฉันมีความรู้สึกฉันจะเป็นคนกลุ่มน้อยที่มีความรู้สึกเช่นนี้ แต่มีใครอีกบ้างที่คิดว่าสิ่งต่าง ๆ เป็นบ้าไปหน่อย?

6
คอมไพเลอร์ของ Fortran สร้างโค้ดได้เร็วกว่าคอมไพเลอร์ C จริงๆหรือ
เมื่อฉันเรียนในมหาวิทยาลัยฉันมักจะได้ยินความคิดที่ว่าคอมไพเลอร์ของ Fortran ผลิตโค้ดได้เร็วกว่าคอมไพเลอร์ C สำหรับโปรแกรมที่เทียบเท่า เหตุผลสำคัญที่เป็นเช่นนี้: คอมไพเลอร์ Fortran ปล่อยออกมาโดยเฉลี่ย 1,1 หน่วยประมวลผลคำสั่งต่อบรรทัดของรหัสในขณะที่ C คอมไพเลอร์ส่งเฉลี่ย 1.6 คำสั่งโปรเซสเซอร์ต่อบรรทัดของรหัส - ฉันไม่จำตัวเลขที่แน่นอน แต่ แนวคิดก็คือคอมไพเลอร์ C ปล่อยรหัสเครื่องจักรออกมาอย่างเห็นได้ชัดมากขึ้นดังนั้นจึงผลิตโปรแกรมที่ช้ากว่า การเปรียบเทียบดังกล่าวมีความถูกต้องอย่างไร เราสามารถพูดได้ว่าคอมไพเลอร์ Fortran ผลิตโปรแกรมได้เร็วกว่าคอมไพเลอร์ C หรือในทางกลับกันและทำไมความแตกต่างนี้จึงมีอยู่?

3
Ur / Web ภาษาใหม่ที่ใช้งานได้จริงสำหรับการเขียนโปรแกรมเว็บหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเจอโครงการ Ur / Webระหว่างการค้นหากรอบงานเว็บสำหรับภาษาที่คล้ายกับ Haskell ดูเหมือนว่าโครงการที่น่าสนใจจะทำโดยคนคนหนึ่ง โดยทั่วไปมันเป็นภาษาที่ใช้งานได้เฉพาะโดเมนสำหรับการเขียนโปรแกรมเว็บโดยใช้ ML และ Haskell ได้ดีที่สุด ไวยากรณ์คือ ML แต่มีคลาสประเภทและ monad จาก Haskell และมีการประเมินอย่างเข้มงวด ฝั่งเซิร์ฟเวอร์ถูกคอมไพล์เป็นรหัสเนทีฟไคลเอนต์ถึง Javascript ดูหน้าสไลด์และคำถามที่พบบ่อยเพื่อดูข้อได้เปรียบอื่น ๆ ที่โฆษณา เมื่อดูการสาธิตและซอร์สโค้ดของพวกเขาฉันคิดว่าโปรเจ็กต์นี้มีแนวโน้มดีมาก รุ่นล่าสุดคือบางสิ่งบางอย่าง 20110123 ดังนั้นดูเหมือนว่าจะอยู่ระหว่างการพัฒนาอย่างแข็งขันในขณะนี้ มีใครที่นี่มีประสบการณ์เพิ่มเติมอีกหรือไม่ มีปัญหา / สิ่งรบกวนเมื่อเปรียบเทียบกับ Haskell นอกเหนือจากไวยากรณ์ที่ละเอียดกว่าเล็กน้อยของ ML หรือไม่

4
วิธีสัมภาษณ์ผู้พัฒนาสกาล่า [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา โปรแกรมเมอร์สกาลาถูกสัมภาษณ์อย่างไร? อะไรคือแง่มุมที่ผู้สัมภาษณ์มองหาเมื่อสัมภาษณ์นักพัฒนาสกาล่า?
17 interview  scala 

9
หาก statments อยู่ในวิธีด้านในหรือด้านนอก?
ข้อใดของการออกแบบเหล่านี้ดีกว่า ข้อดีและข้อเสียของแต่ละข้อคืออะไร? คุณจะใช้อันไหน ข้อเสนอแนะอื่น ๆ ของวิธีการจัดการกับวิธีการที่ชอบจะได้รับการชื่นชม มีเหตุผลที่จะสมมติว่า Draw () เป็นที่เดียวที่มีวิธีการดึงอื่น ๆ ถูกเรียก สิ่งนี้ต้องการที่จะขยายไปยังเมธอด Draw * และคุณสมบัติ Show * อีกมากมายไม่ใช่แค่สามวิธีที่แสดงไว้ที่นี่ public void Draw() { if (ShowAxis) { DrawAxis(); } if (ShowLegend) { DrawLegend(); } if (ShowPoints && Points.Count > 0) { DrawPoints(); } } private void DrawAxis() { // Draw things. …
17 c# 

14
ในฐานะที่เป็นนักเรียนอายุน้อยที่ต้องการมีอาชีพเป็นโปรแกรมเมอร์ฉันจะรู้สึกอย่างไรเกี่ยวกับซอฟต์แวร์โอเพ่นซอร์ส [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ทุกครั้งในบางครั้งในบางเว็บไซต์เทคโนโลยีหัวข้อเช่นนี้จะปรากฏขึ้น: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -billion ความคิดเริ่มแรกของฉันเกี่ยวกับรัฐบาลและองค์กรที่ย้ายไปยังซอฟต์แวร์โอเพนซอร์ซคือโปรแกรมเมอร์จำนวนมากจะตกงานและอุตสาหกรรมจะหดตัวลง ในเวลาเดียวกันการแพร่กระจายและการใช้ซอฟต์แวร์โอเพนซอร์ซดูเหมือนจะได้รับการสนับสนุนอย่างมากในชุมชนการเขียนโปรแกรมจำนวนมาก ฉันคิดว่าการโอบกอดซอฟต์แวร์โอเพ่นซอร์สทุกที่จะทำให้อุตสาหกรรมซอฟต์แวร์เกิดความเข้าใจผิดหรือไม่? ถ้าไม่ใช่ทำไมโปรแกรมเมอร์จำนวนมากถึงรักซอฟต์แวร์โอเพนซอร์ซ?

7
มันจะมีประโยชน์ในการสร้างแอปพลิเคชันที่เริ่มต้นด้วย GUI หรือไม่?
แนวโน้มในการออกแบบและพัฒนาแอพพลิเคชั่นดูเหมือนจะเริ่มต้นด้วย "ความกล้า": โดเมนจากนั้นเข้าถึงข้อมูลจากนั้นก็เป็นโครงสร้างพื้นฐานเป็นต้น GUI ดูเหมือนว่าโดยปกติจะมาในภายหลัง ฉันสงสัยว่ามันจะมีประโยชน์ในการสร้าง GUI ก่อนหรือไม่ เหตุผลของฉันคือการสร้าง GUI ต้นแบบอย่างน้อยคุณจะได้ความคิดที่ดีขึ้นเกี่ยวกับสิ่งที่ต้องเกิดขึ้นเบื้องหลังและดังนั้นจึงอยู่ในตำแหน่งที่ดีกว่าในการเริ่มทำงานในโดเมนและรหัสการสนับสนุน ฉันสามารถเห็นปัญหาของการฝึกนี้ในกรณีที่ยังไม่ได้เขียนโค้ดที่รองรับมันจะไม่มีอะไรมากสำหรับเลเยอร์ GUI ที่ต้องทำจริง ๆ บางทีการสร้างวัตถุจำลองหรือชั้นเรียนที่ถูกโยนทิ้ง (คล้ายจะทำในการทดสอบหน่วย) อาจให้พื้นฐานที่เพียงพอในการสร้าง GUI ในตอนแรก อาจเป็นความคิดที่เป็นไปได้สำหรับโครงการจริงหรือ บางทีเราอาจเพิ่ม GDD (การพัฒนา GUI ขับเคลื่อนด้วย) ไปยังตัวย่อที่เสถียร ...

3
กรุณาขายตู้คอนเทนเนอร์ IoC ให้ฉันด้วย
ฉันเห็นหลายแนะนำให้ใช้คอนเทนเนอร์ IoC ในรหัส แรงจูงใจนั้นง่าย ใช้รหัสฉีดพึ่งพาต่อไปนี้: class UnitUnderTest { std::auto_ptr<Dependency> d_; public: UnitUnderTest( std::auto_ptr<Dependency> d = std::auto_ptr<Dependency>(new ConcreteDependency) ) : d_(d) { } }; TEST(UnitUnderTest, Example) { std::auto_ptr<Dependency> dep(new MockDependency); UnitUnderTest uut(dep); //Test here } เป็น: class UnitUnderTest { std::auto_ptr<Dependency> d_; public: UnitUnderTest() { d_.reset(static_cast<Dependency *>(IocContainer::Get("Dependency"))); } }; TEST(UnitUnderTest, Example) { …

11
การแก้ไขข้อบกพร่องที่ทำโดยคนอื่นเป็นวิธีที่ดีหรือไม่?
สมมติว่าสถานการณ์ที่ทีมสี่นักพัฒนากำลังสร้างแอปพลิเคชัน ในระหว่างขั้นตอนการทดสอบผู้ใช้จะรายงานข้อบกพร่อง ใครควรแก้ไขพวกเขา คนที่ทำรหัสผิดพลาดหรือใครก็ตามที่ว่าง? อะไรคือวิธีการที่ต้องการในการพัฒนาแบบเปรียว (scrum)?
17 agile  debugging 

13
คุณควรเรียกเก็บเงินจากลูกค้าชั่วโมงที่ใช้ไปกับการเดินทางผิดหรือเปล่า [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา ฉันใช้ความท้าทาย CSS เล็ก ๆ เพื่อแก้ปัญหาให้กับลูกค้าและฉันจะได้รับค่าตอบแทนรายชั่วโมง ในที่สุดฉันก็แก้ไขมันใช้เวลา 5 ชั่วโมง แต่ฉันใช้เวลาประมาณ 25% ในการติดตามผิดลองใช้วิธีแก้ปัญหา CSS3 ที่ใช้งานได้เฉพาะในเบราว์เซอร์ล่าสุดและในที่สุดก็พบว่าไม่มีทางเลือกอื่นผ่านทาง JS ฉันควรเรียกเก็บเงินจากลูกค้าที่ 25% หรือไม่ รายละเอียดเพิ่มเติม: ฉันไม่ได้ให้การประเมินฉันชอบความท้าทายต่อ se ดังนั้นฉันจึงเริ่มทำมันก่อนที่จะประเมิน (แต่ฉันเคยทำงานกับเขามาก่อนดังนั้นฉันจึงรู้ว่าเขาไม่ใช่คนที่มีความคาดหวังที่ไม่สมจริง ) ที่แย่ที่สุดฉันจะใช้เวลา 5 ชั่วโมงที่ค้างชำระกับความท้าทาย CSS ที่น่าสนใจ และฉันจะให้ค่าประมาณที่ยุติธรรมที่สุดเท่าที่จะเป็นไปได้สำหรับเราทั้งคู่เพราะฉันจะทำงานให้แล้ว :) แก้ไข: ขอบคุณทุกคนฉันหวังว่าฉันจะตอบได้มากกว่าหนึ่งคำตอบ! ฉันลงเอยด้วยการไม่เรียกเก็บเงินจากเขาเป็นชั่วโมงพิเศษ (ฉันเรียกเก็บเงินเขาเป็นเวลา 3 ชั่วโมงครึ่ง) แต่ฉันพูดถึงพวกเขาเพื่อให้เขารู้ว่าฉันทำงานได้มากกว่าที่ฉันเรียกเก็บเงินจากเขา บางทีนั่นอาจเป็นเหตุผลว่าทำไมเขาถึงยอมรับ "การประเมิน" …

6
พื้นที่สาธารณะของ Java เป็นเพียงข้อบกพร่องทางประวัติศาสตร์ที่น่าเศร้าในการออกแบบ ณ จุดนี้หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ดูเหมือนว่าจะเป็น Java orthodoxy ณ จุดนี้ว่าโดยทั่วไปไม่ควรใช้เขตข้อมูลสาธารณะสำหรับสถานะวัตถุ (ฉันไม่เห็นด้วยจำเป็น แต่นั่นไม่เกี่ยวข้องกับคำถามของฉัน) ระบุว่ามันจะถูกต้องหรือไม่ที่จะบอกว่าจากที่เราอยู่ทุกวันนี้เป็นที่ชัดเจนว่าสาขาสาธารณะของ Java เป็นข้อผิดพลาด / ข้อบกพร่องของการออกแบบภาษาหรือไม่ หรือมีการโต้แย้งเหตุผลว่าพวกเขาเป็นส่วนที่มีประโยชน์และมีความสำคัญของภาษาแม้วันนี้? ขอบคุณ! อัปเดต:ฉันรู้เกี่ยวกับวิธีที่หรูหรากว่าเช่นใน C #, Python, Groovy เป็นต้นฉันไม่ได้มองหาตัวอย่างเหล่านั้นโดยตรง ฉันแค่สงสัยจริงๆว่ายังมีใครบางคนอยู่ในหลุมหลบภัยพูดพึมพำว่าเขตข้อมูลสาธารณะที่ยอดเยี่ยมเป็นอย่างไรและฝูงทั้งหมดเป็นเพียงแค่แกะ ฯลฯ อัปเดต 2:เขตข้อมูลสาธารณะสุดท้ายคงที่ชัดเจนเป็นวิธีมาตรฐานในการสร้างค่าคงที่สาธารณะ ฉันอ้างถึงการใช้ฟิลด์สาธารณะสำหรับสถานะวัตถุ (แม้แต่สถานะที่ไม่เปลี่ยนรูปแบบ) ฉันคิดว่ามันดูเหมือนว่ามีข้อบกพร่องในการออกแบบที่ควรใช้ฟิลด์สาธารณะสำหรับค่าคงที่ แต่ไม่ใช่สำหรับรัฐ ... กฎของภาษาควรมีการบังคับใช้โดยธรรมชาติด้วยไวยากรณ์ไม่ใช่ตามแนวทาง

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

6
วิธีการผูกมัดกับการห่อหุ้ม
มีปัญหา OOP แบบคลาสสิกของวิธีการผูกมัด vs วิธีการ "จุดเชื่อมต่อจุดเดียว": main.getA().getB().getC().transmogrify(x, y) VS main.getA().transmogrifyMyC(x, y) ครั้งแรกที่ดูเหมือนว่าจะมีข้อได้เปรียบที่แต่ละชั้นมีความรับผิดชอบสำหรับชุดปฏิบัติการขนาดเล็กเท่านั้นและทำให้ทุกอย่างเป็นแบบแยกส่วนมากขึ้น- การเพิ่มวิธีการใน C ไม่ต้องใช้ความพยายามใน A, B หรือ C เพื่อเปิดเผย ข้อเสียของหลักสูตรคือการห่อหุ้มที่อ่อนแอซึ่งรหัสที่สองแก้ ตอนนี้ A มีการควบคุมทุกวิธีที่ผ่านมันและสามารถมอบมันให้กับเขตข้อมูลของมันถ้ามันต้องการ ฉันรู้ว่าไม่มีวิธีแก้ปัญหาเดียวและแน่นอนขึ้นอยู่กับบริบท แต่ฉันอยากได้ยินบางอย่างเกี่ยวกับความแตกต่างที่สำคัญระหว่างสไตล์สองแบบและภายใต้สถานการณ์ใดที่ฉันควรเลือกแบบใดแบบหนึ่ง - เพราะตอนนี้เมื่อฉันลอง เพื่อออกแบบรหัสฉันรู้สึกว่าฉันไม่ได้ใช้อาร์กิวเมนต์เพื่อตัดสินใจทางเดียวหรืออื่น ๆ

8
'แก้ไขโดย' ความคิดเห็นแบบอินไลน์เป็นบรรทัดฐานในร้านค้าที่ใช้การควบคุมการแก้ไขหรือไม่
ผู้พัฒนาระดับสูงในร้านของเรายืนยันว่าเมื่อใดก็ตามที่มีการแก้ไขโค้ดโปรแกรมเมอร์ที่รับผิดชอบควรเพิ่มความคิดเห็นแบบอินไลน์ที่ระบุสิ่งที่เขาทำ ความคิดเห็นเหล่านี้มักจะดูเหมือน// YYYY-MM-DD <User ID> Added this IF block per bug 1234. เราใช้ TFS เพื่อควบคุมการแก้ไขและฉันคิดว่าความคิดเห็นของการเรียงลำดับนี้มีความเหมาะสมมากขึ้นในฐานะบันทึกการเช็คอินแทนที่จะเป็นเสียงอินไลน์ TFS ยังให้คุณเชื่อมโยงการเช็คอินกับบั๊กตั้งแต่หนึ่งข้อขึ้นไป ไฟล์คลาสที่เก่าและมีการแก้ไขบ่อยครั้งของเราบางคนดูเหมือนว่าพวกเขามีอัตราส่วนความคิดเห็นต่อ LOC ใกล้ถึง 1: 1 ในสายตาของฉันความคิดเห็นเหล่านี้ทำให้รหัสยากต่อการอ่านและเพิ่มค่าเป็นศูนย์ นี่เป็นวิธีปฏิบัติที่เป็นมาตรฐาน (หรืออย่างน้อยสามัญ) ในร้านค้าอื่นหรือไม่?

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

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