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

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

2
วิธีแก้ปัญหาการพึ่งพาแพ็คเกจแบบวงกลม
ฉันกำลังปรับเปลี่ยน codebase ขนาดใหญ่ที่ชั้นเรียนส่วนใหญ่อยู่ในแพ็คเกจเดียว เพื่อความเป็นโมดูลที่ดีกว่าฉันกำลังสร้างแพ็คเกจย่อยสำหรับแต่ละฟังก์ชั่น ผมจำได้ว่าการเรียนรู้บางที่กราฟพึ่งพาแพคเกจไม่ควรมีลูป แต่ผมไม่ทราบว่าวิธีการแก้ปัญหาต่อไปนี้: Figureอยู่ในแพคเกจfigure, Layoutอยู่ในแพคเกจlayout, Layoutต้องคิดรูปแบบในการดำเนินการเพื่อให้แพคเกจขึ้นอยู่กับแพคเกจlayout figureแต่ในทางกลับกัน, Figureสามารถมีอื่น ๆ ที่Figureอยู่ข้างในมันมีของตัวเองLayoutซึ่งจะทำให้การจัดแพคเกจขึ้นอยู่กับแพคเกจfigurelayout ฉันมีวิธีแก้ปัญหาบางอย่างเช่นการสร้างContainerอินเทอร์เฟซที่Figureใช้และวางไว้ในLayoutแพ็คเกจ นี่เป็นทางออกที่ดีใช่ไหม ความเป็นไปได้อื่น ๆ ขอบคุณ

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

4
นักพัฒนา“ Business Intelligence” คืออะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน4 ปีที่แล้ว ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ คุณลักษณะ / ทักษะใดของ Business Intelligence Developer ที่มีบทบาทต่อผู้พัฒนาเว็บดั้งเดิม

4
วิธีการโน้มน้าวใจเพื่อนร่วมงานของฉันว่าการทำสิ่งที่ถูกต้องจะช่วยให้พวกเขาประหยัดเวลา
ฉันเพิ่งเริ่มต้นที่ บริษัท ใหม่พร้อมโปรแกรมเมอร์จำนวนหนึ่ง เป็น บริษัท ขนาดกลางที่มีพนักงานประมาณ 70 คน แต่ไอทีมีเพียง 9-10 คนเท่านั้นและมี "โปรแกรมเมอร์" 3 คนอยู่เคียงข้างฉัน อย่างไรก็ตามพวกเหล่านี้มีประสบการณ์ จำกัด มากและกำลังทำสิ่งต่าง ๆ มากมายอย่างน่ากลัวจริงๆ ตัวอย่างเช่นหนึ่งในโครงการของเราคือเว็บไซต์ PHP รหัสส่วนใหญ่จะถูกเก็บไว้ในคอนโทรลเลอร์ PHP 20,000 บรรทัดโดยมี ~ 6,000 บรรทัดของ JavaScript ฝังอยู่ใน PHP ฉันทำข้อเสนอแนะเล็ก ๆ ที่นี่และที่นั่น แต่ไม่มีใครฟังทุกคนบอกว่าพวกเขายุ่งเกินไปที่จะใช้คำแนะนำ สิ่งคือพวกเขาไม่ควรยุ่งขนาดนั้นและจะไม่ทำสิ่งที่ถูกต้อง พวกเขาใช้เวลาส่วนใหญ่แก้ไขสิ่งต่าง ๆ ที่ทำให้แตกหัก หากแต่ละโครงการสร้างขึ้นอย่างถูกต้องฉันสามารถทำเองทั้งหมดได้ ฉันควรใช้วิธีใดในการโน้มน้าวใจคนเหล่านี้หรือผู้จัดการว่าสิ่งต่าง ๆ จำเป็นต้องเปลี่ยนแปลงและสิ่งที่เปลี่ยนแปลงไปจะช่วยประหยัดเวลาได้มาก ฉันควรข้ามไปพยายามโน้มน้าวให้เพื่อนร่วมงานของฉันและตรงไปที่ผู้จัดการพร้อมข้อเสนอทางธุรกิจว่า บริษัท จะประหยัดเงินได้มากแค่ไหนหากพวกเขาเริ่มทำสิ่งที่ถูกต้อง?

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

