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

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

4
การใช้บล็อกขอบเขตภายในภายในฟังก์ชั่นมีสไตล์ไม่ดีหรือไม่?
มีบางกรณี (ค่อนข้างหายาก) ที่มีความเสี่ยง: การนำตัวแปรที่ไม่ต้องการนำมาใช้ซ้ำ (ดูตัวอย่างที่ 1) หรือใช้ตัวแปรแทนตัวแปรอื่นปิดความหมาย (ดูตัวอย่างที่ 2) ตัวอย่างที่ 1: var data = this.InitializeData(); if (this.IsConsistent(data, this.state)) { this.ETL.Process(data); // Alters original data in a way it couldn't be used any longer. } // ... foreach (var flow in data.Flows) { // This shouldn't happen: given that ETL possibly …

6
คุณสาธิตซอฟต์แวร์ด้วย No UI ในรีวิว Sprint ได้อย่างไร
เรากำลังพัฒนาซอฟต์แวร์ที่คล่องตัวโดยทั่วไปติดตาม Scrum เราพยายามที่จะแสดงความคิดเห็นโดยวิ่ง แต่พบว่ามันยาก ซอฟต์แวร์ของเราทำการประมวลผลข้อมูลจำนวนมากและเรื่องราวมักเกี่ยวกับการเปลี่ยนแปลงกฎระเบียบต่างๆ มีตัวเลือกอะไรบ้างสำหรับการสาธิตการเปลี่ยนแปลงที่เกิดขึ้นใน sprint เมื่อไม่มี UI หรือการเปลี่ยนแปลงเวิร์กโฟลว์ที่มองเห็นได้ แต่การเปลี่ยนแปลงนั้นเป็นกฎทางธุรกิจที่ละเอียดอ่อนในงานประมวลผลที่ใช้เวลา 10 วินาทีหรือแม้กระทั่งสองสามชั่วโมง ?
10 agile  scrum  sprint 

2
มีการศึกษาเปรียบเทียบการใช้หน่วยความจำของภาษาการเขียนโปรแกรมรันไทม์ที่สัมพันธ์กับการแสดงออกและอัตราส่วนการผลิตข้อบกพร่อง? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา มีการศึกษาเปรียบเทียบจำนวนมากและมีให้ทางออนไลน์เมื่อพูดถึงประสิทธิภาพรันไทม์ของแอพพลิเคชั่นที่สร้างขึ้นโดยใช้ภาษาเดียวหรืออีกภาษาหนึ่ง บางคนขับเคลื่อนโดย บริษัท นักวิชาการบางคนรายงานการทดลองส่วนตัวบางอย่าง นอกจากนี้เรายังได้รับส่วนแบ่งที่ดีจากการศึกษาเปรียบเทียบผลข้างเคียงของภาษาการเขียนโปรแกรมและการใช้เครื่องมือเช่น: สร้างครั้ง โอกาสในการตรวจจับข้อผิดพลาดหลังการผลิต พลังการแสดงออก ฯลฯ ... อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันได้รับความเสียหายจากการใช้หน่วยความจำของโปรแกรมของฉันมากกว่าสิ่งอื่นใด นี่อาจมาจากความจริงที่ว่าในขณะที่กฎของมัวร์อยู่ข้างเราเพื่อให้ได้ประสิทธิภาพที่ดิบเราได้ตระหนักว่าคอขวดอื่น ๆ และฉันมักจะไม่อัปเดตฮาร์ดแวร์ของฉันทุกครั้งและฉันมี "เก่า" บางอย่าง (อ่าน 2005-2006 3.6GHz Pentium 4 พร้อม 4GB of RAM) ซึ่งปัจจุบันยากที่จะถูกใช้งานสำหรับแอปพลิเคชันขนาดใหญ่ที่ไม่มี ทำให้ฉันต้องเจอกับปัญหาอย่างมากในการบีบน้ำผลไม้ออกเล็กน้อย (ตัวเลือกของ OS, UI, tweaking ของบริการและ daemons ทางเลือกของแอปพลิเคชันที่จะใช้สำหรับงานหรืออื่น ... ) ค่อนข้างตรงไปตรงมาบางครั้งฉันก็โกรธtopหรือprocexpร้องไห้เมื่อเห็นความทรงจำที่ใช้โดยโปรแกรมที่ไร้เดียงสาที่สุด …

1
ข้อมูลใดควรอยู่ใน Github README.md
คุณคาดหวังว่าจะเห็นข้อมูลใดใน GitHub README? ทุกอย่างควรไปใน README หรือไม่ กล่าวคือ บทนำ การติดตั้ง รุ่น คู่มือผู้ใช้ การดำเนินงาน การทดสอบ แหล่งข้อมูลที่เกี่ยวข้อง หรือคุณเพียงแค่ใส่บางสิ่งลงใน README (บทนำ, การติดตั้ง, เวอร์ชั่น) และข้อมูลอื่น ๆ ที่ดีที่สุดใน Github wiki?

2
การตั้งชื่อคุณสมบัติที่เหมาะสมเพื่อแสดงสตริงที่ขึ้นต้นด้วยหมายเลข
เมื่อดูเมตาดาต้าของกล้องบางตัวบน Windows File Propertiesจะมี (พร้อมกับอีกสองสาม) Propertiesชื่อความยาวโฟกัสและความยาวโฟกัส 35 มม . ฉันกำลังพัฒนาซอฟต์แวร์ที่จะใช้ประโยชน์จากสองสิ่งPropertiesนี้ จนถึงตอนนี้ฉันได้สร้างPropertyชื่อFocalLengthสำหรับชื่อแรก แต่ฉันไม่สามารถหาชื่อที่เหมาะสมสำหรับชื่ออื่นได้ ฉันคิด_35MmFocalLengthหรือThirtyFiveMmFocalLengthแต่ฉันคิดว่าอาจมีข้อเสนอแนะที่ดีกว่า ความคิดใด ๆ

2
หนึ่งจะให้บริการเนื้อหากับ node.js โดยไม่ต้องกรอบหรือห้องสมุดได้อย่างไร
ฉันพยายามเรียนรู้ node.js และสร้างเว็บแอปพลิเคชันและแม้ว่าฉันจะพยายามอย่างดีที่สุดที่จะเพียงแค่ใช้ node.js เพื่อสร้างมันขึ้นมาฉันมีเวลายากมากในการค้นหาแหล่งข้อมูลและตัวอย่างที่อธิบายกระบวนการ โดยไม่ใช้เฟรมเวิร์กหรือไลบรารีอื่น โดยเฉพาะฉันจะให้บริการเนื้อหา HTML และ CSS ได้อย่างไรโดยไม่ต้องใช้ตัวแปรสตริงที่กำหนดโค้ดแบบยาก แต่ให้บริการไฟล์ HTML และ CSS แบบไดนามิกโดยใช้แค่ node.js
10 node.js 

2
ทำไมการใช้คอนสตรัคเตอร์ท้อใจเมื่อสร้างต้นแบบ?
พื้นหลังด่วน:ใน JavaScript ฟังก์ชันตัวสร้างสำหรับวัตถุแต่ละชนิดมีprototypeคุณสมบัติ การprototypeอ้างถึงวัตถุที่แต่ละวัตถุที่สร้างขึ้นใช้เป็นขั้นตอนต่อไปในห่วงโซ่ต้นแบบ เมื่อคุณต้องการให้มีประเภทหนึ่งโดยธรรมชาติจากประเภทอื่นคุณสามารถตั้งค่าprototypeประเภทเด็กเป็นอินสแตนซ์ใหม่ของประเภทแม่ ตัวอย่างเช่น: var Parent = function() { /* constructor business */ } Parent.prototype.parentProp = "some parent property"; var Child = function() { /* constructor business */ } Child.prototype = /*** !! Some prototype object goes here !! ***/ คำถามของฉันถามเกี่ยวกับรหัสที่ควรไปในSome prototype object goes hereจุดที่ระบุในรหัสด้านบน สัญชาตญาณแรกของฉันคือสร้างอินสแตนซ์ของพาเรนต์ (เช่นnew Parent()) …

5
การออกแบบสถาปัตยกรรมที่แข็งแกร่งสำหรับการส่งออกหลายประเภท?
ฉันกำลังมองหารูปแบบหรือคำแนะนำทางสถาปัตยกรรมสำหรับคุณสมบัติที่กำลังจะมาถึงฉันกำลังออกแบบ โดยพื้นฐานแล้วมันเป็นคุณสมบัติการส่งออกที่มีเป้าหมายการส่งออกหลายรายการและฉันกำลังมองหาวิธีที่จะทำให้เป็นเรื่องง่ายพอที่การเสียบเป้าหมายการส่งออกใหม่ไม่ต้องการการเปลี่ยนแปลงหลักมากมาย ตามเป้าหมายการส่งออกฉันเพียงแค่อ้างถึงประเภทต่างๆของการส่งออกไม่ว่าจะเป็น PDF, งานนำเสนอ PowerPoint, เอกสาร Word, RSS, ฯลฯ ฉันมีชุดฐานของข้อมูลซึ่งแสดงใน JSON และ XML ข้อมูลนี้ใช้ในการสร้างภาพ (โดยใช้หมายเลขหรือประเภทการส่งออกใด ๆ [เช่น PNG, JPG, GIF, ฯลฯ ), กราฟ, การแสดงข้อความ, ตารางและอื่น ๆ ฉันพยายามหาวิธีทำให้นามธรรมการเรนเดอร์และเลย์เอาต์ลงในการเรนเดอร์หรือเอ็นจิ้นเลย์เอาต์ที่รองรับการเพิ่มเป้าหมายการส่งออกเพิ่มเติม ความช่วยเหลือ / คำแนะนำ / แหล่งข้อมูลเกี่ยวกับวิธีการเข้าถึงสิ่งนี้จะได้รับการชื่นชมอย่างมาก ขอบคุณล่วงหน้า. สำหรับการแสดงรูปภาพของสิ่งที่ฉันพยายามทำ

1
ภาษาข้อ จำกัด ของวัตถุ (OCL) สำหรับสแต็กในแพคเกจ java.util
ฉันมีการสอบขึ้นมาและฉันกำลังดูเอกสารที่ผ่านมาเพื่อรับแนวคิดบางอย่างเกี่ยวกับสิ่งที่คาดหวัง ฉันติดอยู่กับสิ่งต่อไปนี้และจะซาบซึ้งจริง ๆ ถ้ามีคนให้คำตอบตัวอย่าง เขียนเงื่อนไขเบื้องต้นและ postconditions ใน OCL สำหรับแต่ละการดำเนินการดังต่อไปนี้ (รวมอยู่ในสแต็คคลาสในแพ็คเกจ java.util): (1) บูลีนว่างเปล่า () - ทดสอบว่าสแต็กนี้ว่างเปล่าหรือไม่ (2) E peek () - ดูที่วัตถุที่ด้านบนของสแต็กนี้โดยไม่ลบออกจากสแต็ก (3) E pop () - ลบวัตถุที่ด้านบนของสแต็กนี้และส่งคืนวัตถุนั้นเป็นค่าของการดำเนินการนี้ (4) E push (รายการ E) - กดรายการลงบนสุดของสแต็กนี้ นี่ E หมายถึงประเภทขององค์ประกอบในสแต็ก ความพยายามของฉันมีดังนี้ Boolean empty() pre: none post: self -> IsEmpty() = true //should …
10 design  languages  object  ocl 

1
จำเป็นที่จะต้องเรียนรู้การขยายภาษา haskell สำหรับการผลิต
ภาษาหลักของ Haskell นั้นเรียบง่ายมาก มาจากพื้นหลังของ OO ปัญหาหลักคือการปรับให้เข้ากับกระบวนทัศน์การทำงานที่บริสุทธิ์ ในขณะที่เรียนรู้ Haskell "พื้นฐาน" ฉันมักจะพิจารณาการขยายภาษาเป็นของเล่นสำหรับคน CS หรือเป็นการทดลองสำหรับภาษาในอนาคต (เช่นfrom future import ???ในภาษาไพ ธ อน) อย่างไรก็ตามเมื่อฉันเริ่มดูเว็บเฟรมเวิร์กเช่น Yesod ฉันพบว่าซอร์สไฟล์จำนวนมากต้องการระหว่างนามสกุล 3 และ 4 บางตัวดูค่อนข้างง่าย (StringOverload) อื่น ๆ ที่น่ากลัวจริงๆ (GADT, ประเภท Famillies, เทมเพลต Haskell) เอกสารประกอบของพวกเขาเชื่อมโยงกับงานวิจัยซึ่งน่ากลัวสำหรับใครบางคนที่คาดหวังว่าจะได้เรียนรู้ "เพียงแค่" ห้องสมุดใหม่ จำเป็นหรือไม่ที่จะต้องเรียนรู้การขยายภาษา GHC ให้มีประสิทธิภาพใน Haskell หากคุณต้องจ้างนักพัฒนา Haskell เพื่อขอใบสมัครผลิตคุณจะขอความรู้เช่นนั้นหรือไม่?
10 haskell 

5
การประชุมทีมที่มีประสิทธิภาพ
ฉันเป็นหัวหน้าทีมของโปรแกรมเมอร์ 8 คนใน บริษัท ที่มีพนักงานด้านเทคนิคประมาณ 20 คน พวกเขากำลังทำงานในหลายโครงการโครงการเหล่านี้ยังเกี่ยวข้องกับผู้คนจากทีมอื่น ๆ ที่อยู่นอกเหนือการควบคุมของฉัน องค์กรของฉันไม่ได้พัฒนาความคล่องตัวที่เหมาะสมและพวกเขาค่อนข้างต้านทานต่อการเปลี่ยนแปลง แต่ฉันถือการประชุมประจำวันในทีมของฉันและเราทุกคนพบว่ามีประโยชน์และทุกคนมีส่วนร่วมและเราดำเนินการภายใน 10-15 นาที ฉันยังมีการติดตามรายสัปดาห์รายสัปดาห์กับสมาชิกทุกคนในทีมที่เราพูดคุยหัวข้อทั่วไปต่าง ๆ (ทั้งด้านเทคนิคและไม่ใช่ด้านเทคนิค) โดยละเอียดยิ่งขึ้นรวมถึงการประชุมเฉพาะหัวข้อที่หลากหลาย อย่างไรก็ตามสิ่งที่ฉันต้องดิ้นรนคือการประชุมทีมรายสัปดาห์ของฉัน มันกำลังสูญเสียไอน้ำและฉันไม่สามารถทำให้คนสนใจได้ ฉันยังต้องการประชุมอีกต่อไปแม้ว่าจะต้องเป็นรายปักษ์หรือรายเดือน มีวัตถุประสงค์เพื่อหารือเกี่ยวกับหัวข้อต่าง ๆ ที่ไม่สามารถทำได้ในระหว่างการประชุมสแตนด์บายเนื่องจากต้องใช้เวลามากขึ้น การอัปเดตจากฉันรวมถึงบทสรุปเกี่ยวกับทุกโครงการปัจจุบันที่พวกเขากำลังทำงานอยู่ (ไม่ว่าจะเป็นตามกำหนดเวลาความล่าช้าต่าง ๆ ฯลฯ ) การเปลี่ยนแปลงในทิศทางโครงการในอนาคตการเปลี่ยนแปลงในกระบวนการพัฒนา ฯลฯ อย่างไรก็ตามมันจบลงด้วยการเป็น การบรรยายจากฉันและอย่างน้อย 2 คนถูกแบ่งออกอย่างชัดเจนและส่วนที่เหลือมีความสนใจอย่างอ่อนโยนที่สุด ฉันพยายามให้ผู้คนมีส่วนร่วมมากขึ้นโดยให้พวกเขาพูดคุยเกี่ยวกับสัปดาห์ของพวกเขา แต่ด้วย 8 คนใช้เวลานานและ (ส่วนหนึ่งเป็นเพราะงานของพวกเขาไม่ข้ามมาก) ส่วนที่เหลือ ไม่สนใจสิ่งที่เพื่อนร่วมงานของพวกเขาทำงานในรายละเอียดมากขึ้น (พวกเขาได้รับภาพรวมระดับสูงในช่วงสแตนด์อัพ) ดังนั้นในระหว่างการประชุมเหล่านี้อย่างน้อยบางคนก็เบื่อมากและมันก็น่าอายสำหรับฉันที่จะถือมันต่อไป มันแตกต่างอย่างสิ้นเชิงกับการประชุมที่โดดเด่นของเราในตอนเช้า คำแนะนำเกี่ยวกับสิ่งที่ฉันสามารถทำได้เพื่อให้คนมีส่วนร่วมมากขึ้นและมีความสนใจมากขึ้น? และฉันจะให้พวกเขานำเสนอสิ่งต่าง ๆ ในการสนทนาของพวกเขาหรือเริ่มการอภิปรายที่เกี่ยวข้องกับทุกคนแทนที่จะเป็นการพูดคนเดียวจากฉันได้อย่างไร

2
รหัสใดดีสำหรับการเพิ่มประสิทธิภาพการทำนายสาขา
การคาดการณ์ของสาขาและผลของการปรับแต่งคอมไพเลอร์รหัสใดมีแนวโน้มที่จะให้ประสิทธิภาพที่เหนือกว่า? โปรดทราบว่า bRareExceptionPresent แสดงถึงเงื่อนไขที่ผิดปกติ มันไม่ใช่เส้นทางปกติของตรรกะ /* MOST COMMON path must branch around IF clause */ bool SomeFunction(bool bRareExceptionPresent) { // abort before function if(bRareExceptionPresent) { return false; } .. function primary body .. return true; } /* MOST COMMON path does NOT branch */ bool SomeFunction(bool bRareExceptionPresent) { if(!bRareExceptionPresent) { …

2
ไลบรารีงาน async ของฉันควรกลืนข้อยกเว้นอย่างเงียบ ๆ หรือไม่?
ฉันได้เรียนรู้เพียงแค่ว่า .NET 4.5 แนะนำการเปลี่ยนแปลงวิธีการข้อยกเว้นภายในTaskได้รับการจัดการ กล่าวคือพวกเขาถูกระงับอย่างเงียบ ๆ การให้เหตุผลอย่างเป็นทางการว่าทำไมสิ่งนี้เสร็จสิ้นดูเหมือนจะเป็น "เราต้องการที่จะเป็นมิตรกับนักพัฒนามือใหม่": ใน. NET 4.5 งานมีความโดดเด่นมากกว่าที่เคยทำใน. NET 4 อย่างมากเนื่องจากมีการใช้ภาษา C # และ Visual Basic เป็นส่วนหนึ่งของคุณลักษณะ async ใหม่ที่สนับสนุนโดยภาษา สิ่งนี้ทำให้ย้ายงานออกจากโดเมนของนักพัฒนาที่มีประสบการณ์มาสู่อาณาจักรของทุกคน เป็นผลให้มันนำไปสู่การแลกเปลี่ยนชุดใหม่เกี่ยวกับความเข้มงวดในการจัดการข้อยกเว้น (ที่มา ) ฉันได้เรียนรู้ที่จะเชื่อมั่นว่าการตัดสินใจใน. NET หลายครั้งนั้นเกิดขึ้นจากคนที่รู้ว่าพวกเขากำลังทำอะไรอยู่และมักจะมีเหตุผลที่ดีที่อยู่เบื้องหลังสิ่งที่พวกเขาตัดสินใจ แต่อันนี้หนีฉัน ถ้าฉันออกแบบไลบรารีงาน async ของฉันเองข้อดีของการกลืนข้อยกเว้นที่นักพัฒนาของ Framework เห็นว่าฉันไม่เห็นคืออะไร
10 .net 

3
การเขียนคอมไพเลอร์คอมไพเลอร์ - ความเข้าใจด้านการใช้งานและคุณสมบัติ
นี่เป็นส่วนหนึ่งของชุดคำถามที่มุ่งเน้นไปที่โครงการน้องกับโครงการ Abstraction ซึ่งมีจุดมุ่งหมายเพื่อสรุปแนวคิดที่ใช้ในการออกแบบภาษาในรูปแบบของกรอบ โปรเจ็กต์น้องสาวเรียกว่า OILexer ซึ่งมีวัตถุประสงค์เพื่อสร้างตัวแยกวิเคราะห์จากไฟล์ไวยากรณ์โดยไม่ต้องใช้การฉีดโค๊ดในการจับคู่ บางหน้าอื่น ๆ ที่เกี่ยวข้องกับคำถามเหล่านี้เกี่ยวข้องกับการพิมพ์โครงสร้างสามารถดูได้ที่นี่และความสะดวกในการใช้งานที่พบที่นี่ เมตาหัวข้อที่เกี่ยวข้องกับสอบถามรายละเอียดเพิ่มเติมเกี่ยวกับกรอบและสถานที่ที่เหมาะสมในการโพสต์สามารถพบได้ที่นี่ ฉันมาถึงจุดที่ฉันจะเริ่มแยกต้นไม้แยกออกจากไวยากรณ์ที่กำหนดตามด้วย Recursive Descent parser ซึ่งใช้ DFA เพื่อแยกแยะเส้นทางข้างหน้า (คล้ายกับ ANTLR 4's LL (*)) ดังนั้นฉันจึง คิดว่าฉันจะเปิดมันเพื่อรับข้อมูลเชิงลึก ในคอมไพเลอร์ตัวแยกวิเคราะห์คุณลักษณะชนิดใดที่เหมาะที่สุด? จนถึงตอนนี้เป็นภาพรวมคร่าวๆของสิ่งที่นำไปใช้: แม่แบบ ดูการคาดการณ์ล่วงหน้ารู้ว่าอะไรถูกต้อง ณ จุดที่กำหนด Rule 'Deliteralization' ใช้ตัวอักษรในกฎและแก้ไขโทเค็นที่มา Automata ของ Nondeterministic Automata ที่กำหนด เครื่องสถานะศัพท์ง่ายสำหรับการรับรู้โทเค็น วิธีอัตโนมัติของ Token: สแกน - มีประโยชน์สำหรับความคิดเห็น: ความคิดเห็น: = "/ *" สแกน ("* …

3
อะไรจะช่วยได้เมื่อทำการเปลี่ยนวิธีการขนาดใหญ่เพื่อให้แน่ใจว่าฉันจะไม่ทำลายอะไรเลย?
ขณะนี้ฉันกำลัง refactoring ส่วนหนึ่งของ codebase ขนาดใหญ่ที่ไม่มีหน่วยทดสอบใด ๆ ฉันพยายาม refactor code ในแบบที่โง่เง่านั่นคือการพยายามเดาว่าโค้ดกำลังทำอะไรและการเปลี่ยนแปลงใดที่จะไม่เปลี่ยนความหมาย แต่ไม่ประสบความสำเร็จ: มันสุ่มแยกคุณสมบัติรอบ ๆ codebase โปรดทราบว่าการเปลี่ยนโครงสร้างรวมถึงการย้ายรหัส C # ดั้งเดิมไปสู่รูปแบบการทำงานที่มากขึ้น (รหัสดั้งเดิมไม่ได้ใช้คุณสมบัติใด ๆ ของ. NET Framework 3 และใหม่กว่ารวมถึง LINQ) การเพิ่มข้อมูลทั่วไปที่รหัสอาจได้รับประโยชน์จากพวกเขาเป็นต้น ฉันไม่สามารถใช้วิธีการที่เป็นทางการได้เพราะจะมีค่าใช้จ่ายเท่าใด ในทางกลับกันฉันคิดว่าอย่างน้อย"กฎใด ๆ ที่ได้รับการปรับเปลี่ยนใหม่จะต้องมาพร้อมกับการทดสอบหน่วย"ควรปฏิบัติตามกฎอย่างเคร่งครัดไม่ว่าจะต้องเสียค่าใช้จ่ายเท่าใด ปัญหาคือเมื่อฉันสร้างส่วนเล็ก ๆ ของวิธีส่วนตัว 500 LOC การเพิ่มการทดสอบหน่วยดูเหมือนจะเป็นงานที่ยาก สิ่งใดที่สามารถช่วยฉันในการรู้ว่าการทดสอบหน่วยใดที่เกี่ยวข้องกับโค้ดบางส่วน ฉันเดาว่าการวิเคราะห์โค้ดแบบคงที่จะมีประโยชน์ แต่เครื่องมือและเทคนิคที่ฉันสามารถใช้เพื่อ: รู้ว่าฉันควรสร้างการทดสอบหน่วยใด และ / หรือทราบว่าการเปลี่ยนแปลงที่ฉันทำมีผลกับรหัสต้นฉบับในแบบที่มันทำงานแตกต่างจากนี้หรือไม่?

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