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

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

12
หลีกเลี่ยงวูดู `goto 'หรือไม่
ฉันมีswitchโครงสร้างที่มีหลายกรณีที่ต้องจัดการ การswitchดำเนินการมากกว่าenumที่ poses ปัญหาของรหัสที่ซ้ำกันผ่านค่ารวม: // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo, Four, FourOne, FourTwo, FourThree, FourOneTwo, FourOneThree, FourTwoThree, FourOneTwoThree // ETC. } ขณะนี้switchโครงสร้างจัดการแต่ละค่าแยกกัน: // All possible combinations of One - Eight. switch (enumValue) { case One: DrawOne; break; …

7
มูลค่าที่แท้จริงของรูปแบบรหัสที่สอดคล้องกันคืออะไร
ฉันเป็นส่วนหนึ่งของทีมที่ปรึกษาที่ใช้โซลูชันใหม่สำหรับลูกค้า ฉันรับผิดชอบในการทบทวนโค้ดส่วนใหญ่ใน codebase ฝั่งไคลเอ็นต์ (ตอบโต้และจาวาสคริปต์) ฉันสังเกตเห็นว่าสมาชิกในทีมบางคนใช้รูปแบบการเข้ารหัสที่ไม่เหมือนใครจนถึงจุดที่ฉันสามารถเลือกไฟล์แบบสุ่มโดยบอกว่าใครเป็นผู้แต่งจากสไตล์คนเดียว ตัวอย่างที่ 1 (ฟังก์ชั่นอินไลน์แบบครั้งเดียว) React.createClass({ render: function () { var someFunc = function () { ... return someValue; }; return <div>{someFunc()}</div> } }); ผู้เขียนระบุว่าด้วยการกำหนดชื่อที่มีความหมายให้กับบางส่วนการตัดรหัสจะง่ายต่อการอ่าน ฉันเชื่อว่าการใช้ฟังก์ชั่นและเพิ่มความคิดเห็นแทนการใช้เอฟเฟกต์เดียวกันสามารถทำได้ ตัวอย่างที่ 2 (ฟังก์ชันที่ไม่ถูกผูก) function renderSomePart(props, state) { return ( <div> <p>{props.myProp}</p> <p>{state.myState}</p> </div> ); } React.createClass({ render: function () { …

4
เหตุใดจึงมีบางภาษาที่มี 'โอเปอเรเตอร์' ชนิดตัวแปรอยู่?
ฉันหมายความว่าอย่างนี้: <?php $number1 = 5; // (Type 'Int') $operator1 = +; // (Type non-existent 'Operator') $number2 = 5; // (Type 'Int') $operator2 = *; // (Type non-existent 'Operator') $number3 = 8; // (Type 'Int') $test = $number1 $operator1 $number2 $operator2 $number3; //5 + 5 * 8. var_dump($test); ?> แต่ด้วยวิธีนี้: <?php …

4
รหัสสถานะ HTTP สำหรับ“ การประมวลผลยังคง”
ฉันกำลังสร้าง RESTful API ที่รองรับการจัดคิวงานระยะยาวเพื่อการจัดการในที่สุด เวิร์กโฟลว์ทั่วไปสำหรับ API นี้จะเป็น: ผู้ใช้กรอกข้อมูลในแบบฟอร์ม ลูกค้าโพสต์ข้อมูลไปยัง API API ส่งคืนยอมรับ 202 ลูกค้าเปลี่ยนเส้นทางผู้ใช้ไปยัง URL ที่ไม่ซ้ำกันสำหรับคำขอนั้น ( /results/{request_id}) ~ ~ ในที่สุด URL ที่ลูกค้าเยี่ยมชมอีกครั้งและเห็นผลลัพธ์ในหน้านั้น ปัญหาของฉันอยู่ในขั้นตอนที่ 6 ทุกครั้งที่ผู้ใช้เยี่ยมชมหน้าเว็บฉันจะส่งคำขอไปยัง API ของฉัน ( GET /api/results/{request_id}) เป็นการดีที่งานจะเสร็จสมบูรณ์ในขณะนี้และฉันจะส่งคืน 200 OK พร้อมผลลัพธ์ของงานของพวกเขา แต่ผู้ใช้มีความเร่งรีบและฉันคาดหวังว่าการรีเฟรชมากเกินไปเมื่อผลลัพธ์ยังไม่เสร็จสิ้นการประมวลผล ตัวเลือกที่ดีที่สุดของฉันสำหรับรหัสสถานะคืออะไร: คำขอนี้มีอยู่ มันยังไม่เสร็จ แต่มันก็ไม่ได้ล้มเหลว ฉันไม่ได้คาดหวังว่าจะมีรหัสเดียวในการสื่อสารทั้งหมด แต่ฉันต้องการสิ่งที่ให้ฉันส่งเมทาดาทาแทนที่จะให้ลูกค้าคาดหวังเนื้อหา มันสมเหตุสมผลแล้วที่จะส่งคืนค่า 202 เนื่องจากไม่มีความหมายอื่นที่นี่: เป็นGETคำขอดังนั้นจึงไม่มีสิ่งใดที่จะเป็น "ยอมรับ" นั่นจะเป็นตัวเลือกที่สมเหตุสมผลหรือไม่ ทางเลือกที่ชัดเจนสำหรับสิ่งนี้ทั้งหมด - …
47 rest  http 

7
ฉันจะโต้แย้งกับคอลัมน์ฐานข้อมูลที่ซ้ำกันอย่างมั่นใจได้อย่างไร
ฉันเริ่มทำงานกับองค์กรใหม่และหนึ่งในรูปแบบที่ฉันได้เห็นในฐานข้อมูลคือการทำซ้ำเขตข้อมูลเพื่อให้แบบสอบถามเขียนง่ายขึ้นสำหรับนักวิเคราะห์ธุรกิจ เรากำลังใช้ Django และ ORM ของมัน ในกรณีหนึ่งเราเก็บวัตถุMedicalRecordNumberด้วยสตริงที่ไม่ซ้ำกันเพื่อระบุผู้ป่วยในบริบทที่แน่นอน เรามีวัตถุการลงทะเบียนซึ่งติดตามผู้ป่วยและเชื่อมโยงMedicalRecordNumbersแต่แทนที่จะใช้ความสัมพันธ์กับคีย์ต่างประเทศพวกเขาทำซ้ำสตริงเพื่อให้พวกเขาสามารถหลีกเลี่ยงการเขียนการเข้าร่วม ( ไม่ใช่เหตุผลด้านประสิทธิภาพ) รูปแบบนี้เป็นเรื่องธรรมดาทั่วทั้งฐานข้อมูล สำหรับฉันความสำคัญของรูปแบบข้อมูลที่สะอาดเป็นเพียงเพื่อให้ฉันสามารถคิดได้ดี ความซับซ้อนที่ไม่จำเป็นคือการเสียเวลาในการประมวลผลทางปัญญาที่ จำกัด ของฉัน มันเป็นปัญหาที่เป็นระบบ การเขียนตัวพิมพ์ที่ไม่สะดวกสบายเป็นปัญหาทักษะที่แก้ไขได้ ฉันไม่ต้องการที่จะสนับสนุนการย้อนกลับและเปลี่ยนสคีมา แต่ฉันชอบที่จะสามารถสื่อสารปัญหาที่เกิดขึ้นกับการทำซ้ำประเภทนี้ได้อย่างน่าเชื่อถือ

4
ทำไมวิธีการไม่ควรโยนข้อยกเว้นที่ตรวจสอบหลายประเภท
เราใช้ SonarQube เพื่อวิเคราะห์โค้ด Java ของเราและมีกฎนี้ (ตั้งค่าเป็นวิกฤติ): วิธีการสาธารณะควรมีข้อยกเว้นที่ตรวจสอบได้มากที่สุดหนึ่งรายการ การใช้ข้อยกเว้นที่เลือกไว้จะบังคับให้ผู้เรียกใช้วิธีจัดการกับข้อผิดพลาดไม่ว่าจะโดยการเผยแพร่พวกเขาหรือโดยการจัดการพวกเขา สิ่งนี้ทำให้ข้อยกเว้นเหล่านั้นเป็นส่วนหนึ่งของ API ของวิธีการทั้งหมด เพื่อรักษาความซับซ้อนสำหรับผู้โทรที่เหมาะสมวิธีการไม่ควรมีข้อยกเว้นที่ตรวจสอบมากกว่าหนึ่งประเภท " อีกเล็กน้อยใน Sonar มีสิ่งนี้ : วิธีการสาธารณะควรมีข้อยกเว้นที่ตรวจสอบได้มากที่สุดหนึ่งรายการ การใช้ข้อยกเว้นที่เลือกไว้จะบังคับให้ผู้เรียกใช้วิธีจัดการกับข้อผิดพลาดไม่ว่าจะโดยการแพร่กระจายพวกเขาหรือโดยการจัดการพวกเขา สิ่งนี้ทำให้ข้อยกเว้นเหล่านั้นเป็นส่วนหนึ่งของ API ของวิธีการทั้งหมด เพื่อรักษาความซับซ้อนสำหรับผู้โทรที่เหมาะสมวิธีการไม่ควรมีข้อยกเว้นที่ตรวจสอบมากกว่าหนึ่งประเภท รหัสต่อไปนี้: public void delete() throws IOException, SQLException { // Non-Compliant /* ... */ } ควรได้รับการปรับสภาพใหม่เป็น: public void delete() throws SomeApplicationLevelException { // Compliant /* ... */ } …

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

3
เหตุใด C # จึงอนุญาตคุณสมบัติในส่วนต่อประสาน
ใน C # รหัสต่อไปนี้ถูกต้อง interface I{ int property{get;set;} } ซึ่งไม่สมเหตุสมผลเลยสำหรับฉัน สิ่งนี้ดูเหมือนจะทำลายหนึ่งในหลักการที่สำคัญที่สุดของอินเทอร์เฟซ: ขาดสถานะ (กล่าวอีกนัยหนึ่งไม่มีฟิลด์) สถานที่ให้บริการไม่ได้สร้างเขตข้อมูลส่วนตัวโดยนัย? นั่นจะไม่เลวสำหรับอินเทอร์เฟซหรือไม่

8
ทำไมจึงต้องออกแบบภาษาสมัยใหม่โดยไม่มีกลไกการจัดการยกเว้น?
ภาษาสมัยใหม่หลายคนให้การจัดการข้อยกเว้นที่อุดมไปด้วยคุณสมบัติ แต่แอปเปิ้ลของการเขียนโปรแกรมภาษาสวิฟท์ไม่ได้ให้กลไกการจัดการข้อยกเว้น ขณะที่ฉันกำลังจมดิ่งอยู่ในข้อยกเว้นฉันมีปัญหาในการคิดสิ่งที่มันหมายถึง Swift มีคำยืนยันและแน่นอนว่ามีค่าตอบแทน แต่ฉันกำลังมีปัญหาในการนึกภาพว่าวิธีคิดตามข้อยกเว้นของฉันทำแผนที่โลกโดยไม่มีข้อยกเว้น (และสำหรับเรื่องนั้นทำไมโลกเช่นนี้เป็นที่น่าพอใจ ) มีสิ่งใดบ้างที่ฉันไม่สามารถทำได้ในภาษาอย่าง Swift ที่ฉันสามารถทำได้ด้วยข้อยกเว้น ฉันจะได้รับบางอย่างจากการสูญเสียข้อยกเว้น? ยกตัวอย่างเช่นฉันจะแสดงสิ่งที่ดีที่สุดได้อย่างไร try: operation_that_can_throw_ioerror() except IOError: handle_the_exception_somehow() else: # we don't want to catch the IOError if it's raised another_operation_that_can_throw_ioerror() finally: something_we_always_need_to_do() ในภาษา (ตัวอย่างเช่น Swift) ที่ไม่มีการจัดการข้อยกเว้น?

9
โดยทั่วไปแล้วจะดีกว่าหรือไม่ที่จะทำให้ทุกส่วนของฟังก์ชั่นการทำงานหรือการใช้ UI ทำงานเป็นอันดับแรก
โดยทั่วไปแล้วจะดีกว่าหรือไม่ที่จะทำให้ทุกส่วนของฟังก์ชั่นการทำงานหรือการใช้ UI ทำงานเป็นอันดับแรก สมมติว่าคุณกำลังทำอะไรบางอย่างที่ใหญ่มันเป็นวิธีปฏิบัติที่ได้รับการยอมรับโดยทั่วไปหรือไม่ที่จะรับข้อมูลที่ใช้งานได้ซึ่งทำให้ Blobs ทำงานก่อน UI ใด ๆ ให้ UI ทั้งหมดทำงานทีละชิ้นในเวลาที่คุณไป เราทุกคนรู้ที่จะแบ่งการทำงานออกเป็นส่วนที่จัดการได้ แต่ท้ายที่สุดคำถามก็คือว่า UI นั้นรวมอยู่ในส่วนที่สามารถจัดการได้หรือไม่ สำหรับกรณีของตัวอย่างให้พิจารณาแอปพลิเคชัน GUI ที่มีหน้าต่างหนึ่งรูท แต่ใช้แท็บมากกว่าหนึ่งโหลในท่าต่าง ๆ เพื่อแยกส่วนประกอบข้อมูลที่แตกต่างกัน แต่ละแท็บแต่ละชุดมีชิ้นส่วนที่เคลื่อนไหวที่ค่อนข้างซับซ้อนซึ่งอยู่ด้านหลังจากมุมมองของหน่วยงาน การประยุกต์ใช้เช่นในคำถามนี้โดยเฉพาะอย่างยิ่งเป็นที่นี่กับที่มาพร้อมกับบล็อกและผลิตภัณฑ์ในเชิงพาณิชย์เดิม

1
goroutine พูลเป็นแบบเธรดสีเขียวหรือไม่
ผู้วิจารณ์ที่นี่เสนอคำวิจารณ์ต่อไปนี้ของหัวข้อสีเขียว: ตอนแรกฉันขายในโมเดล N: M เพื่อให้มีการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์โดยไม่ต้องโทรกลับนรก คุณสามารถเขียนโค้ดที่ดูเหมือนรหัสขั้นตอนเก่าที่เจ็บปวดได้ แต่ภายใต้มีเวทย์มนตร์ที่ใช้งานการสลับผู้ใช้เมื่อใดก็ตามที่บางสิ่งจะปิดกั้น ฟังดูดี. ปัญหาคือเราท้ายการแก้ไขความซับซ้อนด้วยความซับซ้อนมากขึ้น swapcontext () และตระกูลค่อนข้างแคบไปข้างหน้าความซับซ้อนมาจากที่อื่น ๆ ทันใดนั้นคุณถูกบังคับให้เขียนตารางเวลา userspace และเดาว่ามันยากจริงๆที่จะเขียนตัวจัดตารางเวลาที่จะทำงานได้ดีขึ้นซึ่งตารางเวลาของ Linux ที่มีความพยายามมาหลายปี ตอนนี้คุณต้องการกำหนดเวลาให้กับเธรด N สีเขียวของฟิสิคัลเธรด M ดังนั้นคุณต้องกังวลเกี่ยวกับการซิงโครไนซ์ การซิงโครไนซ์นำปัญหาด้านประสิทธิภาพมาใช้เพื่อให้คุณเริ่มได้ในตอนนี้คุณกำลังลงสู่หลุมกระต่ายที่ไม่มีล็อค การสร้างตัวกำหนดตารางเวลาพร้อมกันที่ถูกต้องสูงไม่ใช่เรื่องง่าย บทวิจารณ์อื่นอยู่ที่นี่ : กระบวนการเดียวที่แกล้งทำหลายเธรดมีปัญหามากมาย หนึ่งในนั้นคือเธรดที่แกล้งทำอยู่บนหน้าเพจที่ผิด คำถามของฉัน - จะไป lang ของ goroutines (สำหรับสระว่ายน้ำเริ่มต้น) เพียงหัวข้อสีเขียว? ถ้าเป็นเช่นนั้นพวกเขาจะจัดการกับคำวิจารณ์ข้างต้นหรือไม่

2
กลยุทธ์ในการสร้างตัวระบุที่ไม่ซ้ำใครและปลอดภัยสำหรับใช้ในแอปพลิเคชันเว็บ "บางครั้งออฟไลน์"
ฉันมีโครงการบนเว็บที่ให้ผู้ใช้สามารถทำงานได้ทั้งออนไลน์และออฟไลน์และฉันกำลังมองหาวิธีในการสร้างรหัสที่ไม่ซ้ำกันสำหรับบันทึกในฝั่งไคลเอ็นต์ ฉันต้องการวิธีการที่ใช้งานได้ในขณะที่ผู้ใช้ออฟไลน์ (เช่นไม่สามารถพูดคุยกับเซิร์ฟเวอร์) ได้รับการรับรองว่าไม่ซ้ำใครและปลอดภัย ด้วย "ความปลอดภัย" ฉันกังวลเป็นพิเศษเกี่ยวกับลูกค้าที่ส่งรหัสซ้ำ (โดยไม่ประสงค์ดีหรืออย่างอื่น) และทำให้เกิดความเสียหายต่อความสมบูรณ์ของข้อมูล ฉันทำ googling มาบ้างหวังว่านี่จะเป็นปัญหาที่แก้ไขแล้ว ฉันไม่พบสิ่งใดที่ชัดเจนมากโดยเฉพาะในแง่ของวิธีการที่ใช้ในระบบการผลิต ฉันพบตัวอย่างบางส่วนสำหรับระบบที่ผู้ใช้จะเข้าถึงข้อมูลที่พวกเขาสร้างขึ้นเท่านั้น (เช่นรายการสิ่งที่ต้องทำที่เข้าถึงได้บนอุปกรณ์หลายเครื่อง แต่เฉพาะผู้ใช้ที่สร้างขึ้นเท่านั้น) น่าเสียดายที่ฉันต้องการบางสิ่งที่ซับซ้อนกว่านี้เล็กน้อย ฉันพบความคิดที่ดีจริงๆที่นี่ซึ่งสอดคล้องกับวิธีที่ฉันคิดว่าสิ่งต่าง ๆ อาจทำงานได้ ด้านล่างนี้เป็นโซลูชันที่เสนอของฉัน ข้อกำหนดบางประการ รหัสควรไม่ซ้ำกันทั่วโลก (หรืออย่างน้อยไม่ซ้ำกันภายในระบบ) สร้างขึ้นบนไคลเอนต์ (เช่นผ่านทางจาวาสคริปต์ในเบราว์เซอร์) ปลอดภัย (ดังที่อธิบายไว้ข้างต้นและอื่น ๆ ) ข้อมูลสามารถดู / แก้ไขโดยผู้ใช้หลายคนรวมถึงผู้ใช้ที่ไม่ได้เขียน ไม่ทำให้เกิดปัญหาเรื่องประสิทธิภาพที่สำคัญสำหรับแบ็กเอนด์ db (เช่น MongoDB หรือ CouchDB) โซลูชันที่เสนอ เมื่อผู้ใช้สร้างบัญชีพวกเขาจะได้รับ uuid ซึ่งสร้างขึ้นโดยเซิร์ฟเวอร์และทราบว่าไม่ซ้ำกันภายในระบบ รหัสนี้จะต้องไม่เหมือนกับโทเค็นการตรวจสอบความถูกต้องของผู้ใช้ ลองเรียกรหัสนี้ว่า "id token" ของผู้ใช้ เมื่อผู้ใช้สร้างเรกคอร์ดใหม่พวกเขาสร้าง uuid …

5
ฉันจำเป็นต้องมีการทดสอบหน่วยหรือไม่ถ้าฉันมีการทดสอบการรวมระบบแล้ว
ถ้าฉันมีการทดสอบการรวมสำหรับโปรแกรมของฉันและพวกเขาผ่านไปแล้วฉันก็รู้สึกดีว่ามันจะทำงาน ดังนั้นอะไรคือเหตุผลในการเขียน / เพิ่มการทดสอบหน่วย เนื่องจากฉันต้องเขียนการทดสอบการรวมต่อไปแล้วฉันจึงอยากจะเขียนการทดสอบหน่วยสำหรับชิ้นส่วนที่ไม่ครอบคลุมโดยการทดสอบการรวม สิ่งที่ฉันรู้ถึงประโยชน์ของการทดสอบหน่วยผ่านการทดสอบการรวมคือ เล็กและรวดเร็วในการทำงาน (แต่การเพิ่มหน่วยใหม่เพื่อทดสอบบางสิ่งได้รับการทดสอบแล้วโดยการทดสอบการรวมหมายความว่าชุดทดสอบทั้งหมดของฉันมีขนาดใหญ่ขึ้นและทำงานได้นานขึ้น) ค้นหาข้อผิดพลาดได้ง่ายขึ้นเพราะมันทดสอบสิ่งเดียวเท่านั้น (แต่ฉันสามารถเริ่มเขียนการทดสอบหน่วยเพื่อตรวจสอบแต่ละส่วนเมื่อการทดสอบการรวมของฉันล้มเหลว) ค้นหาข้อผิดพลาดที่อาจไม่ติดในการทดสอบการรวม เช่นการปิดบังข้อบกพร่อง / การชดเชย (แต่ถ้าการรวมการทดสอบของฉันผ่านทั้งหมดซึ่งหมายความว่าโปรแกรมของฉันจะทำงานแม้จะมีข้อผิดพลาดที่ซ่อนอยู่เพื่อค้นหา / แก้ไขข้อบกพร่องเหล่านี้ไม่ได้มีความสำคัญสูงจริงๆเว้นแต่พวกเขาจะเริ่มการทดสอบการรวมกลุ่มในอนาคต และเราต้องการที่จะเขียนโค้ดน้อยลง แต่การทดสอบการเขียนหน่วยต้องการรหัสมากขึ้น (ส่วนใหญ่เป็นการตั้งค่าวัตถุจำลอง) ความแตกต่างระหว่างการทดสอบหน่วยของฉันและการทดสอบการรวมคือในการทดสอบหน่วยฉันใช้วัตถุจำลองและในการทดสอบการรวมฉันใช้วัตถุจริง มีการทำซ้ำจำนวนมากและฉันไม่ชอบรหัสที่ซ้ำกันแม้ในการทดสอบเพราะสิ่งนี้เพิ่มค่าใช้จ่ายในการเปลี่ยนพฤติกรรมของรหัส (เครื่องมือ refactor ไม่สามารถทำงานได้ตลอดเวลา)

2
สรุปการเปลี่ยนแปลง (การแทรกและการลบ) ใน Git [ปิด]
ฉันต้องการดูว่าฐานรหัสของฉันเติบโตขึ้นอย่างไรเมื่อเวลาผ่านไป GitHub มี+/-จอแสดงผลที่ดีตามรายการเช็คอินซึ่งให้ความรู้สึกเช่นนี้ มีสิ่งที่คล้ายกันที่ฉันสามารถใช้กับ repo ที่โฮสต์โดย Google Code หรือออฟไลน์ได้หรือไม่
47 git 

8
ประโยชน์ด้านความปลอดภัยของระบบประเภทใด
ในJavaScript: ส่วนที่ดีโดย Douglas Crockford เขากล่าวถึงในบทที่สืบทอดของเขา ประโยชน์อื่น ๆ ของการสืบทอดแบบคลาสสิกคือมันมีคุณสมบัติของประเภทของระบบ สิ่งนี้ส่วนใหญ่ทำให้โปรแกรมเมอร์ไม่ต้องเขียนการดำเนินการร่ายที่ชัดเจนซึ่งเป็นสิ่งที่ดีมากเพราะเมื่อทำการร่ายประโยชน์ด้านความปลอดภัยของระบบประเภทจะหายไป ก่อนอื่นเลยความปลอดภัยคืออะไร? การป้องกันข้อมูลเสียหายหรือแฮกเกอร์หรือระบบทำงานผิดปกติ ฯลฯ ? ประโยชน์ด้านความปลอดภัยของระบบประเภทใด อะไรทำให้ระบบการพิมพ์แตกต่างกันซึ่งอนุญาตให้มีประโยชน์ด้านความปลอดภัยเหล่านี้

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