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

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

13
เกณฑ์สำหรับการประเมิน ORM for.NET คืออะไร? [ปิด]
ฉันกำลังดูการประเมินค่า ORM ผมเคยใช้SubSonic , Linq เพื่อ SQLและEntity Framework ฉันมีทีมนักพัฒนาตั้งแต่รุ่นน้องจนถึงรุ่นพี่ อะไรคือเกณฑ์ในการประเมิน ORM for.NET?
30 .net  orm 

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

16
ฟีเจอร์ที่มีประโยชน์ที่สุดของ VIM ที่ไม่ได้มาตรฐานใน IDE [ปิด]
ฉันกำลังพิจารณาว่าฉันควรเริ่มใช้ VIM อีกครั้งแทนที่จะเป็น IDE หรือไม่ ฟีเจอร์ที่มีประโยชน์ที่สุดของ VIM ที่ไม่ได้มาตรฐานใน IDE คืออะไร
30 ide  vim  comparison 

18
เมื่อไหร่ที่คุณเรียกตัวเองว่าเก่งภาษา X
สิ่งนี้กลับไปสู่การสนทนาที่ฉันมีกับแฟนสาวของฉัน ฉันพยายามบอกเธอว่าฉันรู้สึกไม่เพียงพอในภาษาการเขียนโปรแกรม (C ++) เพื่อเรียกตัวเองว่าดี จากนั้นเธอก็ถามฉันว่า "อืมคุณคิดว่าตัวเองดีพอเมื่อไหร่?" นั่นเป็นคำถามที่น่าสนใจ ฉันไม่รู้จะบอกเธอยังไง ดังนั้นฉันถามคุณ สำหรับภาษาการเขียนโปรแกรมกรอบงานหรืออะไรทำนองนั้นเมื่อคุณถึงจุดหนึ่งคุณนั่งลงดูที่สิ่งที่คุณทำและพูดว่า "เฮ้ฉันจริง ๆ แล้วค่อนข้างดีนะ" คุณให้คำจำกัดความว่า "ดี" อย่างไรเพื่อที่คุณจะได้บอกคนอื่นอย่างตรงไปตรงมาว่า "ใช่ฉันเก่งใน X" นอกจากนี้คุณถึงข้อสรุปเหล่านี้โดยเปรียบเทียบสิ่งที่ผู้อื่นสามารถทำได้หรือไม่ ข้อมูลเพิ่มเติม ฉันได้อ่านเอกสารมาตรฐานเกี่ยวกับวิธีการที่ใช้เวลาหมื่นชั่วโมงก่อนที่คุณจะเป็นผู้เชี่ยวชาญในสนาม (อุปกรณ์ประกอบฉากสำหรับทุกคนที่รู้ว่าสิ่งที่เรียกว่ากระดาษนี้อีกครั้ง) ฉันได้อ่านบทความต่าง ๆ จาก Coding Horror เกี่ยวกับการสัมภาษณ์ผู้คน บางคนพูดว่า "ไม่สามารถทำงานนอกกรอบได้" ดังนั้นพวกเขาอาจจะ "ดี" สำหรับกรอบนั้น แต่ไม่เป็นอย่างอื่นในภาษา มันเป็นเรื่องจริงเหรอ?

