CodeGym /จาวาบล็อก /สุ่ม /10 วิธีในการปรับปรุงโค้ดของคุณ ซึ่งพิสูจน์ได้จากประสบการณ...
John Squirrels
ระดับ
San Francisco

10 วิธีในการปรับปรุงโค้ดของคุณ ซึ่งพิสูจน์ได้จากประสบการณ์ส่วนตัว

เผยแพร่ในกลุ่ม
สวัสดีทุกคนในชุมชน CodeGym! 10 วิธีในการปรับปรุงโค้ดของคุณ ซึ่งพิสูจน์ได้จากประสบการณ์ส่วนตัว - 1วันนี้เราจะพูดถึงคุณภาพของโค้ด ใช่เพื่อนรัก ไม่มีใครสมบูรณ์แบบ. ถึงจุดหนึ่งทุกคนตระหนักดีว่าโค้ดน่าจะดีกว่านี้... แต่จะทำอย่างไรในสถานการณ์นี้ อย่างน้อยที่สุด ให้เริ่มค้นคว้าปัญหานี้ แต่คุณอยู่ที่นี่แล้ว ซึ่งหมายความว่าหัวข้อจะต้องสนใจคุณ ดังนั้นไปกันเลย วันนี้เราจะอธิบายวิธีที่คุณสามารถทำให้โค้ดของคุณดีขึ้นและสะอาดขึ้น ดังนั้นคุณจะไม่ละอายใจกับรหัสปัจจุบันของคุณในอนาคต! :) วิธีการทั้งหมดนี้จะช่วยให้โปรแกรมเมอร์เป็นโปรแกรมเมอร์ที่ดีได้10 วิธีในการปรับปรุงโค้ดของคุณ ซึ่งพิสูจน์ได้จากประสบการณ์ส่วนตัว - 2

1. หากคุณต้องการปรับปรุงโค้ดของคุณ ให้อ่านของคนอื่น

หากคุณต้องการพัฒนาทักษะการเขียนโปรแกรมของคุณอย่างมาก คุณต้อง... อ่านโค้ดที่เขียนโดยโปรแกรมเมอร์คนอื่นๆ เชื่อฉันหรือไม่ แต่ถ้าคุณรับความเสี่ยง ฉันสัญญาว่าคุณจะได้รับผลตอบแทนสำหรับเวลาที่ใช้ไป ตัวอย่างเช่น อย่าอ่านบน medium.com เกี่ยวกับวิธีการทำงานของ HashMap, ArrayList, LinkedList เป็นต้น ให้อ่านซอร์สโค้ดและค้นหาด้วยตัวเองแทน นี่คือรายการของชั้นเรียนที่จะอ่าน:
  • คำถามที่พบบ่อยที่สุดในการสัมภาษณ์คือเกี่ยวกับ HashMap คุณสามารถฆ่านกสองตัวด้วยหินก้อนเดียว: คุณจะเข้าใจรหัสและได้รับความรู้ที่คุณต้องการ
  • สิ่งเดียวกันนี้เป็นจริงเกี่ยวกับ ArrayList ไม่มีอะไรซับซ้อน แต่ซอร์สโค้ดควรค่าแก่การอ่านและทำความเข้าใจ
  • สตริงเป็นตัวอย่างที่ยอดเยี่ยม เข้าใจว่าทำไมมันถึงเปลี่ยนรูปไม่ได้.
  • AtomicInteger เป็นคลาสที่ยอดเยี่ยม: มันกำหนดการดำเนินการของอะตอมบนวัตถุจำนวนเต็ม
  • หลังจากนั้น เราก็สามารถลิสต์แต่ละคลาส ทีละคลาสได้ :)
อย่างจริงจังคุณควรอ่านรหัสจาก Pivotal ผู้คนที่นั่นได้เขียนระบบนิเวศที่เป็นที่ต้องการมากที่สุดในโลกของ Java รหัสของพวกเขาคุ้มค่าที่จะอ่าน ฉันขอแนะนำให้คุณเริ่มต้นด้วยSpring Core การอ่านซอร์สโค้ดที่ไม่คุ้นเคยนั้นยากแต่คุ้มค่า :)

2. ปฏิบัติตามข้อตกลงรหัส

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

3. ใช้รีวิวโค้ด

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

4. เขียนการทดสอบหน่วย

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

5. ใช้เครื่องมือเพื่อปรับปรุงคุณภาพของโค้ด

