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

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

5
วิวัฒนาการในมาตรฐานการเข้ารหัสคุณจะจัดการกับมันอย่างไร
คุณจะจัดการกับวิวัฒนาการในคู่มือการเข้ารหัส / สไตล์ในโครงการสำหรับฐานรหัสที่มีอยู่ได้อย่างไร สมมติว่ามีบางคนในทีมของคุณค้นพบวิธีที่ดีกว่าในการสร้างอินสแตนซ์ของวัตถุในภาษาโปรแกรม ไม่ใช่ว่าวิธีการแบบเก่าจะไม่ดีหรือบั๊กกี้ แต่เป็นวิธีการใหม่ที่ให้ความรู้สึกที่น้อยกว่าและให้ความรู้สึกหรูหรามากกว่า และสมาชิกในทีมทุกคนชอบมันมาก คุณจะเปลี่ยนรหัสที่มีอยู่ทั้งหมดหรือไม่ สมมติว่า codebase ของคุณมีโค้ดประมาณ 500,000 บรรทัด คุณยังต้องการเปลี่ยนรหัสที่มีอยู่ทั้งหมดหรือไม่? หรือคุณจะให้รหัสใหม่เป็นไปตามมาตรฐานใหม่เท่านั้น? โดยทั่วไปสูญเสียความมั่นคง? คุณจะจัดการกับวิวัฒนาการในมาตรฐานการเข้ารหัสในโครงการของคุณได้อย่างไร

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

3
NUnit สำหรับ C # เปรียบเทียบกับเครื่องมือทดสอบหน่วยที่รวมเข้ากับ Visual Studio อย่างไร
ฉันต้องทำงานเป็นทีมเพื่อพัฒนาแอปพลิเคชั่นเดสก์ท็อประดับกลางที่พัฒนาโดยใช้ C # .NET ก่อนหน้านี้ฉันยังไม่ได้ใช้การทดสอบหน่วยและการพัฒนาขับเคลื่อนทดสอบ ฉันทราบว่ามีเครื่องมือและกรอบงานมากมายสำหรับแอปพลิเคชันการทดสอบหน่วย C # ณ ตอนนี้ฉันได้รับทราบถึง Nunit และเครื่องมือทดสอบหน่วยที่รวมเข้ากับ Visual Studio ฉันอยากรู้ว่าทั้งสองเปรียบเทียบกันอย่างไร


7
HTML5 / JS จะแทนที่ภาษาฝั่งไคลเอ็นต์ทั้งหมดหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันแค่สงสัยเกี่ยวกับอนาคตของมันทั้งหมด IMHO มี 4 แรงที่กำหนดว่าเทคโนโลยีจะไปที่ใด: Microsoft, Apple, Google, Adobe ดูเหมือนว่าใน iAD ของ iPhone / iPad ของ Apple สามารถตั้งโปรแกรมใน HTML5 ได้แล้ว ดังนั้นหมายความว่า HTML5 ในที่สุดจะแทนที่วัตถุประสงค์ -c? นอกจากนี้ Microsoft ได้เปลี่ยนจากโฟกัสเป็น WPF / Silverlight เป็น HTML5 และฉันคิดว่า Visual Studio 2011 จะสนับสนุนการใช้เครื่องมือสำหรับ HTML5 เพราะนั่นคือสิ่งที่ Microsoft ทำ (Tools) …

8
วิธีที่ดีที่สุดในการสร้างแบบจำลองเดี่ยวในฐานข้อมูลเชิงสัมพันธ์
เมื่อออกแบบ schema ฐานข้อมูลเชิงสัมพันธ์สำหรับเว็บแอปพลิเคชันฉันมักจะพบกรณีที่ฉันท้ายสร้างตารางเพียงเพื่อประกอบด้วยหนึ่งแถวและแถวเดียวเท่านั้น รู้สึกว่าเป็นวิธีที่ผิดในการออกแบบ แต่ฉันไม่สามารถหาอะไรที่ดีกว่าอย่างมีนัยสำคัญได้หรือว่าเป็น "วิธีที่ถูกต้องในการทำมัน" ตัวอย่างล่าสุดคือไซต์ที่ให้ผู้ใช้ควบคุมเนื้อหาบนหน้าแรกด้วยตนเอง มีหน้าแรกเพียงหน้าเดียว ฉันสร้างตารางที่มีฟิลด์ที่จำเป็นทั้งหมดเพื่อสร้างโฮมเพจเช่นฟิลด์ข้อความสำหรับพื้นที่ที่มีข้อความอธิบาย ฟิลด์สำหรับจัดเก็บชื่อของไฟล์ภาพขนาดใหญ่ คีย์ต่างประเทศบางตัวที่ชี้ไปยังบทความที่จะให้ความสำคัญกับหน้าแรก ฯลฯ ทำงานได้ แต่รู้สึกผิดที่มีตารางที่มีแถวเดียว ในอดีตที่ผ่านมาฉันได้ลองการออกแบบอื่น ๆ เช่นการอนุญาตให้มีหลายแถวในตารางหน้าแรกและการเลือกแบบสุ่ม ฉันได้ลองเพิ่มเขตข้อมูลบูลีนชื่อ "ใช้งานอยู่" และเลือกหนึ่งในหน้าแรกที่ใช้งานอยู่แบบสุ่ม ฉันพยายามบังคับให้แถวเดียวใช้งานได้ตลอดเวลาตามที่กำหนดในตรรกะของแอปพลิเคชัน ฉันไม่ได้พยายามสร้างตารางหน้าแรกและมีรายการอื่น ๆ เช่นบทความเพื่อให้มีฟิลด์บูลีนที่มีชื่อเช่น featured_on_homepage ในกรณีส่วนใหญ่ฉันสามารถสร้างหน้าแรกด้วยค่าคงที่จำนวนมากในไฟล์การตั้งค่า ปัญหาหลักของไฟล์การตั้งค่าคืออยู่ภายใต้การควบคุมของนักพัฒนาซอฟต์แวร์ เนื่องจากสิ่งที่ชอบเนื้อหาของโฮมเพจเป็นสิ่งที่ผู้ใช้จะต้องแก้ไขจึงต้องไปที่ฐานข้อมูล ในหลาย ๆ เว็บไซต์ฉันไม่มีปัญหานี้เพราะฉันสามารถสร้างสิ่งต่าง ๆ เช่นหน้าแรกด้วยแบบสอบถามเช่นการเลือกบทความใหม่ล่าสุดห้ารายการ แต่เมื่อฉันมีหน้าที่ดูแลด้วยตนเองด้วยข้อกำหนดที่เข้มงวดมันจะยุ่งยากในการสร้างแบบจำลองในฐานข้อมูล แต่ลองจินตนาการว่าคุณมีโต๊ะรูปถ่ายและโต๊ะบทความ ข้อกำหนดคือหน้าแรกจะแสดงภาพถ่ายห้าภาพบทความสามบทความและข้อความสองบล็อกโดยผู้ใช้ควบคุมด้วยตนเอง คุณทำแบบนั้นในฐานข้อมูลอย่างถูกต้องได้อย่างไร นอกจากนี้ฉันมีปัญหาการสร้างแบบจำลองในกรณีอื่น ๆ นอกเหนือจากหน้าแรกเพียง มันเป็นเพียงตัวอย่างที่ง่ายที่สุดและใช้ได้โดยทั่วไปที่ฉันสามารถหาได้

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

5
“ การเขียนโปรแกรมแบบไร้ egoless” คืออะไร?
ครั้งแรกที่ฉันได้ยินคำนี้ประมาณสิบห้าปีที่ผ่านมา ความเข้าใจของฉันคล้ายกับที่อธิบายไว้ในบทความ WikipediaและบทความTechRepublic : คุณทำงานร่วมกับเพื่อนร่วมงานของคุณในวิธีที่เป็นมิตรและเป็นวิทยาลัยซึ่งมีความรู้สึกส่วนตัวซ่อนอยู่ มันรวมถึงสิ่งต่าง ๆ เช่นการทำรีวิวจากเพื่อนด้วยความเคารพซึ่งกันและกันและความปรารถนาที่จะเรียนรู้และไม่รู้สึกเหมือนคุณเป็น "เจ้าของ" รหัสดังนั้นหากใครบางคนมีข้อเสนอแนะหรือบอกว่ามีข้อบกพร่องหรือจำเป็นต้องเปลี่ยนมัน มัน. ฉันก็คิดเช่นกันว่าส่วนใหญ่เกี่ยวกับการมีทัศนคติที่ทำให้มีความสัมพันธ์ที่ดีกับโปรแกรมเมอร์คนอื่น ๆ โดยมีเป้าหมายในการปรับปรุงรหัส ดังนั้นฉันจึงไม่เห็นว่ามันขัดกับความภาคภูมิใจในคุณภาพงานของคุณหรือรู้สึกเสียใจหากสิ่งที่คุณทำทำให้ลูกค้าเกิดปัญหา อย่างไรก็ตามคำตอบสำหรับคำถามล่าสุดทำให้ฉันคิดว่าโปรแกรมเมอร์คนอื่นมีความเข้าใจที่แตกต่างกันเกี่ยวกับ แล้วนิยามที่ถูกต้องคืออะไร? และความหมายของมันคืออะไร?

3
Visual Studio เป็นเพียง IDE หรือไม่?
สำหรับการพัฒนา Windows ฉันหมายถึง ดูคำถามอื่น ๆ ที่มีทางเลือกในการ VS แต่พวกเขาดูเหมือนจะเป็นเว็บที่ใช้ซึ่งเป็นเรื่องปกติหรือคุณสามารถเขียนโปรแกรมเว็บไซต์. net ทั้งหมดใน notepad ควรกระตุ้นให้คุณ แต่มีมากกว่านั้นสำหรับ IDE สำหรับการพัฒนา Windows หรือไม่ IE เป็นไปได้ไหมที่ฉันจะสร้างแอปพลิเคชั่นใน notepad เพียงอย่างเดียวคอมไพเลอร์ส่วนหนึ่งของ Visual Studio หรือแยกออกจากกันซึ่งสามารถเรียกได้ผ่านทางบรรทัดคำสั่งหรืออะไรบางอย่าง ฉันไม่ต้องการที่จะไม่ใช้ VS ฉันมีความสุขกับมันทำในสิ่งที่ฉันต้องการ ฯลฯ และอื่น ๆ อีกมากมายที่ฉันอยากรู้

10
ผลิตภัณฑ์ที่ขับเคลื่อนโดยนักพัฒนาเป็นสิ่งที่ดีหรือไม่?
ฉันทำงานใน บริษัท ที่ซีอีโอบริหารทีมผลิตภัณฑ์ซึ่งทำหน้าที่เลียนแบบคุณลักษณะและวางลงบนตักของนักพัฒนาเพื่อนำคุณสมบัติดังกล่าวมาใช้ แน่นอนว่ามีการวนซ้ำความคิดเห็นของนักพัฒนาเป็นที่เคารพนับถือ แต่ฉันสงสัยว่ากระบวนการนี้มีประสิทธิภาพเพียงใด Jason Calacanis เพิ่งเขียนว่า : Zuckerberg Doctrine: นักพัฒนาออกแบบผลิตภัณฑ์ด้วยความเร็วและฟังก์ชั่นที่ดีขึ้นอย่างมากเมื่อเทียบกับผู้จัดการผลิตภัณฑ์และนักออกแบบซึ่งเกินความผิดพลาดและข้อเสียที่อาจเกิดขึ้น ... ถ้าอย่างนั้นมันก็กระทบกับฉันจริงๆ: บริษัท ที่เพิ่งเริ่มต้นพัฒนาโดยนักพัฒนามักจะผลิตสินค้าได้เร็วขึ้น นี่เป็นเหตุผล: คนที่ไม่ได้ใช้เทคนิคของเรากำลังสนทนาและถกเถียงกันในขณะที่ Zuckerberg กำลังเขียนโค้ดคุณลักษณะถัดไปของเขา นี่คือเหตุผลที่ไม่มีใครสามารถติดตาม Facebook ได้! ในขณะที่ MySpacers ถกเถียงกันว่าจะทำซ้ำในผลิตภัณฑ์ของตนอย่างไร Facebook ก็ลองทำสิ่งต่าง ๆ สิ่งนี้ใช้งานได้จริงในทางปฏิบัติหรือไม่

