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

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

5
ทำไมค่าคงที่จึงมีความสำคัญในวิทยาศาสตร์คอมพิวเตอร์
ฉันเข้าใจ 'คงที่' ในความหมายที่แท้จริง ฉันจำได้เมื่อพิมพ์รหัส แต่ฉันไม่คิดว่าฉันเข้าใจความสำคัญของคำนี้ในบริบทของวิทยาศาสตร์คอมพิวเตอร์ เมื่อใดก็ตามที่ฉันอ่านบทสนทนา \ white paper เกี่ยวกับการออกแบบภาษาจากโปรแกรมเมอร์ที่มีชื่อเสียง \ นักวิทยาศาสตร์คอมพิวเตอร์คำว่า 'invariant' ยังคงปรากฏขึ้นอย่างต่อเนื่องเป็นศัพท์แสง และนั่นคือส่วนที่ฉันไม่เข้าใจ มีอะไรพิเศษเกี่ยวกับมัน?

2
มีแบบอย่างของใบอนุญาตในคอมไพเลอร์ที่ จำกัด การพัฒนาที่คุณสามารถใช้ได้หรือไม่?
เมื่อเร็ว ๆ นี้เราขอแจ้งให้ทราบว่าEULA ใหม่สำหรับ Delphi XE3จะห้ามการพัฒนาเซิร์ฟเวอร์ไคลเอ็นต์ด้วยรุ่น Professional โดยไม่ต้องซื้อชุดสิทธิ์การใช้งานเซิร์ฟเวอร์ไคลเอ็นต์เพิ่มเติม นี่ไม่ได้เป็นการบอกว่ารุ่น Professional จะขาดคุณสมบัติ แต่ใบอนุญาตจะห้ามเฉพาะนักพัฒนาจากการใช้คอมไพเลอร์สำหรับการพัฒนาในระดับที่เฉพาะเจาะจงแม้แต่กับบุคคลที่สามหรือโซลูชั่นที่พัฒนาขึ้นเองที่บ้าน ดังนั้นคำถามของฉันคือหากมีแบบอย่างของคอมไพเลอร์หรือเครื่องมือสร้างสรรค์ที่คล้ายกันซึ่งห้ามไม่ให้มีคลาสของงานที่คุณสามารถใช้ได้ เครื่องมือ "มืออาชีพ" ที่ได้รับใบอนุญาตในเชิงพาณิชย์โดยเฉพาะเช่น Delphi XE3 นอกจากนี้ข้อ จำกัด ดังกล่าวจะถูกบังคับใช้ตามกฎหมายหรือไม่ ฉันรู้ว่ามีเครื่องมือรุ่นทางการศึกษาหรือเครื่องมือเริ่มต้นในอดีตที่ จำกัด การใช้งานเพื่อการค้า แต่เครื่องมือเหล่านี้ไม่ได้ขายเป็นเครื่องมือ "ระดับมืออาชีพ" นอกจากนี้ฉันรู้ว่าซอฟต์แวร์คอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์จำนวนมากจะมีข้อจำกัดความรับผิดชอบว่ามันไม่ได้มีไว้สำหรับใช้ใน "อุปกรณ์ช่วยชีวิต" หรือ "พลังงานนิวเคลียร์" แต่เป็นการหลีกเลี่ยงความรับผิดชอบมากกว่าการห้ามกิจกรรม ดูเหมือนว่าฉันจำได้ว่า Microsoft วางข้อ จำกัด ไว้ใน FrontPage ซึ่งคุณไม่สามารถใช้สร้างเว็บไซต์ที่แสดงผลได้ไม่ดีบน Microsoft แต่พวกเขาดึงข้อ จำกัด นั้นออกมาก่อนที่จะสามารถทดสอบได้อย่างถูกกฎหมาย ปรับปรุง: EULA ถูกทิ้งก่อนที่สินค้าจะถูกจัดส่งเนื่องจากการต่อต้านสาธารณะ
16 licensing  delphi  eula 

