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

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

6
ฟังก์ชั่นการเขียนโปรแกรมเป็นชุดของวัตถุที่มุ่งเน้น?
ยิ่งฉันเขียนโปรแกรมที่ใช้งานได้มากเท่าไหร่ฉันก็ยิ่งรู้สึกว่ามันเพิ่มเลเยอร์สิ่งที่เป็นนามธรรมซึ่งดูเหมือนว่าเลเยอร์ของหอมหัวใหญ่เป็นอย่างไรรวมไปถึงเลเยอร์ก่อนหน้า ฉันไม่รู้ว่านี่เป็นความจริงหรือเปล่าดังนั้นเพื่อปิดหลักการ OOP ที่ฉันเคยทำมานานหลายปีแล้วใครจะอธิบายได้ว่าการทำงานหรือไม่สามารถอธิบายสิ่งเหล่านี้ได้อย่างถูกต้อง: Encapsulation, Abstraction, Inheritance, Polymorphism ฉันคิดว่าเราทุกคนสามารถพูดได้ใช่มันมีการห่อหุ้มผ่านทูเปิลหรือสิ่งอันดับนับเป็นเทคนิคในความเป็นจริงของ "การเขียนโปรแกรมฟังก์ชั่น" หรือพวกเขาเป็นเพียงยูทิลิตี้ของภาษา? ฉันรู้ว่า Haskell สามารถตอบสนองความต้องการ "อินเทอร์เฟซ" แต่อีกครั้งไม่แน่ใจว่ามันเป็นวิธีการทำงานจริงหรือไม่ ฉันคาดเดาว่าความจริงที่ว่า functors มีพื้นฐานทางคณิตศาสตร์ที่คุณสามารถบอกได้ว่าสิ่งเหล่านี้เป็นสิ่งที่แน่นอนในการคาดหวังการทำงาน โปรดให้รายละเอียดว่าคุณคิดว่าการทำงานทำหน้าที่หรือไม่ปฏิบัติตาม 4 หลักการของ OOP แก้ไข: ฉันเข้าใจความแตกต่างระหว่างกระบวนทัศน์การทำงานและกระบวนทัศน์เชิงวัตถุได้ดีและตระหนักว่ามีหลายภาษาหลายภาษาในทุกวันนี้ซึ่งสามารถทำได้ทั้งสองอย่าง ฉันแค่กำลังมองหาคำจำกัดความของวิธีการที่ fp ทันที (คิดว่าคนพิถีพิถันเช่น haskell) สามารถทำสิ่งใดสิ่งหนึ่งในสี่รายการที่ระบุไว้หรือทำไมมันไม่สามารถทำใด ๆ ของพวกเขา เช่น "การห่อหุ้มสามารถทำได้ด้วยการปิด" (หรือถ้าฉันผิดในความเชื่อนี้โปรดระบุสาเหตุ)

5
วิธีการจัดโครงสร้างโครงการใน winform อย่างถูกต้อง?
เมื่อไม่นานมานี้ฉันเริ่มสร้างแอปพลิเคชั่น winform และในเวลานั้นมันมีขนาดเล็กและฉันก็ไม่ได้คิดว่าจะจัดโครงสร้างโครงการอย่างไร ตั้งแต่นั้นมาฉันเพิ่มคุณสมบัติเพิ่มเติมตามที่ต้องการและโฟลเดอร์โปรเจ็กต์ก็ใหญ่ขึ้นเรื่อย ๆ และตอนนี้ฉันคิดว่ามันถึงเวลาที่จะจัดโครงสร้างโครงการในบางด้าน แต่ฉันไม่แน่ใจว่าวิธีที่เหมาะสมคืออะไรดังนั้นฉันจึงมีคำถามสองสามข้อ วิธีการปรับโครงสร้างโฟลเดอร์โครงการอย่างเหมาะสม? ในขณะนี้ฉันกำลังนึกถึงบางสิ่งเช่นนี้: สร้างโฟลเดอร์สำหรับแบบฟอร์ม สร้างโฟลเดอร์สำหรับคลาสยูทิลิตี้ สร้างโฟลเดอร์สำหรับคลาสที่มีข้อมูลเท่านั้น หลักการตั้งชื่อคืออะไรเมื่อเพิ่มคลาส? ฉันควรเปลี่ยนชื่อคลาสเพื่อให้สามารถระบุฟังก์ชันการทำงานของพวกเขาได้โดยเพียงแค่ดูที่ชื่อของพวกเขา ยกตัวอย่างเช่นการเปลี่ยนชื่อทุกชั้นเรียนรูปแบบเพื่อให้พวกเขาจบลงด้วยชื่อในแบบฟอร์ม หรือไม่จำเป็นถ้ามีการสร้างโฟลเดอร์พิเศษสำหรับพวกมัน สิ่งที่ต้องทำเพื่อไม่ให้รหัสทั้งหมดสำหรับฟอร์มหลักสิ้นสุดลงใน Form1.cs ปัญหาอีกประการหนึ่งที่ฉันพบคือเมื่อฟอร์มหลักมีขนาดใหญ่ขึ้นตามคุณลักษณะที่ฉันเพิ่มแต่ละไฟล์รหัส (Form1.cs) เริ่มมีขนาดใหญ่มาก ฉันมีตัวอย่างเช่น TabControl และแต่ละแท็บมีพวงของการควบคุมและรหัสทั้งหมดลงเอยใน Form1.cs จะหลีกเลี่ยงสิ่งนี้ได้อย่างไร นอกจากนี้คุณรู้บทความหรือหนังสือที่จัดการกับปัญหาเหล่านี้หรือไม่

2
ความแตกต่างระหว่างการออกแบบตามสัญญาและการเขียนโปรแกรมป้องกัน
การออกแบบโดยสัญญา (DbC) เป็นวิธีการตั้งโปรแกรมป้องกันหรือไม่ เป็นวิธีหนึ่งในการเขียนโปรแกรมที่ดีกว่าในบางกรณีมากกว่าวิธีอื่นหรือไม่

6
ภาษาโปรแกรมสำหรับการใช้งานฟังก์ชั่นล้วนจัดการโดยไม่มีคำสั่งมอบหมายได้อย่างไร
เมื่ออ่าน SICP ที่มีชื่อเสียงฉันพบว่าผู้เขียนค่อนข้างลังเลที่จะแนะนำคำสั่งมอบหมายให้ Scheme ในบทที่ 3 ฉันอ่านข้อความและเข้าใจว่าทำไมพวกเขาถึงรู้สึกเช่นนั้น เนื่องจาก Scheme เป็นภาษาโปรแกรมภาษาแรกที่ใช้งานได้ฉันรู้อะไรบางอย่างฉันรู้สึกประหลาดใจที่มีภาษาโปรแกรมบางฟังก์ชั่น (ไม่ใช่แบบแผนของหลักสูตร) ​​สามารถทำได้โดยไม่ได้รับมอบหมาย ขอใช้ตัวอย่างข้อเสนอจากหนังสือbank accountตัวอย่าง หากไม่มีคำแถลงการมอบหมายสิ่งนี้สามารถทำได้อย่างไรจะเปลี่ยนแปลงbalanceตัวแปรได้อย่างไร? ฉันถามเพราะฉันรู้ว่ามีบางภาษาที่เรียกว่าบริสุทธิ์ฟังก์ชั่นออกมีและตามทฤษฎีทัวริงที่สมบูรณ์ก็ต้องทำเช่นนี้ ฉันเรียนรู้ C, Java, Python และใช้การมอบหมายอย่างมากในทุกโปรแกรมที่ฉันเขียน ดังนั้นมันจึงเป็นประสบการณ์ที่เปิดหูเปิดตา ฉันหวังว่าบางคนสามารถอธิบายสั้น ๆ ได้ว่าการหลีกเลี่ยงการมอบหมายในภาษาโปรแกรมการทำงานเหล่านั้นและสิ่งที่มีผลกระทบอย่างลึกซึ้ง (ถ้ามี) ในภาษาเหล่านี้ ตัวอย่างดังกล่าวข้างต้นอยู่ที่นี่: (define (make-withdraw balance) (lambda (amount) (if (>= balance amount) (begin (set! balance (- balance amount)) balance) "Insufficient funds"))) นี้มีการเปลี่ยนแปลงโดยbalance สำหรับผมแล้วมันดูมากเช่นวิธีการเรียนการเปลี่ยนแปลงสมาชิกในชั้นเรียนset!balance ดังที่ฉันพูดฉันไม่คุ้นเคยกับภาษาโปรแกรมที่ใช้งานได้ดังนั้นหากฉันพูดอะไรผิดเกี่ยวกับพวกเขารู้สึกอิสระที่จะชี้ให้เห็น

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

3
เหตุใดภาษาโปรแกรมมาตรฐาน (เปิด) จึงต้องเสียค่าใช้จ่าย [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มันไม่ตอบโต้หรือไม่ที่จะขอ384 Swiss franks สำหรับ C11หรือ352 Swiss franks สำหรับ C ++ 11ถ้าเป้าหมายคือการทำให้มาตรฐานเป็นที่ยอมรับอย่างกว้างขวาง? โปรดทราบว่าฉันไม่ได้พูดจาโผงผางเลยและฉันก็ไม่ได้ต่อต้านการจ่ายเงิน ฉันต้องการเข้าใจเหตุผลเบื้องหลังการกำหนดราคาโดยเฉพาะอย่างยิ่งการรู้ว่า ISO เป็นเครือข่ายของสถาบันมาตรฐานแห่งชาติ (เช่นได้รับทุนจากรัฐบาล) และฉันยังสงสัยว่าราคาเหล่านี้จะสร้างรายได้เพียงพอที่จะให้ทุนแก่องค์กรเช่นนั้นดังนั้นจะต้องมีเหตุผลอื่น

11
เต็มไปด้วยข้อบกพร่องแบบมัลติเธรด
ในทีมใหม่ของฉันที่ฉันจัดการรหัสส่วนใหญ่ของเราคือแพลตฟอร์มซ็อกเก็ต TCP และรหัสเครือข่าย http C ++ ทั้งหมด ส่วนใหญ่มาจากผู้พัฒนารายอื่นที่ออกจากทีมไป นักพัฒนาปัจจุบันของทีมนั้นฉลาดมาก แต่ส่วนใหญ่เป็นรุ่นรองในแง่ของประสบการณ์ ปัญหาที่ใหญ่ที่สุดของเรา: ข้อบกพร่องที่เกิดขึ้นพร้อมกันแบบมัลติเธรด ไลบรารีคลาสของเราส่วนใหญ่เขียนเป็นแบบอะซิงโครนัสโดยใช้คลาสเธรดพูลบางคลาส เมธอดบนไลบรารีคลาสมักเข้าคิวเพื่อรัน taks ที่ยาวบนเธรดพูลจากเธรดหนึ่งและจากนั้นเมธอดการเรียกกลับของคลาสนั้นจะถูกเรียกใช้บนเธรดอื่น เป็นผลให้เรามีข้อบกพร่องกรณีขอบจำนวนมากที่เกี่ยวข้องกับข้อสันนิษฐานเกลียวที่ไม่ถูกต้อง ซึ่งส่งผลให้ข้อบกพร่องที่ลึกซึ้งที่มีมากกว่าส่วนที่สำคัญและล็อคเพื่อป้องกันปัญหาการเกิดพร้อมกัน สิ่งที่ทำให้ปัญหาเหล่านี้ยากขึ้นคือความพยายามแก้ไขมักไม่ถูกต้อง ข้อผิดพลาดบางประการที่ฉันสังเกตเห็นว่าทีมพยายาม (หรือภายในรหัสเดิม) รวมถึงสิ่งต่อไปนี้: ข้อผิดพลาดทั่วไป # 1 - แก้ไขปัญหาการเกิดพร้อมกันโดยเพียงแค่ใส่ล็อกรอบ ๆ ข้อมูลที่ใช้ร่วมกัน แต่ลืมเกี่ยวกับสิ่งที่เกิดขึ้นเมื่อวิธีการไม่ได้รับการเรียกในลำดับที่คาดหวัง นี่เป็นตัวอย่างง่ายๆ: void Foo::OnHttpRequestComplete(statuscode status) { m_pBar->DoSomethingImportant(status); } void Foo::Shutdown() { m_pBar->Cleanup(); delete m_pBar; m_pBar=nullptr; } ดังนั้นตอนนี้เรามีข้อผิดพลาดที่สามารถเรียกปิดได้ในขณะที่ OnHttpNetworkRequestComplete กำลังเกิดขึ้น ผู้ทดสอบพบข้อผิดพลาดจับการถ่ายโอนข้อมูลความผิดพลาดและกำหนดข้อผิดพลาดให้กับนักพัฒนา เขาก็แก้ไขข้อผิดพลาดเช่นนี้ …

5
คุณต้องการให้สิ่งส่วนตัวภายใน / สาธารณะสำหรับการทดสอบหรือใช้การแฮ็คบางอย่างเช่น PrivateObject หรือไม่
ฉันค่อนข้างเริ่มต้นในการทดสอบโค้ดและเป็นassertโสเภณีก่อนหน้านี้ สิ่งหนึ่งที่ทำให้ฉันกังวลในการทดสอบหน่วยคือบ่อยครั้งที่คุณต้องสร้างฟิลด์public(หรืออย่างน้อยinternal) ที่จะเป็นprivateอย่างอื่นเพื่อยกเลิกการreadonlyสร้างprivateวิธีการprotected virtualแทน ฯลฯ ฉันเพิ่งค้นพบว่าคุณสามารถหลีกเลี่ยงสิ่งนี้ได้โดยใช้สิ่งต่าง ๆ เช่นคลาสPrivateObjectเพื่อทำเครื่องหมายสิ่งต่าง ๆ ในวัตถุผ่านการสะท้อนกลับ แต่สิ่งนี้ทำให้การทดสอบของคุณบำรุงรักษาได้น้อยลง (สิ่งต่าง ๆ จะล้มเหลวในการดำเนินการมากกว่าการรวบรวมเวลามันจะถูกทำลายโดยการเปลี่ยนชื่อแบบง่ายยากที่จะทำการดีบั๊ก ... ) คุณมีความคิดเห็นอย่างไรกับเรื่องนี้? แนวปฏิบัติที่ดีที่สุดในการทดสอบหน่วยเกี่ยวกับการ จำกัด การเข้าถึงคืออะไร แก้ไข: พิจารณาอินสแตนซ์ที่คุณมีคลาสที่มีแคชในไฟล์บนดิสก์และในการทดสอบของคุณคุณต้องการเขียนไปยังหน่วยความจำแทน
26 c#  unit-testing 

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

7
แนวทางปฏิบัติที่ดีที่สุดสำหรับการย้ายแอปพลิเคชัน MS Access ขนาดใหญ่ไปยัง. Net?
เรามีแอปพลิเคชั่น MS Access ขนาดใหญ่มากที่พัฒนาขึ้นภายในองค์กรเพื่อความต้องการส่วนบุคคลของเราซึ่งต่อมาได้กลายเป็นซอฟต์แวร์เชิงพาณิชย์และขายได้สำเร็จ ซอฟต์แวร์นี้เป็น "all-round-software-for-your-business" และมีหลายโมดูลรวมถึงระบบการจัดการเอกสารการวางแผนทรัพยากรองค์กรการจัดการสินค้าคงคลังการจัดการลูกค้าสัมพันธ์การวิเคราะห์ข้อมูลและอื่น ๆ เราค่อนข้างพอใจกับปัจจุบัน ฟังก์ชันการทำงานของแอปพลิเคชัน แต่เพื่อตอบสนองคำขอจากลูกค้าของเราเราตระหนักว่าเราต้องย้ายไปยังสิ่งใหม่ เราตัดสินใจที่จะค่อยๆย้ายแอปพลิเคชันของเราไปยัง. Net เพราะเราสามารถติดกับ Visual Basic .Net: แม้ว่ามันจะเป็นภาษาใหม่สำหรับนักพัฒนาส่วนใหญ่ที่นี่เรามีความรู้เชิงลึกเกี่ยวกับ VBA และโครงการขนาดเล็กจำนวนมาก เราได้เริ่มย้ายฟังก์ชันการทำงานของชั้นข้อมูลของแอปพลิเคชันของเราไปยัง MS SQL Server เพื่อให้ทุกการจัดการข้อมูลและการค้นหาทำได้โดยตรงบนเซิร์ฟเวอร์ สิ่งที่เรากำลังมองหาคือแนวปฏิบัติที่ดีที่สุดสำหรับการค่อย ๆ เคลื่อน GUI ที่กว้างขวางของเรา (ประมาณ 500-600 รูปแบบที่แตกต่างกันรวมถึงฟอร์มย่อยรายงานประมาณ 200 ฉบับพร้อมการสนับสนุนหลายภาษาเป็นต้น) การติดตามคำขอล่าสุดจากลูกค้าที่มีศักยภาพของเราในการใช้การเข้ารหัสข้อมูลแบบอะซิงโครนัสบนเอกสารใน DMS เรายินดีที่จะแยกส่วนนี้ออกจาก MS Access อย่างสมบูรณ์และนำไปใช้ใน. Net คำถามคือทำอย่างไรจึงจะรวมแอปพลิเคชั่น. Net เข้ากับระบบ MS Access ที่มีอยู่ได้อย่างราบรื่นเพื่อให้เราสามารถเรียกใช้พารามิเตอร์บางตัว (สิทธิ์ผู้ใช้เป็นต้น) และเปิดใช้งานการแลกเปลี่ยนข้อมูลระหว่างแอปพลิเคชันนี้ …

3
บนเส้นทางสู่การตรัสรู้: Scheme, Common Lisp, Clojure? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ผู้คนจำนวนมากฉลาดกว่าที่ฉันเขียนไว้เสมอเมื่อคุณเรียนรู้ Lisp มันทำให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้นเพราะคุณ "เข้าใจ" บางทีทั้งหมดที่ฉันได้ยินเกี่ยวกับเสียงกระเพื่อมเปลี่ยนชีวิตของคุณเป็นเพียงเรื่องตลกขนาดใหญ่ในมือใหม่ แต่ฉันคิดว่าไม่มีอันตรายใด ๆ ในการรู้มากขึ้นเกี่ยวกับโลกแม้ว่าฉันจะพบว่าฉันถูกส่งไปหลังจากนกปากซ่อมหรืออะไรบางอย่าง . ฉันต้องการติดตามหนังสือ SICP และหรือ ANSI Common LISP แต่ในเวลาเดียวกันฉันกำลังศึกษาภาษาถิ่นและการใช้งานที่ฉันสามารถใช้ในโครงการส่วนบุคคลได้ SICP มุ่งเน้นไปที่ Scheme ดังนั้นจึงเป็นการลงคะแนนเสียงครั้งใหญ่ พอลเกรแฮมกล่าวว่าหากเขาจะสอนมือใหม่เขาจะทำใน Scheme แต่ฟังดูเหมือน Scheme ยังด้อยกว่า Common LISP แต่แล้วก็มี Clojure - ซึ่งฉันบอกว่าถูก จำกัด ด้วยวิธีการ แต่มีประโยชน์มากกว่าสำหรับคนอื่น ๆ (ห้องสมุด JVM) ดูเหมือนว่าฉันจะสามารถเข้าถึงวัสดุ Scheme …

7
ฟังก์ชั่นไม่ระบุชื่อตนเองที่ดำเนินการเทียบกับต้นแบบ
ใน Javascript มีเทคนิคที่เด่นชัดบางประการสำหรับการสร้างและจัดการคลาส / เนมสเปซในจาวาสคริปต์ ฉันอยากรู้ว่าสถานการณ์ใดที่รับประกันโดยใช้เทคนิคหนึ่งกับอีกเทคนิคหนึ่ง ฉันต้องการที่จะเลือกและติดกับมันก้าวไปข้างหน้า ฉันเขียนรหัสองค์กรที่ได้รับการบำรุงรักษาและใช้งานร่วมกันในหลาย ๆ ทีมและฉันต้องการที่จะรู้ว่าวิธีที่ดีที่สุดในการเขียนจาวาสคริปต์คืออะไร? ฉันมักจะชอบฟังก์ชั่นนิรนามที่ดำเนินการเอง แต่ฉันอยากรู้ว่าชุมชนโหวตให้กับเทคนิคเหล่านี้อย่างไร ต้นแบบ: function obj() { } obj.prototype.test = function() { alert('Hello?'); }; var obj2 = new obj(); obj2.test(); ฟังก์ชั่นไม่เปิดเผยตัวตนปิดตัวเอง: //Self-Executing Anonymous Function (function( skillet, $, undefined ) { //Private Property var isHot = true; //Public Property skillet.ingredient = "Bacon …

4
มีทางเลือกอื่นในการค้นหารหัสของ Google หรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา ตามบล็อกทางการของ Google : การค้นหารหัสซึ่งถูกออกแบบมาเพื่อช่วยให้ผู้คนค้นหารหัสโอเพนซอร์สทางเว็บจะถูกปิดพร้อมกับ Code Search API ในวันที่ 15 มกราคม 2012 Google Code Search หายไปแล้วและเนื่องจากมันทำให้การทำความเข้าใจกับคุณสมบัติต่าง ๆ ที่นำเสนอได้ยากขึ้นนี่คือความพยายามของฉันในการแสดงผลผ่านข้อมูลที่ฉันรวบรวมจากแคชของหน้าสำหรับตัวเลือกการค้นหา: "ในกล่องค้นหา" เพียงบันทึกไวยากรณ์เพื่อพิมพ์คำสั่งโดยตรงในช่องค้นหาหลักแทนที่จะใช้อินเตอร์เฟซการค้นหาขั้นสูง แพ็คเกจ (ในช่องค้นหา: "แพ็คเกจ: linux-2.6") ภาษา (ในช่องค้นหา: "lang: c ++") (ตัวเลือก: ภาษาใด ๆ , actioncript, ada, applescript, asp, ชุดประกอบ, autoconf, automake, awk, พื้นฐาน, bat, …

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

6
ทำไมความพยายามเหล่านี้ถึงทำให้ Scala ล้มเหลวด้วย Xtend และ Kotlin [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ดังนั้นตอนนี้ Eclipse ได้เสนอ Xtend และ JetBrains กำลังเสนอ Kotlin ซึ่งทั้งสองอย่างนี้ดูเหมือนจะถูก Scala ลงมา คำถามของฉันคือทำไม ผมเคยเล่นกับกาลาบิตและก็ไม่ได้ว่าอย่างหนัก นี่เป็นเพียงปฏิกิริยาตอบสนองต่อความยากลำบากในการก้าวกระโดดจากความจำเป็นต่อการทำงานหรือมีอะไรอีกบ้างที่ทำงานที่นี่? แก้ไข: ขอโทษ อ่านคำถามอีกครั้งเมื่อฉันโพสต์มันฉันสามารถดูว่ามันฟังดูคล้ายการหมุนรอบบ้าง วิธีที่ฉันใช้คำถามเป็นเพียงวิธีที่ดีที่สุดในการถามคำถาม ฉันได้เห็นการโพสต์บล็อกถึงเอฟเฟกต์ "Scala ยากเกินไป / Scala ซับซ้อนเกินไป" และ "Kotlin เป็นความพยายามที่จะทำ Scala แต่ง่ายกว่า" ฉันจะออกจากคำพูดเดิม แต่ฉันสุจริตไม่พยายามหมุนรอบ

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