8
XML มีความสำคัญต่อนักพัฒนาอย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา จะต้องให้นักพัฒนาทุกคนควรรู้จัก XML หรือไม่? XML มีความสำคัญต่อนักพัฒนาอย่างไร ข้อเสนอแนะใด ๆ ...
12 xml 

4
คุณคิดอย่างไรเกี่ยวกับเครื่องมือติดตา Java ใหม่นั่นไม่ใช่ ORM จริง ๆ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา วิริยะใน Java ในช่วงหลายปีที่ผ่านมาฉันได้รวบรวมประสบการณ์ในด้านการคงอยู่ของนามธรรมใน Java โดยใช้แนวคิดเช่น EJB 2.0, Hibernate, JPA และที่ปลูกในบ้าน พวกเขาดูเหมือนว่าฉันจะมีโค้งการเรียนรู้ที่สูงชันและความซับซ้อน นอกจากนี้ในฐานะที่เป็นแฟนตัวยงของ SQL ฉันคิดว่าตัวแบบนามธรรมจำนวนมากให้นามธรรมที่เป็นนามธรรมมากกว่า SQL สร้างแนวคิดเช่น "เกณฑ์", "เพรดิเคต", "ข้อ จำกัด " ที่เป็นแนวคิดที่ดีมาก แต่ไม่ใช่ SQL แนวคิดทั่วไปของการคงอยู่ที่เป็นนามธรรมใน Java ดูเหมือนจะเป็นไปตามแบบจำลองเชิงวัตถุสัมพันธ์ที่ RDBMS จะตรงกับโลก OO การถกเถียงกันเรื่อง ORM นั้นเป็นเรื่องทางอารมณ์มาโดยตลอดเพราะดูเหมือนว่าจะไม่มีทางแก้ปัญหาเดียวที่เหมาะกับทุกคน jOOQ ความชอบส่วนตัวของฉันในการหลีกเลี่ยงปัญหาที่เกี่ยวกับออมคือการยึดติดกับโลกสัมพันธ์ ตอนนี้การเลือกกระบวนทัศน์ของตัวแบบข้อมูลไม่ควรเป็นหัวข้อของการอภิปรายเนื่องจากเป็นความชอบส่วนตัวหรือเรื่องของแบบจำลองข้อมูลที่เหมาะสมกับปัญหาที่เป็นรูปธรรม การอภิปรายผมอยากจะเริ่มต้นอยู่ที่ประมาณเครื่องมือติดตาของตัวเองมากที่เรียกว่าjOOQ ฉันออกแบบ jOOQ เพื่อให้ข้อดีส่วนใหญ่ของเครื่องมือการคงอยู่ที่ทันสมัยมี: ภาษาเฉพาะโดเมนขึ้นอยู่กับ SQL …
12 java  orm  database  linq 

3
การจัดการการกำหนดค่าคืออะไร
ในโครงการทั้งหมดที่ฉันเกี่ยวข้องด้วยที่มีข้อมูลจากที่ปรึกษาภายนอกคำถามถูกถามเกี่ยวกับประเภทของการจัดการการตั้งค่าที่เราใช้ ในกรณีนี้ไม่มีที่ปรึกษาใดที่สามารถกำหนดค่าการจัดการการกำหนดค่าได้ แล้วมันคืออะไร

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

12
การเขียนโปรแกรม Drag-n-drop [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ภาษาการเขียนโปรแกรมทั้งหมดที่ฉันรู้จักเขียนขึ้น - เช่นพิมพ์ตามความยาวของข้อความไม่ทางใดก็ทางหนึ่ง แต่ฉันสงสัยว่ามีภาษาการเขียนโปรแกรมใดบ้างที่คุณสามารถลากและวางทั้งโปรแกรม ในการรับการวนซ้ำคุณเลือกกล่องนี้ตรงนี้และลากไปยังส่วนนั้นของ "รหัส" ตรงนั้นและอื่น ๆ และถ้าไม่มีใครแบบนี้มันจะบินถ้ามีใครคิดค้นหรือไม่ โดยส่วนตัวฉันไม่เชื่อว่ามันจะเป็นความคิดที่ดี แต่ฉันอยากได้ยินสิ่งที่คุณคิด

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