23
คำอุปมาการเขียนโปรแกรมที่ดีคืออะไร [ปิด]
ฉันหมายถึงการอธิบายผู้ที่ไม่ใช่โปรแกรมเมอร์ว่าการเขียนโปรแกรมคืออะไร ฉันแน่ใจว่าได้ค้นหาคำถามที่คล้ายกันก่อนสร้างคำถามนี้ แต่บางคำถามที่ฉันพบดูเหมือนว่าจะหลบคำถามและฉันต้องการเห็นอุปมาอุปมัยหรืออุปมาอุปมัยโดยเฉพาะ ฉันพบว่าเป็นการง่ายกว่าที่จะอธิบายบางอย่างทางเทคนิคแก่ใครบางคนผ่านการใช้คำอุปมาอุปมัยหรืออุปมาอุปมัย เหตุผลที่ฉันสนใจในเรื่องนี้ก็คือเพราะหลายคนพบกับการทำงานของโปรแกรมเมอร์เป็นประจำทุกวัน แต่ถ้าคุณถามคนทั่วไปว่าโปรแกรมเมอร์คืออะไรหรือทำอะไรพวกเขาไม่รู้ สิ่งนี้นำไปสู่สถานการณ์บางอย่างที่เข้าใจผิด (เช่น "[... ] แต่ฉันคิดว่าคุณเก่งในคอมพิวเตอร์!") ฉันต้องการค้นหาสิ่งที่ดีที่สุดที่นั่นจริง ๆ ฉันต้องการที่จะสามารถอธิบายให้ใครบางคนได้อย่างง่ายดายว่าอาชีพของฉันคืออะไร แน่นอนอย่างน้อยความคิดทั่วไป โดยส่วนตัวฉันไม่ได้เป็นคนที่แข็ง แต่ฉันคิดมานานแล้วและฉันมักจะมีความโน้มเอียงไปสู่คำอุปมา 'ภาษา' ที่เราเกิดขึ้นเพื่อรู้ภาษาที่คอมพิวเตอร์เข้าใจและดังนั้นเราจึงสามารถบอกคอมพิวเตอร์ว่า ทำหรือ "สอน" พวกเขาเพื่อแก้ปัญหาของเรา ตัวอย่างเช่น: ลองจินตนาการว่าในความเป็นจริงแบบอื่นหุ่นยนต์ฮิวแมนนอยด์ที่มีปัญญาประดิษฐ์อยู่และบางคนสามารถสื่อสารกับพวกเขาผ่านภาษากลางซึ่งเป็นรูปแบบของภาษาอังกฤษ คนเหล่านี้ที่สามารถสื่อสารกับหุ่นยนต์สามารถสอนพวกเขาถึงวิธีแก้ปัญหาบางอย่างหรือทำงานบางอย่างเช่นทำงานบ้านของเรา ถึงแม้ว่าหุ่นยนต์แบบนั้นยังไม่มีอยู่ แต่โปรแกรมเมอร์ในยุคของเราก็เหมือนคนเหล่านั้น แต่แทนที่จะสื่อสารกับหุ่นยนต์พวกมันสื่อสารกับคอมพิวเตอร์ โปรแกรมเมอร์ "สอน" คอมพิวเตอร์ถึงวิธีการทำงานบางอย่างหรือแก้ไขปัญหาบางอย่างด้วยซอฟต์แวร์ที่พวกเขาสร้างขึ้นโดยใช้ "ภาษากลาง" นี้ โปรแกรมเมอร์และ "ภาษากลาง" คือสิ่งที่ทำให้เรามีสิ่งต่าง ๆ เช่นอีเมลเว็บไซต์วิดีโอเกมโปรแกรมประมวลผลคำสมาร์ทโฟน ( เพื่อพูดง่าย ๆ ) และสิ่งอื่น ๆ ที่เราใช้เป็นประจำทุกวัน ฉันไม่ได้ตั้งใจจะวางโปรแกรมบนบัลลังก์หรืออะไรเลยมันเป็นเพียงคำอุปมาที่ดีที่สุดที่ฉันคิดได้ ฉันแน่ใจว่าบางคนจะพบปัญหาบางอย่างเกี่ยวกับเรื่องนี้มันอาจจะเป็นเรื่องเล็กน้อย แต่แล้วอีกครั้งนั่นเป็นเหตุผลที่ฉันถามคำถามนี้

26
บางคนสามารถหางานเป็นโปรแกรมเมอร์โดยไม่มีการศึกษาได้หรือไม่? [ปิด]
สนใจที่จะรู้จากคนที่มีประสบการณ์มากกว่าถ้าใครบางคนสามารถหางานทำในฐานะโปรแกรมเมอร์โดยไม่ต้องเรียนจบมัธยม พิจารณาว่าบุคคลดังกล่าวเป็นโปรแกรมเมอร์โดยเฉลี่ย ใครบางคนจะพิจารณาให้โอกาสเขาในการสัมภาษณ์หรือไม่? ภาษาที่น่าสนใจคือ python / php / java / c # โปรดตอบสำหรับภูมิภาค / เมือง / ประเทศของคุณเท่านั้น ไม่มีคำตอบ "กลับไปโรงเรียน"