6
ตัวรวบรวมข้อมูลขยะป้องกันไม่ให้หน่วยความจำทั้งหมดถูกสแกนในทุกการรวบรวมอย่างไร
ตัวรวบรวมขยะ (อย่างน้อย Mono's และ. NET) บางตัวมีพื้นที่หน่วยความจำระยะสั้นซึ่งสแกนบ่อยและพื้นที่หน่วยความจำรองที่สแกนน้อยกว่า โมโนเรียกสถานเลี้ยงเด็กแห่งนี้ เพื่อค้นหาว่าวัตถุใดที่สามารถกำจัดได้พวกมันจะสแกนวัตถุทั้งหมดที่เริ่มต้นจากรากสแต็คและรีจิสเตอร์และกำจัดวัตถุทั้งหมดที่ไม่ได้ถูกอ้างอิงอีกต่อไป คำถามของฉันคือพวกเขาป้องกันไม่ให้หน่วยความจำที่ใช้งานทั้งหมดถูกสแกนในการรวบรวมทุกครั้งหรือไม่ โดยหลักการแล้ววิธีเดียวที่จะค้นหาว่าวัตถุใดไม่ได้ใช้งานอีกต่อไปคือการสแกนวัตถุทั้งหมดและการอ้างอิงทั้งหมด อย่างไรก็ตามนี่จะเป็นการป้องกันไม่ให้ระบบปฏิบัติการแลกเปลี่ยนหน่วยความจำแม้ว่าแอปพลิเคชั่นจะไม่ได้ใช้งานและรู้สึกว่าเป็นงานที่ต้องทำจำนวนมากเช่นกันสำหรับ "Nursery Collection" ไม่รู้สึกว่าพวกเขาชนะมากจากการใช้เรือนเพาะชำ ฉันทำบางสิ่งบางอย่างหายไปหรือว่าตัวรวบรวมขยะกำลังสแกนวัตถุทั้งหมดและทุกการอ้างอิงทุกครั้งที่มีการรวบรวมหรือไม่

4
ฉันควรเลือกคุณสมบัติที่มีหรือไม่มีฟิลด์ส่วนตัวหรือไม่?
codebase ที่ฉันกำลังทำงานอยู่ในขณะนี้มีแบบแผนของการใช้เขตข้อมูลส่วนตัวและคุณสมบัติสาธารณะ ตัวอย่างเช่นคลาสส่วนใหญ่มีสมาชิกกำหนดไว้ดังนี้: // Fields private double _foo; private double _bar; private double _baz; // Properties public double Foo { get{ return _foo; } set{ _foo = value; } } public double Bar { get{ return _bar; } set{ _bar = value; } } public double Baz { get{ return …
16 c#  coding-style 

10
ต้องการ Python มากกว่า C สำหรับการเขียนโปรแกรมอัลกอริทึม
ฉันกำลังศึกษาอัลกอริธึมเล็กน้อยและดูที่ไซต์อย่าง SPOJ.pl TopCoder เป็นต้นฉันเคยเห็นว่าโปรแกรมเมอร์ชอบ C หรือ C ++ สำหรับการแข่งขันเขียนโปรแกรมอัลกอริทึมส่วนใหญ่ ตอนนี้ฉันมีปัญหาบางอย่างเมื่อเร็ว ๆ นี้ ฉันรู้ทั้ง C และ Python เล็กน้อยและเมื่อพยายามเขียนรหัสฉันดูเหมือนจะชอบ Python มากกว่า C สำหรับอัลกอริธึมส่วนใหญ่ ทุกครั้งที่ฉันนั่งลงเพื่อเขียนรหัสใน CI ยอมแพ้หลังจากนั้นประมาณ 15 นาทีเพราะฉันพบว่ามันยุ่งยากเกินไปและมีแนวโน้มที่จะย้ายไปยังงูใหญ่ การผ่านการฝึกอบรมพอยน์เตอร์พอยน์เตอร์และอื่น ๆ ดูเหมือนจะเป็นเวลาที่ไร้ประโยชน์ที่ฉันสามารถใช้คิดเกี่ยวกับอัลกอริทึมได้จริง ตอนนี้ฉันรู้แล้วและได้ยินจากผู้คนมากมายว่า C เป็นภาษาที่สำคัญมากและเป็นขนมปังและเนยของโปรแกรมเมอร์จำนวนมาก สิ่งที่ฉันอยากรู้คือวิธีการของฉันนี้มีข้อบกพร่อง / ผลกระทบ / ข้อเสียอื่น ๆ หรือไม่ นี่ไม่ใช่การอภิปราย Python vs C; นี่เป็นคำถามเกี่ยวกับวิธีปฏิบัติที่เจาะจงของการเลือกไพ ธ อนมากกว่า C เนื่องจากความสะดวกในการใช้งานจะส่งผลกระทบต่อฉันหรือโปรแกรมเมอร์ / นักวิทยาศาสตร์คอมพิวเตอร์คนอื่น …

5
Pair Programming and ISO 27001
ฉันทำงานในทีมการเขียนโปรแกรม eXtreme และทำการเขียนโปรแกรมแบบคู่มานานกว่า 7 ปีในสภาพแวดล้อมแบบ windows เมื่อเราเริ่มทำมันใครบางคนจะเข้าสู่ระบบด้วยข้อมูลประจำตัวของ windows ของพวกเขาและดังนั้นการเข้าถึงทรัพยากรโดเมนและการควบคุมรุ่นที่เฉพาะเจาะจงมากขึ้นทั้งหมดจะต้องรับผิดชอบต่อผู้ใช้ windows ที่ ในที่สุดเราก็ได้พัฒนาให้บัญชีการจับคู่ windows สำหรับสถานีจับคู่ที่เฉพาะเจาะจง (เช่น pairA, pairB, PairC ฯลฯ …) devs ทั้งหมดรู้รหัสผ่านของบัญชีเหล่านี้ ความรับผิดชอบต่อการกระทำ (เช็คอิน) ทำได้โดยการใส่ชื่อย่อของโปรแกรมเมอร์ไว้ในคอมเม้นต์ระหว่างการคอมมิท จนถึงตอนนี้สิ่งนี้ใช้ได้ดีสำหรับเรา แต่ปัจจุบัน บริษัท ของฉันกำลังผ่านการตรวจสอบ ISO 27001 และผู้ตรวจสอบบัญชีถูกตั้งค่าสถานะเป็นความเสี่ยง ฉันมีวิธีแก้ปัญหาที่เป็นไปได้หลายอย่างเช่นการสร้างบัญชีการจับคู่สำหรับชุดค่าผสมทุกคู่ แต่ฉันอยากทราบว่ามีคนอื่นประสบปัญหานี้หรือไม่และพวกเขาแก้ไขได้อย่างไร ผู้ตรวจสอบยอมรับวิธีการแก้ปัญหาอะไรบ้าง

6
Rails - ใช้การแสดงผลมุมมองช้า ๆ หรือไม่
ฉันมีปัญหาด้านประสิทธิภาพใน3.1.0แอพพลิเคชั่นRails ตอนนี้ฉันได้ทำการเปลี่ยนแปลงแบบโดมกับข้อความค้นหาของฉันด้วย AR แล้ว แต่มุมมองยังคงใช้เวลาในการเรนเดอร์มากเกินไปฉันได้แบ่งมุมมองลูปและอื่น ๆ จะแสดงผลแบบไดนามิกภายในมุมมองและภายในส่วนอื่น ๆ ดังนั้นการฝึกหัดมีจำนวนมากเป็นเรื่องไม่ดี ฉันควรลดจำนวนชิ้นงานเพื่อปรับปรุงเวลาในการแสดงผลมุมมองหรือไม่ ขอบคุณ

11
ทำไมคลาสทั้งหมดใน. NET ที่สืบทอดจากคลาส Object?
มันน่าสนใจมากสำหรับฉันซึ่งข้อดีให้แนวทาง "คลาสรูทระดับโลก" สำหรับกรอบงาน กล่าวง่ายๆว่าเหตุผลอะไรที่ทำให้. NET Framework ได้รับการออกแบบให้มีคลาสรูทหนึ่งอ็อบเจ็กต์พร้อมฟังก์ชันการทำงานทั่วไปที่เหมาะสมสำหรับคลาสทั้งหมด ทุกวันนี้เรากำลังออกแบบเฟรมเวิร์กใหม่สำหรับการใช้งานภายใน (กรอบภายใต้แพลตฟอร์ม SAP) และเราทั้งหมดแบ่งออกเป็นสองค่าย - อันดับแรกผู้ที่คิดว่ากรอบควรมีรูทส่วนกลางและที่สอง - ที่คิดตรงกันข้าม ฉันอยู่ที่ค่าย "global root" และเหตุผลของฉันสิ่งที่วิธีการดังกล่าวจะให้ความยืดหยุ่นที่ดีและลดต้นทุนการพัฒนาทำให้เราจะไม่พัฒนาฟังก์ชั่นทั่วไปอีกต่อไป ดังนั้นฉันสนใจมากที่จะรู้ว่าอะไรคือสาเหตุที่ผลักดันสถาปนิก. NET ให้ออกแบบเฟรมเวิร์กด้วยวิธีดังกล่าว

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

7
วิธีการลดความยุ่งยากในการบำรุงรักษาของรหัสเหตุการณ์ขับเคลื่อน?
เมื่อใช้องค์ประกอบตามเหตุการณ์ฉันมักจะรู้สึกเจ็บปวดในช่วงการบำรุงรักษา เนื่องจากโค้ดที่ถูกประมวลผลจะถูกแยกออกไปรอบ ๆ มันอาจเป็นเรื่องยากที่จะคิดว่าส่วนใดของโค้ดที่จะเกี่ยวข้องกับรันไทม์ สิ่งนี้สามารถนำไปสู่ปัญหาการดีบักที่ละเอียดและยากเมื่อมีคนเพิ่มตัวจัดการเหตุการณ์ใหม่บางอย่าง แก้ไขจากความคิดเห็น: แม้ว่าจะมีแนวปฏิบัติที่ดีเช่นการมีแอพพลิเคชั่น Event Bus และตัวจัดการที่มอบหมายธุรกิจไปยังส่วนอื่น ๆ ของแอพมีช่วงเวลาที่รหัสเริ่มอ่านยากเพราะมีจำนวนมาก ตัวจัดการการลงทะเบียนจากสถานที่ต่าง ๆ (โดยเฉพาะอย่างยิ่งจริงเมื่อมีรถบัส) จากนั้นไดอะแกรมลำดับเริ่มมองดูซับซ้อนเวลาที่ใช้ในการคิดว่าเกิดอะไรขึ้นเพิ่มขึ้นและเซสชันการดีบักยุ่งเหยิง (เบรกพอยต์บนตัวจัดการตัวจัดการในขณะที่วนรอบตัวจัดการโดยเฉพาะอย่างยิ่งสนุกสนานกับตัวจัดการ async และตัวกรองบางส่วนด้านบน) ////////////// ตัวอย่าง ฉันมีบริการที่ดึงข้อมูลบางอย่างบนเซิร์ฟเวอร์ ในไคลเอนต์เรามีองค์ประกอบพื้นฐานที่เรียกใช้บริการนี้โดยใช้การโทรกลับ เพื่อให้จุดส่วนขยายแก่ผู้ใช้ของส่วนประกอบและเพื่อหลีกเลี่ยงการเชื่อมต่อระหว่างส่วนประกอบที่แตกต่างกันเรากำลังยิงเหตุการณ์บางอย่าง: หนึ่งก่อนที่จะส่งแบบสอบถามแบบสอบถามหนึ่งเมื่อคำตอบกลับมาและอีกคนหนึ่งในกรณีของความล้มเหลว เรามีชุดพื้นฐานของตัวจัดการที่ลงทะเบียนล่วงหน้าซึ่งให้พฤติกรรมเริ่มต้นขององค์ประกอบ ตอนนี้ผู้ใช้ของส่วนประกอบ (และเราเป็นผู้ใช้ของคอมโพเนนต์ด้วย) สามารถเพิ่มตัวจัดการบางอย่างเพื่อทำการเปลี่ยนแปลงบางอย่างเกี่ยวกับพฤติกรรม (ปรับเปลี่ยนแบบสอบถามบันทึกการวิเคราะห์ข้อมูลการกรองข้อมูลการกรองข้อมูลนวดภาพเคลื่อนไหว UI แฟนซีเชนสอบถามหลายลำดับ อะไรก็ตาม) ดังนั้นตัวจัดการบางตัวจะต้องถูกเรียกใช้ก่อน / หลังตัวจัดการบางตัวและพวกมันถูกลงทะเบียนจากจุดเข้าใช้ที่แตกต่างกันมากมายในแอปพลิเคชัน หลังจากผ่านไปครู่หนึ่งอาจเกิดขึ้นได้ที่ตัวจัดการโหลขึ้นไปมีการลงทะเบียนและการทำงานกับสิ่งนั้นอาจน่าเบื่อและอันตราย การออกแบบนี้เกิดขึ้นเนื่องจากการใช้การสืบทอดเริ่มเป็นระเบียบสมบูรณ์ ระบบเหตุการณ์ถูกนำมาใช้ในการประพันธ์ชนิดหนึ่งซึ่งคุณยังไม่รู้ว่าจะเป็นอย่างไร ในตอนท้ายของ ////////////// ดังนั้นฉันจึงสงสัยว่าคนอื่นกำลังจัดการกับรหัสประเภทนี้อย่างไร ทั้งเมื่อเขียนและอ่านแล้ว คุณมีวิธีการหรือเครื่องมือที่ช่วยให้คุณเขียนและรักษารหัสดังกล่าวโดยไม่เจ็บปวดมากหรือไม่?

8
วิธีในการทำลาย“ กลุ่มอาการของโปรแกรมเมอร์ที่สมบูรณ์แบบ” [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันอาจไม่ใช่คนเดียวที่รู้สึกอย่างนั้น แต่ฉันมีสิ่งที่ฉันมักจะเรียกว่า "ซินโดรมของโปรแกรมเมอร์ที่สมบูรณ์แบบ" ซึ่งหลายคนอาจบอกว่าเป็นคนที่ชอบความสมบูรณ์แบบ แต่ในกรณีนี้มันอยู่ในขอบเขตของการเขียนโปรแกรม อย่างไรก็ตามโดเมนของการเขียนโปรแกรมเป็นปัญหาเล็กน้อยสำหรับกลุ่มอาการดังกล่าว คุณเคยรู้สึกบ้างไหมว่าเมื่อคุณเขียนโปรแกรมคุณไม่มั่นใจหรือไม่มั่นใจเลยว่ารหัสของคุณสะอาดและเป็นรหัสที่ดีซึ่งเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดส่วนใหญ่หรือไม่? มีกฎมากมายที่ต้องทำตามที่ฉันรู้สึกว่าถูกจมอย่างใด ไม่ใช่ว่าฉันไม่ชอบทำตามกฎของหลักสูตรฉันเป็นโปรแกรมเมอร์และฉันรักการเขียนโปรแกรมฉันเห็นว่านี่เป็นศิลปะและฉันต้องปฏิบัติตามกฎ แต่ฉันก็ชอบมันเหมือนกันฉันหมายความว่าฉันต้องการและฉันก็ชอบที่จะปฏิบัติตามกฎเพื่อให้ได้ความรู้สึกที่ดีในสิ่งที่ฉันกำลังทำไปในทางที่ถูกต้อง .. แต่ฉันหวังว่าฉันจะมีทุกสิ่งใน "การควบคุม" เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดและรหัสที่ดี อาจจะเป็นการขาดองค์กรหรือไม่ อาจจะเป็นการขาดประสบการณ์หรือไม่? บางทีการขาดการฝึกฝน? บางทีมันอาจจะขาดอะไรอย่างอื่นที่ใครบางคนชี้ มีวิธีใดที่จะกำจัดกลุ่มอาการนี้ได้บ้าง?

9
ใช้วิธีสร้างหรือตั้งค่า?
ฉันกำลังทำงานกับรหัส UI ที่ฉันมีActionชั้นเรียนเช่นนี้ - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } เมื่อคลาส Action นี้ถูกสร้างขึ้นมันค่อนข้างจะสันนิษฐานได้ว่าActionคลาสนั้นจะไม่สามารถปรับแต่งได้ (ในความหมาย - ข้อความคำแนะนำเครื่องมือหรือรูปภาพจะไม่สามารถเปลี่ยนแปลงได้ทุกที่ในรหัส) ตอนนี้เราต้องการเปลี่ยนข้อความการกระทำในบางตำแหน่งในโค้ด ดังนั้นฉันแนะนำเพื่อนร่วมงานของฉันให้ลบข้อความการกระทำที่ฮาร์ดโค้ดออกจากตัวสร้างและยอมรับว่าเป็นอาร์กิวเมนต์เพื่อให้ทุกคนถูกบังคับให้ส่งข้อความการกระทำ บางอย่างเช่นรหัสด้านล่าง - public class MyAction extends Action { public MyAction(String actionText) { setText(actionText); setTooltip("My Action tool tip"); setImage("My …

3
Git: การแก้ไขข้อบกพร่องที่มีผลกระทบต่อสองสาขา
ฉันใช้ repo Git ของฉันในแบบจำลอง Git branching ที่ประสบความสำเร็จและสงสัยว่าจะเกิดอะไรขึ้นถ้าคุณมีสถานการณ์นี้: สมมติว่าฉันกำลังพัฒนาบนฟีเจอร์สองสาขา A และ B และ B ต้องใช้รหัสจาก A. โหนด X แนะนำข้อผิดพลาดในฟีเจอร์ A ซึ่งส่งผลกระทบต่อสาขา B แต่ไม่พบที่โหนด Y ที่ผสานคุณสมบัติ A และ B และ ทำการทดสอบก่อนที่จะแตกแขนงออกไปอีกครั้งและทำงานในการทำซ้ำครั้งถัดไป เป็นผลให้ข้อผิดพลาดที่พบในโหนด Z โดยคนที่ทำงานเกี่ยวกับคุณสมบัติ B ในขั้นตอนนี้ก็ตัดสินใจว่าจำเป็นต้องมีการแก้ไขข้อบกพร่อง การแก้ไขนี้ควรนำไปใช้กับฟีเจอร์ทั้งสองเนื่องจากผู้ที่ทำงานในฟีเจอร์ A ต้องมีการแก้ไขบั๊กเนื่องจากเป็นส่วนหนึ่งของฟีเจอร์ ควรจะสร้างสาขา bugfix จากคุณสมบัติ A ล่าสุดหรือไม่ (รวมเป็นหนึ่งจากโหนด Y) จากนั้นผสานกับคุณสมบัติ A หลังจากนั้นฟีเจอร์ทั้งสองจะถูกรวมเข้ากับการพัฒนาอีกครั้งและทดสอบก่อนที่จะแตกแขนงออก? ปัญหานี้คือมันต้องการให้ทั้งสองสาขารวมเพื่อแก้ไขปัญหา เนื่องจากฟีเจอร์ B …
16 git  bug  branching 

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

1
Java สามารถปรับปรุงได้อย่างไรเพื่อไม่ต้องทำการลบประเภทอีกต่อไป?
การสอน Java อย่างเป็นทางการเกี่ยวกับข้อมูลทั่วไปอธิบายประเภทการลบและสาเหตุที่เพิ่มเข้าในคอมไพเลอร์: เมื่อประเภททั่วไปเป็นอินสแตนซ์คอมไพเลอร์แปลประเภทเหล่านั้นโดยใช้เทคนิคที่เรียกว่าประเภทการลบ - กระบวนการที่คอมไพเลอร์ลบข้อมูลทั้งหมดที่เกี่ยวข้องกับพารามิเตอร์ประเภทและอาร์กิวเมนต์ประเภทภายในชั้นเรียนหรือวิธีการ การลบประเภททำให้แอปพลิเคชัน Java ที่ใช้ generics เพื่อรักษาความเข้ากันได้ของไบนารีกับไลบรารี Java และแอปพลิเคชันที่สร้างขึ้นก่อนหน้า generics สิ่งนี้น่าจะเป็นวิธีปฏิบัติหรืออาจเป็นวิธีที่เจ็บปวดน้อยที่สุด อย่างไรก็ตามตอนนี้ข้อมูลทั่วไปได้รับการสนับสนุนอย่างกว้างขวางทั่วอุตสาหกรรมสิ่งที่สามารถทำได้เพื่อให้เราไม่จำเป็นต้องลบประเภท? มันเป็นไปได้โดยไม่จำเป็นต้องแบ่งความเข้ากันได้ย้อนหลังหรือถ้าเป็นไปได้มันเป็นจริงหรือไม่? คำแถลงสุดท้ายในข้อความข้างต้นกลายเป็นการอ้างอิงตนเองหรือไม่? นั่นคือ: "การลบประเภทช่วยให้แอปพลิเคชัน Java ที่ใช้ generics เพื่อรักษาความเข้ากันได้ของไบนารีกับไลบรารี Java และแอปพลิเคชันที่สร้างขึ้นด้วยเวอร์ชัน Java ที่ดำเนินการลบประเภท"
16 java  jvm 

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