ไม่มีนักพัฒนาคนไหนที่ไม่เคยทำผิดพลาด โดยทั่วไปแล้ว คอมไพลเลอร์จะตรวจจับปัญหาทางไวยากรณ์และเลขคณิต และแสดงการติดตามสแต็ก แต่ปัญหาบางอย่างอาจยังคงปรากฏอยู่ซึ่งคอมไพเลอร์ไม่สามารถตรวจจับได้ ตัวอย่างเช่น ข้อกำหนดที่ใช้งานไม่ถูกต้อง อัลกอริทึมไม่ถูกต้อง รหัสที่มีโครงสร้างไม่ถูกต้อง หรือปัญหาที่อาจเกิดขึ้นอื่นๆ ที่ชุมชนทราบจากประสบการณ์ วิธีเดียวที่จะตรวจจับข้อผิดพลาดเช่นนี้คือขอให้นักพัฒนาอาวุโสกว่าตรวจสอบโค้ดของคุณ ใช่ไหม แต่วิธีนี้ไม่ใช่ยาครอบจักรวาลและจะไม่เปลี่ยนแปลงมากนัก สำหรับนักพัฒนาใหม่ทุกคนในทีม คุณควรมีสายตาอีกคู่คอยดูโค้ดของเขา/เธอ โชคดีที่มีเครื่องมือมากมายที่สามารถช่วยคุณควบคุมคุณภาพของโค้ดได้ ฉันใช้ Checkstyle, PMD, FindBugs และ SonarQube ในการทำงานในโครงการต่างๆ และมีคนอื่นเช่นกัน โดยทั่วไปจะใช้ทั้งหมดเพื่อวิเคราะห์คุณภาพของโค้ดและสร้างรายงานที่เป็นประโยชน์ บ่อยครั้งที่รายงานเหล่านี้เผยแพร่โดยเซิร์ฟเวอร์การผสานรวมอย่างต่อเนื่อง เช่น Jenkins

6. เขียนโค้ดที่เรียบง่ายและตรงไปตรงมา

10 วิธีในการปรับปรุงโค้ดของคุณ ซึ่งพิสูจน์ได้จากประสบการณ์ส่วนตัว - 5เขียนโค้ดที่เรียบง่าย เข้าใจได้ และมีเหตุผลอยู่เสมอ ผู้คนมักจะเขียนโค้ดที่ซับซ้อนเพื่อพิสูจน์ว่าพวกเขาสามารถทำได้ โค้ดที่เรียบง่ายและมีเหตุผลมักจะทำงานได้ดี ทำให้เกิดปัญหาน้อยลง และขยายได้มากขึ้น รหัสที่ดีคือเอกสารที่ดีที่สุด หากคุณคิดที่จะแสดงความคิดเห็น ให้ถามตัวเองว่า: "ฉันจะปรับปรุงโค้ดได้อย่างไรเพื่อให้ความคิดเห็นนี้ไม่จำเป็น" — สตีฟ แมคคอนเนล

7. อ่านเอกสารประกอบ

10 วิธีในการปรับปรุงโค้ดของคุณ ซึ่งพิสูจน์ได้จากประสบการณ์ส่วนตัว - 6นิสัยที่สำคัญที่สุดอย่างหนึ่งของโปรแกรมเมอร์ที่ดีคือการอ่านเอกสารจำนวนมาก ไม่ว่าจะเป็นข้อมูลจำเพาะ JSR เอกสาร API บทช่วยสอน หรืออย่างอื่น การอ่านเอกสารจะช่วยให้คุณสร้างรากฐานที่มั่นคงสำหรับการเขียนโปรแกรมที่ดีที่สุดของคุณ สุดท้ายนี้อย่าเอาตัวเองไปเปรียบเทียบกับคนอื่น การเปรียบเทียบตัวเองกับคนอื่นมีแต่จะนำไปสู่ความรู้สึกด้านลบและการแข่งขันที่ไม่ดีต่อสุขภาพ แต่ละคนมีจุดแข็งและจุดอ่อนของตัวเอง ซึ่งหมายความว่าสิ่งสำคัญคือต้องรู้จักพวกเขาและทำงานร่วมกับพวกเขา ตรวจสอบรายการของตัวเอง - ระบุจุดแข็งของคุณและดำเนินการกับมัน การเขียนโปรแกรมเป็นความสุขที่แท้จริง: สนุกกับมัน

"ค่าคงที่ของคนหนึ่งเป็นตัวแปรของอีกคนหนึ่ง"

อลัน เจ. เปอร์ลิส

8. ติดตามบล็อกเกอร์ที่น่าสนใจ