1
เมื่อพัฒนาระบบด้วยตัวเองฉันควรใช้ microservices หรือไม่
ฉันเริ่มต้นโครงการใหม่ในที่ทำงานและน่าจะเป็นผู้พัฒนาโครงการเพียงคนเดียว แต่ผู้พัฒนารายอื่นหนึ่งหรือสองรายจะต้องรวมแอปพลิเคชันที่มีอยู่หรือสคริปต์อย่างง่ายเข้ากับโครงการหลัก โครงการจำเป็นต้องจัดการกับปริมาณขนาดเล็กและการส่งผ่านข้อมูล / การประมวลผลและการประมวลผลรหัสตามเหตุการณ์และตามความต้องการ บางส่วนของเฟรมเวิร์กจะมี CPU ผูกไว้อย่างแน่นหนาและบางส่วนอาจถูกผูกไว้กับ I / O อย่างหนัก ข้อมูลส่วนใหญ่จะต้องอยู่บนเครื่องเดียว แต่เราสามารถสร้างคลัสเตอร์และเชื่อมต่อ VM เพื่อเพิ่มพลังการคำนวณที่มีอยู่ อาจจะมีเว็บแอปพลิเคชั่นขนาดเล็กหนึ่งรายการหรือมากกว่านั้นซึ่งขึ้นอยู่กับบริการที่ให้กรอบงานหลักนี้ ภาษาหลักจะเป็น Python สำหรับทุกสิ่ง คำถามของฉันคือฉันควรใช้วิธีไมโครไซต์เพื่อพยายามทำสิ่งนี้หรือใช้แอพพลิเคชั่นแบบเสาหินเนื่องจากฉันจะทำการพัฒนาส่วนใหญ่ด้วยตัวเอง ความคิดของฉันคือ microservices (โดยใช้ Nameko) ให้การแยกโดยธรรมชาติระหว่างองค์ประกอบของกรอบงานที่มีรูปแบบการดำเนินการที่แตกต่างกัน (ไปป์ไลน์ข้อมูล, กิจกรรมที่เปิดตัว, ตามคำขอ, เว็บแอปพลิเคชั่น ฯลฯ ) และวิธีที่ชัดเจน การสื่อสารข้ามหลายกระบวนการ ความกังวลของฉันคือฉันอาจท้ายด้วยกลุ่ม Kubernetes เพื่อจัดการ (ฉันคุ้นเคยกับ Docker แต่ยังค่อนข้างใหม่กับ Kubernetes), บริการหลายอย่าง (rabbitmq, redis และอื่น ๆ ) ที่จำเป็นเพียงเพื่ออำนวยความสะดวกในการใช้งานระบบ และอาจมีโค้ดขนาดเล็กจำนวนมากที่จะใช้ความสามารถที่จำเป็นทั้งหมดที่เรามีอยู่จริง สำหรับโครงการที่มีผู้พัฒนามากกว่าหนึ่งรายเล็กน้อย …

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

10
เชื่อมต่อกับคลาสนามธรรม
เพื่อนร่วมงานของฉันและฉันมีความเห็นต่างกันเกี่ยวกับความสัมพันธ์ระหว่างคลาสพื้นฐานและอินเทอร์เฟซ ฉันเชื่อว่าคลาสไม่ควรใช้อินเทอร์เฟซเว้นแต่ว่าคลาสนั้นสามารถใช้ได้เมื่อต้องการการใช้อินเทอร์เฟซ กล่าวอีกนัยหนึ่งฉันชอบที่จะเห็นรหัสเช่นนี้: interface IFooWorker { void Work(); } abstract class BaseWorker { ... base class behaviors ... public abstract void Work() { } protected string CleanData(string data) { ... } } class DbWorker : BaseWorker, IFooWorker { public void Work() { Repository.AddCleanData(base.CleanData(UI.GetDirtyData())); } } DbWorker คือสิ่งที่ได้รับอินเตอร์เฟส IFooWorker เนื่องจากเป็นการใช้งานอินเทอร์เฟซที่รวดเร็ว สมบูรณ์ตามสัญญา …

3
“ S” ย่อมาจากอะไรใน OOPS
ฉันค้นหารูปแบบ " OOPS " เต็มรูปแบบในGoogleแต่น่าเสียดายที่มีคำตอบที่ไม่ชัดเจนมากมาย บางคนบอกว่าเป็น " ระบบ " และบางคนบอกว่าเป็น " โครงสร้าง " และบางคนบอกว่าเป็น " เรื่องย่อ " ใครช่วยสอนฉันให้หา OOPS แบบเต็มด้วยการอ้างอิงที่ถูกต้องและถูกต้องบ้างไหม? ขอบคุณมากสำหรับทุกคนช่วยฉันออกไป

8
เป็นวิธีที่ดีที่สุดในการแบ่งงานระหว่างนักพัฒนาอะไร
ทีมของฉันและฉันกำลังสร้างไซต์ที่เราพัฒนาขึ้นเมื่อประมาณสิบปีที่แล้วและเราต้องการทำใน Agile ดังนั้นหลังจากที่ฉันใช้เวลาอ่านมาก (อาจไม่เพียงพอ) ฉันมีปัญหากับคำถามว่าจะแบ่งงานระหว่างนักพัฒนาอย่างไร ฉันจะเจาะจงมากขึ้นและบอกว่าไซต์นั้นถูกแบ่งออกเป็นโมดูลแยกต่างหากซึ่งไม่มีการรวมกันระหว่างกันมาก อะไรคือวิธีที่ดีที่สุด / ได้รับการยอมรับมากที่สุดในการแบ่งงานระหว่างนักพัฒนา ให้แต่ละโมดูลที่แตกต่างกันในการทำงาน กำหนดผู้พัฒนาทั้งหมดให้กับโมดูลเดียวกันและแบ่งงานตามส่วนต่าง ๆ ของโมดูล (UnitTesting, DAL และ Mapping, Logics, UI) กำหนดนักพัฒนาทั้งหมดให้กับโมดูลเดียวกันและแยกงานด้วย logics ที่แตกต่างกัน (ตัวอย่างเช่นนักพัฒนาแต่ละคนรับผิดชอบตรรกะเฉพาะ (อาจเป็นวิธีการใน BL) และเป็น UnitTesting, DAL และ Mapping และ UI ... หรืออาจจะเป็นสิ่งที่แตกต่างอย่างสิ้นเชิง?

12
int * i; หรือ int * i; หรือ int * i; [ปิด]
อะไรคือวิธีที่คุณชื่นชอบในการประกาศตัวชี้? int* i; หรือ int *i; หรือ int * i; หรือ int*i; กรุณาอธิบายว่าทำไม ดูเพิ่มเติมได้ที่: http://www.stroustrup.com/bs_faq2.html#whitespace

4
Microservices ควรพูดคุยกันหรือไม่?
ฉันออกแบบแอปพลิเคชันด้วยบริการไมโครและฉันไม่แน่ใจเกี่ยวกับกลไกที่ดีที่สุดที่จะใช้ในการรวบรวมข้อมูลจากบริการที่หลากหลาย ฉันเชื่อว่ามีสองตัวเลือก: บูรณาการกลไกการสื่อสาร 'บริการระหว่าง' ที่ช่วยให้บริการที่จะพูดคุยโดยตรง API เกตเวย์จะเรียกใช้บริการส่วนบุคคลซึ่งจะเรียกบริการอื่น ๆ เพื่อรวบรวมข้อมูลก่อนส่งคืนการตอบกลับแบบรวมไปยัง API เกตเวย์ จากนั้น API จะส่งคืนการตอบกลับไปยังผู้โทร (สิ่งนี้จะต้องเป็นการโทรแบบซิงโครนัสเมื่อการเรียกใช้บริการ serviceB ต้องการการตอบสนองจาก serviceA. IE แยกคนและบริการที่อยู่) ให้ API เกตเวย์โทรไปยังแต่ละบริการโดยตรงและรวบรวมข้อมูลภายใน API ก่อนที่จะตอบกลับ ฉันเอนตัวไปสู่ทางเลือกที่สองเนื่องจากการให้บริการพูดคุยกันจะแนะนำการมีเพศสัมพันธ์ซึ่งในกรณีนี้ฉันก็อาจสร้างแอพพลิเคชั่นแบบเสาหิน อย่างไรก็ตามมีข้อเสียร้ายแรงบางประการที่ฉันสามารถคิดได้จากส่วนหัวของฉันด้วยตัวเลือกนี้: การให้ API ดำเนินการเรียกหลายครั้งไปยังหลายบริการจะช่วยเพิ่มภาระให้กับเซิร์ฟเวอร์ API โดยเฉพาะอย่างยิ่งเมื่อการโทรบางส่วนกำลังปิดกั้น วิธีนี้จะหมายความว่า API จะต้อง 'ตระหนักถึง' สิ่งที่แอปพลิเคชันพยายามทำ (IE Logic จะต้องถูกตั้งโปรแกรมไว้ใน API เพื่อจัดการกับการเรียกใช้บริการในทางกลับกันและรวมข้อมูลแล้ว) ทำหน้าที่เป็น 'ปลายทาง' โง่สำหรับบริการไมโคร ฉันต้องการทราบว่าแนวทางมาตรฐานสำหรับปัญหานี้คืออะไรและหากมีตัวเลือกที่สามที่ฉันพลาด

5
ทำไมการเรียนล่ามเสียงกระเพื่อมในเสียงกระเพื่อมจึงสำคัญ?
ฉันได้เห็นหลักสูตร CS และคำแนะนำการเรียนรู้มากมายสำหรับโปรแกรมเมอร์ใหม่ที่เรียกร้องให้โปรแกรมเมอร์ที่ต้องการศึกษาล่ามเสียงกระเพื่อมที่เขียนโดยเฉพาะในเสียงกระเพื่อม เว็บไซต์ทั้งหมดเหล่านี้พูดสิ่งที่คล้ายกับ "ของมันเปิดเผยทางปัญญา" "มันเป็นประสบการณ์ที่ตรัสรู้โปรแกรมเมอร์ทุกคนอย่างจริงจังควรจะมี" หรือ "มันแสดงให้คุณเห็นความสัมพันธ์ของฮาร์ดแวร์ / ซอฟแวร์" และงบคลุมเครืออื่น ๆ โดยเฉพาะอย่างยิ่งจากบทความนี้นำมาจากนี้วิธีการที่มีชื่อเสียง ความเชื่อมั่นทั่วไปของคำถามของฉันคือเสียงกระเพื่อมบรรลุเป้าหมายข้างต้นและทำไมเสียงกระเพื่อม? ทำไมจึงไม่ใช้ภาษาอื่น ฉันถามสิ่งนี้เพราะฉันเพิ่งเสร็จสิ้นการเขียนล่ามแบบแผนในโครงการ (นำมาจาก SICP http://mitpress.mit.edu/sicp/ ) และตอนนี้ฉันกำลังเขียนล่ามหลามในแบบแผนและฉันกำลังพยายามที่จะมีความศักดิ์สิทธิ์ตามตำนานนี้ ที่ควรมาจากอดีตโดยเฉพาะ ฉันกำลังมองหารายละเอียดทางเทคนิคเฉพาะระหว่างสองภาษาที่ฉันสามารถใช้ประโยชน์จากล่ามในโครงการเพื่อทำความเข้าใจเกี่ยวกับวิธีการทำงานของโปรแกรม โดยเฉพาะอย่างยิ่ง: เหตุใดการศึกษาล่ามที่เขียนด้วยภาษาที่ล่ามจึงเน้น - เป็นเพียงการออกกำลังกายทางจิตที่ดีในการรักษาภาษาดั้งเดิมและภาษาที่สร้างขึ้นตรงหรือมีปัญหาเฉพาะที่สามารถหาวิธีแก้ปัญหาในลักษณะของ ภาษาต้นฉบับ? ล่ามเสียงกระเพื่อมแสดงให้เห็นถึงแนวคิดสถาปัตยกรรมที่ดีสำหรับการออกแบบซอฟต์แวร์ในอนาคต ฉันจะพลาดอะไรถ้าฉันทำแบบฝึกหัดนี้ในภาษาอื่นเช่น C ++ หรือ Java เป็นสิ่งที่ใช้มากที่สุด Takeaway หรือ "เครื่องมือทางจิต" จากการออกกำลังกายนี้? ** ** ฉันเลือกคำตอบที่ผมทำเพราะผมได้สังเกตเห็นว่าผมได้รับจากการใช้สิทธิทักษะมากขึ้นในการออกแบบเครื่องมือแยกในหัวของฉันกว่าเครื่องมืออื่น ๆ เดียวและฉันต้องการที่จะหาวิธีการที่แตกต่างกันของการแยกที่อาจทำงานได้ดีขึ้นสำหรับโครงการ ล่ามกว่าล่ามหลาม

4
ทำไมวิธีการเรียงลำดับบางอย่างจึงจัดเรียง 1, 10, 2, 3 …?
ฉันสังเกตเห็นมากกว่าวิธีการเรียงลำดับตัวเลขหลายวิธีดูเหมือนจะเรียงลำดับตาม 1, 10, 2, 3 ... แทนที่จะเป็น 1, 2, 3, 10 ... ฉันมีปัญหาในการหาสถานการณ์ที่ฉันต้องการ ต้องการวิธีแรกและในฐานะผู้ใช้ฉันรู้สึกหงุดหงิดเมื่อใดก็ตามที่ฉันเห็นมันในทางปฏิบัติ มีกรณีการใช้งานที่ถูกกฎหมายสำหรับรูปแบบแรกในช่วงที่สองหรือไม่ ถ้าเป็นเช่นนั้นพวกเขาคืออะไร? ถ้าไม่ใช่สไตล์การเรียงลำดับแรกจะเกิดขึ้นได้อย่างไร ชื่ออย่างเป็นทางการของแต่ละวิธีการเรียงลำดับคืออะไร?
30 sorting 

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