3
ตัวพิมพ์เล็กในชื่อไฟล์ Linux
เมื่อฉันพบว่า UpperCase นั้นสามารถอ่านได้สำหรับการแยกคำตัวอักษรแรกในชื่อที่ซับซ้อนยาว ๆ ฉันมักจะให้ชื่อไฟล์ Linux บางอันกับ UpperCase ส่วนใหญ่ executables บางไดเรกทอรีเกินไป แต่ไม่กี่สัปดาห์ที่ผ่านมาฉันได้ตั้งข้อสังเกตว่าส่วนใหญ่ของชื่อไฟล์ทั้งหมดใน linux distrib ของฉันนั้นเป็นตัวพิมพ์เล็ก ... ดังนั้นผมจึงทำบาง googling สักครู่ที่ผ่านมาและผมพบว่าบทความนี้: ลินุกซ์ชื่อไฟล์ที่รัฐหนึ่งควรเสมอใช้ตัวพิมพ์เล็กในโลกของยูนิกซ์ ... เป็นการดีที่สุดที่จะใช้ตัวพิมพ์เล็กใน Linux เสมอเว้นแต่คุณจะนึกถึงเหตุผลที่ดีในการใช้ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก คน Unix ส่วนใหญ่ใช้ตัวพิมพ์เล็กเกือบเฉพาะ แต่นอกเหนือจากประเด็น "วัฒนธรรม" นี้แล้วยังมีอีกเหตุผลที่ดีในการใช้ตัวพิมพ์เล็ก หากคุณกำลังแชร์หรือเข้าถึงระบบไฟล์ DOS ด้วย Linux, DOS จะไม่สามารถดูไฟล์ที่มีชื่อไฟล์ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กผสมกันได้ ... เป็นอย่างนั้นจริงเหรอ?

1
PID วนซ้ำใน C
ฉันเป็นวิศวกรไฟฟ้าที่เป็นแรงผลักดันให้เข้าสู่โลกดิจิตอลและการเรียนรู้เมื่อฉันไป ฉันกำลังเขียนโปรแกรมตัวประมวลผล TI เพื่อทำลูปPID (สัดส่วน - อินทิกรัล - อนุพันธ์) ที่แสดงโดยแผนภาพนี้: ฉันจะอธิบายด้วย: ข้อเสนอแนะเชิงลบ op-amp ที่มีขั้วสายดินไม่คว่ำ อินพุตผ่านเทอร์มินัลเชิงลบ ผลป้อนกลับเป็นวงจร RE ซีรี่ส์ขนานพร้อมกับตัวต้านทานและทั้งหมดนั้นขนานกับฝาปิด ใครมีความคิดวิธีแปลงวงจรนี้เป็นรหัส C? ฉันออกจากองค์ประกอบของฉันเล็กน้อยและสามารถใช้ความช่วยเหลือได้
11 c 

2
POST / Redirect / GET ด้วยการส่งแบบฟอร์มที่ไม่ถูกต้อง?
ในด้านการพัฒนาเว็บคุณควรทำPOST / Redirect / GET หรือไม่เมื่อเขตข้อมูลในการส่งแบบฟอร์มไม่ถูกต้องเช่นกัน? โดยทั่วไปแล้วจะไม่มีธุรกรรมที่ละเอียดอ่อนเกิดขึ้นในเหตุการณ์นี้ อย่างไรก็ตามการโต้แย้งสามารถทำเช่นนั้นได้ยังคงเป็นวิธีที่ดีในการใช้รูปแบบ POST / Redirect / GET?