ผู้ที่ชื่นชอบหลายพันคนทั่วโลกทำงานและเขียนเกี่ยวกับเทคโนโลยีเดียวกัน บล็อกมักเขียนขึ้นโดยผู้เขียนโปรแกรมเอง และบล็อกส่วนใหญ่จะแบ่งปันความคิดเห็นและประสบการณ์ส่วนตัว คุณสามารถดูมุมมองต่างๆ ของเทคโนโลยีเดียวกันผ่านบล็อกได้ คุณสามารถเห็นทั้งเทคโนโลยีที่ดีและไม่ดีในบล็อก อย่างน้อยที่สุด ให้อ่านบทความใน Coding Dojo Blog และ CodeGym :) ติดตามบล็อกดีๆ และแสดงความคิดเห็นในโพสต์ แบ่งปันความคิดเห็นของคุณ

9. อ่านหนังสือเกี่ยวกับอาชีพ

ไม่มีสิ่งใดมาแทนที่หนังสือดีๆ ได้ หนังสือดีๆ สักเล่มจะสอนแนวคิดพื้นฐานในรูปแบบที่เรียบง่ายและนำไปใช้กับสิ่งต่างๆ ในโลกแห่งความเป็นจริงได้ ผู้เขียนของพวกเขาเป็นโปรแกรมเมอร์ที่ยอดเยี่ยม การอ่านหนังสือ คุณสามารถเรียนรู้จากประสบการณ์ของผู้อื่นได้ ฉันขอแนะนำให้คุณอ่าน "Effective Java" ของ Joshua Bloch หนังสือเล่มนี้นำเสนอกฎง่ายๆ เจ็ดสิบแปดประการสำหรับโปรแกรมเมอร์: วิธีแก้ไขปัญหาการทำงานที่ดีที่สุดสำหรับปัญหาการเขียนโปรแกรมที่คุณเผชิญทุกวัน ประกอบด้วยแนวทางที่เป็นประโยชน์และน่าเชื่อถือที่สุดสำหรับการเขียนโปรแกรมที่มีประสิทธิภาพและออกแบบมาอย่างดี หากคุณเพิ่งเริ่มต้นกับ Java และไม่มีประสบการณ์ในการเขียนโปรแกรม คุณสามารถอ่าน "Sams สอนตัวคุณเองด้วย Java 2 ใน 24 ชั่วโมง" และสำหรับการเขียน Clean Code มีหนังสือที่ยอดเยี่ยมชื่อ "Clean Code" โดย Robert Martin หลังจากอ่านแล้ว

10. รหัส! รหัส! รหัส!

คุณไม่สามารถเป็นโปรแกรมเมอร์ที่ดีได้เพียงแค่ท่องจำหนังสือ มันง่ายที่จะพูดคุยเกี่ยวกับแนวคิดทางทฤษฎี แต่คุณสามารถเรียนรู้ข้อจำกัดของภาษาหรือแนวทางปฏิบัติที่ดีที่สุดได้เมื่อคุณเขียนโค้ดเท่านั้น ดังนั้นในการเป็นโปรแกรมเมอร์ที่ดี คุณต้องเขียนโค้ดจำนวนมาก หากคุณเป็นมือใหม่ ให้เริ่มด้วยการเขียนโปรแกรมสำหรับงานง่ายๆ เช่น Fibonacci series, palindromes, Pascal's Triangle ฯลฯ จากนั้นค่อยย้ายไปทำงานใหญ่ เช่น binary search tree เป็นต้น หากคุณกำลังมองหาแพลตฟอร์มออนไลน์สำหรับฝึก Java โปรแกรม ลองดูที่Coding Ground ทำงานในหลักสูตรการเขียนโปรแกรมและฉันรับประกันว่าทักษะของคุณจะดีขึ้นมาก อีกทางเลือกหนึ่งคือการลงเรียนหลักสูตร Harvard CS50 ซึ่งไม่มีค่าใช้จ่าย

มาสรุปกัน

คนที่ไม่ทำผิดคือคนที่ไม่ทำอะไรเลย นั่นเป็นเหตุผลที่เรารวบรวมความอดทนของเรา และเช่นเดียวกับตั๊กแตนที่ทำงานหนัก เราฝึกฝนทักษะการเขียนโค้ดของเรา ในการทำเช่นนี้ อย่าลืม:
  • อ่านรหัสของผู้อื่น
  • จัดหาและขอการตรวจสอบโค้ด
  • เขียนการทดสอบหน่วย
  • ใช้เครื่องมือเพื่อปรับปรุงรหัสของคุณ
  • เขียนโค้ดที่เข้าใจง่าย
  • อ่านเอกสารที่เขียนโดยผู้ที่ทำได้
  • ติดตามโปรแกรมเมอร์ที่น่าสนใจ
  • อ่านหนังสือเกี่ยวกับอาชีพ
  • รหัส! รหัส! รหัส!
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION