คำถามติดแท็ก risk-assesment

8
อันตรายจากการใช้เสาหินขนาดใหญ่
โครงการใหญ่ที่ฉันทำงานอยู่เมื่อสองสามปีที่ผ่านมาคือแอปพลิเคชั่นควบคุม (และทุกอย่าง) ของอุปกรณ์ขั้นสูงซึ่งเป็นหัวใจของเฟิร์มแวร์ อุปกรณ์ค่อนข้างสูงด้วยฟังก์ชั่นที่แตกต่างกว่าที่ฉันสามารถพูดได้จากหน่วยความจำและ 98% ของพวกเขาได้รับการจัดการโดยหนึ่งในปฏิบัติการขนาดใหญ่นี้ ในอีกด้านหนึ่งโปรแกรมนั้นสามารถบำรุงรักษาได้ค่อนข้างดีอยู่ภายในได้รับการจัดทำเอกสารอย่างถูกต้องมีการแยกฟังก์ชันการใช้งานที่เหมาะสมโดยไดเรกทอรีและไฟล์และอื่น ๆ แต่ท้ายที่สุดมันจะรวมกันเป็นแอปพลิเคชั่นเดียวที่ทำทุกอย่างตั้งแต่การสื่อสารฐานข้อมูลระยะไกลการจัดการหน้าจอสัมผัสการจัดการโปรโตคอลการสื่อสารที่หลากหลายการวัดขั้นตอนวิธีการควบคุมหลายอย่างการจับภาพวิดีโอเวลาพระอาทิตย์ขึ้นและวันอีสเตอร์ จำเป็นสำหรับจุดประสงค์ที่ร้ายแรงมาก!) ... โดยทั่วไปสิ่งที่เกี่ยวข้องอย่างเบาบางมากมักเกี่ยวข้องกับข้อมูลบางอย่างที่ไหลผ่านโมดูลที่ห่างไกล มันสามารถทำได้เป็นหลาย executables แยกต่างหากสื่อสารกับแต่ละอื่น ๆ พูดมากกว่าซ็อกเก็ตที่มีวัตถุประสงค์เฉพาะเจาะจงมากขึ้นอาจจะโหลด / ยกเลิกการโหลดตามความจำเป็นและอื่น ๆ ไม่มีเหตุผลที่เฉพาะเจาะจงว่าทำไมจึงทำเช่นนี้ ในมือข้างหนึ่งมันใช้งานได้และใช้งานได้ดี โครงการง่ายขึ้นโดยไม่ต้องดูแลโครงสร้างของหลายไบนารี โครงสร้างภายในก็ง่ายขึ้นเช่นกันเมื่อคุณเรียกใช้เมธอดหรืออ่านตัวแปรแทนการพูดคุยผ่านซ็อกเก็ตหรือหน่วยความจำที่แชร์ แต่ในทางกลับกันขนาดขนาดของสิ่งนี้แค่คืบคลานฉันออกไปมันให้ความรู้สึกเหมือนการขับเครื่องบินไททานิค ฉันถูกสอนให้ทำการทำให้เป็นโมดูลเสมอและการรวมทุกอย่างไว้ในไฟล์ขนาดมหึมาไฟล์เดียวรู้สึกผิด ปัญหาหนึ่งที่ฉันรู้คือความผิดพลาดอย่างหนักของโมดูลหนึ่ง (ไม่สำคัญ) ขัดข้องทั้งหมด - แต่คุณภาพของโค้ดทำให้มั่นใจได้ว่านี่จะไม่เกิดขึ้นจริงในรุ่นที่วางจำหน่าย มิฉะนั้นการแยกภายในและการตั้งโปรแกรมการป้องกันทำให้มั่นใจว่าสิ่งนี้จะยังคงทำงานได้อย่างถูกต้องส่วนใหญ่แม้ว่าครึ่งหนึ่งของโมดูลภายในจะล้มเหลวตามปกติด้วยเหตุผลบางประการ ฉันมองข้ามอันตรายอื่น ๆ ทำไมสิ่งนี้ถึงคืบคลานฉันออกไป? นี่เป็นเพียงความกลัวที่ไม่มีเหตุผลที่ไม่รู้หรือเปล่า? การทำโครงการใหญ่ขนาดใหญ่แบบนี้เป็นที่ยอมรับ อาจทำให้ความกลัวของฉันสงบลงหรือให้เหตุผลที่ดีแก่ฉันในการปรับเปลี่ยนเวอร์ชั่น 2.0 ไปเป็นไบนารีขนาดเล็กหลาย ๆ ตัว

11
ภูมิปัญญาของการใช้รหัสโอเพนซอร์ซในผลิตภัณฑ์ซอฟต์แวร์เชิงพาณิชย์
ฉันกำลังมองหาที่ใช้โค้ดบางส่วนที่มาเปิดใน app เว็บของฉัน ASP.NET (เฉพาะDapper ) การจัดการไม่ได้เป็นแฟนเพราะโอเพ่นซอร์สถูกมองว่าเป็นความเสี่ยงที่กัดเรามาก่อน เห็นได้ชัดว่าผู้พัฒนาก่อนหน้านี้ต้องแก้ไขสิ่งต่าง ๆ หลังจากที่ส่วนประกอบโอเพ่นซอร์สล้มเหลว ข้อดีดูเหมือนจะเป็น: มันทำสิ่งต่าง ๆ มากมายสำหรับฉันที่อาจเกี่ยวข้องกับรหัส boilerplate จำนวนมากหรือโซลูชันที่ Microsoft แนะนำ แต่ช้าลง (Entity Framework) จุดด้อย: มันซับซ้อนพอที่ถ้าหากมันจะล้มเหลวทันทีในการผลิตฉันจะกดยากที่จะแก้ไข อย่างไรก็ตามมีการใช้งานในไซต์ที่มีปริมาณการใช้งานสูงกว่าของฉันดังนั้นฉันไม่คิดว่ามันจะกลายเป็นส่วนที่มีความเสี่ยงสูงของโครงการ ฉันทามติที่นี่คืออะไร? มันไม่ฉลาดที่จะใช้รหัสโอเพนซอร์สในโครงการของฉันที่ฉันไม่รู้จัก / เข้าใจรวมถึงฉันใช้โค้ดของตัวเอง?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.