1
ทำไม CSS ไม่สนับสนุนตัวแปรและลำดับชั้นโดยกำเนิด
ฉันยังใหม่กับการพัฒนา UI แต่ฉันรู้สึกไม่สบายใจกับวิธีการทำงานของ CSS กรณีการใช้งานของฉันคือฉันต้องการใช้สไตล์เฉพาะบางอย่างdivในหน้าใดหน้าหนึ่ง ความพยายาม CSS: div.class1 { font: normal 12px arial, helvetica, sans-serif; font-color: #f30; } div.class1 div.class2 { border: 1px solid #f30; } ความพยายามน้อยกว่า: @red: #f30; @font-family: arial, helvetica, sans-serif; div.class1 { font: normal 12px @font-family; font-color: @red; div.class2 { border: 1px solid @red; } รุ่น CSS …
11 coding-style  css  ui  css3 

4
วิธีปฏิบัติที่ดีที่สุดที่ส่งคืนวัตถุแบบอ่านอย่างเดียว
ฉันมีคำถาม "แนวปฏิบัติที่ดีที่สุด" เกี่ยวกับ OOP ใน C # (แต่การเรียงลำดับจะใช้กับทุกภาษา) พิจารณาการมีคลาสห้องสมุดที่มีวัตถุที่ต้องเปิดเผยต่อสาธารณะพูดผ่านตัวเข้าถึงคุณสมบัติ แต่เราไม่ต้องการให้ประชาชน (ผู้ที่ใช้คลาสไลบรารีนี้) เปลี่ยนมัน class A { // Note: List is just example, I am interested in objects in general. private List<string> _items = new List<string>() { "hello" } public List<string> Items { get { // Option A (not read-only), can be …

5
ทำไม Velocity จึงไม่สูงนักเมื่อเวลาผ่านไป
ฉันได้พล็อตทีมของฉันเผาผลาญแผนภูมิและความเร็วต่อการทำซ้ำ สำหรับฉันมันดูไม่ดีเลย (ความเร็วแปรปรวนมาก) ฉันควรค้นหาสิ่งใดเพื่อวินิจฉัยสาเหตุที่แท้จริงของพฤติกรรมนี้
11 agile  scrum 

7
การตรวจสอบสิทธิ์ผ่าน HTTPS จะทำให้ใบสมัครของฉันช้าลงหรือไม่
ฉันกำลังสร้างเว็บแอปพลิเคชันและบริการเว็บสงบ ฉันได้อ่านบทความต่าง ๆ เกี่ยวกับวิธีที่ดีที่สุดในการรับรองความถูกต้องของคำขอไปยังบริการเว็บ ตัวเลือกที่ดีที่สุดสำหรับฉันดูเหมือนจะใช้การตรวจสอบสิทธิ์พื้นฐาน HTTP ค่อนข้างทุกบทความอ่าน ive กล่าวว่าการตรวจสอบควรเข้ารหัสผ่าน SSL หรือเทียบเท่า ฉันไม่แน่ใจว่าสิ่งนี้เกี่ยวข้องกับอะไรทั้งหมด นี่หมายความว่าบริการเว็บทั้งหมดของฉันจะต้องอยู่บนเซิร์ฟเวอร์ที่ปลอดภัยหรือไม่ สิ่งนี้จะช้าลงหรือไม่

1
Erlang ป้องกันสภาพการแข่งขันในการเขียนโปรแกรมพร้อมกันในทางใดบ้าง
อ่านหนังสือเกี่ยวกับการเห็นพ้องใน Erlang , ทำให้ผมนึกถึงเห็นพ้องด้วยเครื่องมือ Akka ทั้งสองให้คุณมีเครื่องมือในการป้องกันหรือการ จำกัดเงื่อนไขการแข่งขัน แต่คุณสามารถส่งลิงค์ไปยังข้อมูลที่ไม่แน่นอนไปยังกระบวนการอื่น ๆ โดยใช้ชุดเครื่องมือ Akka ซึ่งยังไม่ปลอดภัย ฉันเห็น Akka เป็นเครื่องมือที่มีประโยชน์ แต่ไม่ได้ให้การป้องกันการเข้าถึงวัตถุและข้อมูลที่นำไปสู่สภาวะการแข่งขันการหยุดชะงักและ / หรือความอดอยาก มันไม่ได้ป้องกันคุณจากการเขียนรหัสที่ไม่ปลอดภัยในแบบที่ Java หรือ C # ปกป้องคุณจากการเขียนการรั่วไหลของหน่วยความจำส่วนใหญ่ที่คุณสามารถเขียนใน C ++ (คุณยังสามารถสร้างการรั่วไหลของหน่วยความจำใน Java ได้ด้วยการหลอก ของปัญหามากกว่าการจำให้ฟรีทุกไบต์ที่คุณจัดสรร) Erlang รับประกันความถูกต้องระดับประสิทธิภาพและความทนทานในการเขียนโปรแกรมพร้อมกันหรือไม่? ฉันคิดว่าระบบปฏิบัติการให้ความคุ้มครองเมื่อเข้าถึงทรัพยากรระบบ (สมมติว่าผู้เขียนไดรเวอร์ทำงานได้ดี) ฐานข้อมูล ACID จัดเตรียมการป้องกันสำหรับการอ่านและอัพเดต ดังนั้นดูเหมือนว่านี่เป็นปัญหาที่แก้ไขได้ หรือโซลูชันที่ปลอดภัยทั่วไปจะลบประสิทธิภาพที่ได้จากการทำงานพร้อมกันหรือไม่ ภาษาหรือชุดเครื่องมืออื่นให้ความปลอดภัยพร้อมกันที่ Erlang ทำ (หรือไม่) หรือไม่? นี่เป็นคำถามที่ติดตามความคิดเห็นของ @ Malfist ในคำตอบของ @ user1249 …

2
ต้องการการตีความของส่วนในข้อกำหนด C #
ฉันกำลังอ่านสเปค C # ฉันสามารถใช้ความกระจ่างในเซ็กเมนต์: C # มีระบบพิมพ์รวม ชนิด C # ทั้งหมดรวมถึงชนิดดั้งเดิมเช่น int และ double สืบทอดมาจากประเภทวัตถุรากเดียว ดังนั้นทุกประเภทแบ่งปันชุดของการดำเนินงานทั่วไปและค่าของประเภทใด ๆ สามารถจัดเก็บขนส่งและดำเนินการในลักษณะที่สอดคล้องกัน นอกจากนี้ C # ยังสนับสนุนทั้งประเภทการอ้างอิงที่ผู้ใช้กำหนดและประเภทค่าช่วยให้การจัดสรรวัตถุแบบไดนามิกเช่นเดียวกับการจัดเก็บข้อมูลในบรรทัดของโครงสร้างที่มีน้ำหนักเบา “ ที่เก็บข้อมูลในบรรทัดของโครงสร้างที่มีน้ำหนักเบา” หมายถึงอะไรในบริบทนี้

3
เมื่อใดที่ Efferent / Afferent coupling ดีหรือไม่ดี
ฉันมีการสอบรูปแบบซอฟต์แวร์ในสัปดาห์นี้และหนึ่งในหัวข้อที่เราต้องศึกษาคือการมีเพศสัมพันธ์แบบ Efferent และ Afferent ฉันเข้าใจแพคเกจที่มี Ce สูง (ข้อต่อที่มีประสิทธิภาพ) ถ้ามันขึ้นอยู่กับประเภทอื่น ๆ ตัวอย่างเช่น: class Car{ Engine engine; Wheel wheel; Body body; } คลาสนี้จะมีคัปปลิ้งที่มีประสิทธิภาพสูงขึ้นอยู่กับประเภทเครื่องยนต์ล้อและตัวถัง ในขณะที่ประเภท "ล้อ" จะมี Ca สูง (การเชื่อมต่อแบบ afferent) ถ้ามีแพ็คเกจอื่น ๆ หลายอย่างขึ้นอยู่กับมัน (รถยนต์, เครื่องบิน, จักรยาน) หนึ่งในคำถามที่เป็นไปได้ในการสอบของเราคือเมื่อใดที่เอฟเฟนท์ / เอฟเฟอเรนท์มีเพศสัมพันธ์ดีหรือไม่ดี? สิ่งนี้ดูแปลกสำหรับฉันเพราะเหตุผลโปรแกรมจะต้องมีแพ็คเกจ / คลาสที่มีทั้งคู่ Efferent / Afferent สูง ไม่มีใครมีตัวอย่างของเมื่อ / ที่สูงออกหรือมีเพศสัมพันธ์ afferent ดี / …

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