JavaRush /จาวาบล็อก /Random-TH /10 วิธีในการปรับปรุงโค้ดของคุณ ทดสอบจากประสบการณ์ส่วนตัว
Roman Beekeeper
ระดับ

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

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

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

10 วิธีในการปรับปรุงโค้ดของคุณ ทดสอบจากประสบการณ์ส่วนตัว - 2หากคุณต้องการพัฒนาทักษะการเขียนโปรแกรมของคุณอย่างมาก คุณต้อง... อ่านโค้ดที่เขียนโดยโปรแกรมเมอร์คนอื่น คุณสามารถเชื่อมันได้ คุณไม่สามารถเชื่อมันได้ แต่ถ้าคุณลองเสี่ยง ฉันสัญญาว่าคุณจะได้รับรางวัลสำหรับการสละเวลาของคุณ ตัวอย่างเช่น อย่าอ่านบนHabréว่า HashMap, ArrayList, LinkedList และอื่นๆ ทำงานอย่างไร แต่ให้อ่านโค้ดของพวกเขาแล้วคิดออกเอง นี่คือรายการชั้นเรียนที่จะอ่าน:
  1. HashMap เป็นคำถามที่ถูกถามบ่อยที่สุดในการสัมภาษณ์ คุณสามารถฆ่านกหลายตัวด้วยหินนัดเดียว: เข้าใจรหัสและรับความรู้ที่จำเป็น

  2. ArrayList เป็นกรณีเดียวกับ HashMap ไม่มีสิ่งที่ซับซ้อน แต่ก็คุ้มค่าที่จะอ่านและทำความเข้าใจ

  3. สตริงเป็นตัวอย่างที่ดี เข้าใจว่าเหตุใดจึงไม่เปลี่ยนรูป.

  4. AtomicInteger เป็นคลาสที่ยอดเยี่ยม โดยอธิบายกระบวนการของการดำเนินการแบบอะตอมบนวัตถุจำนวนเต็ม

  5. แล้ว - อย่างน้อยก็เรียนทั้งหมดติดต่อกัน...)

ถ้าเราพูดถึงบางสิ่งที่จริงจังกว่านี้ แน่นอนว่าการอ่านโค้ดจาก Pivotal ก็คุ้มค่า คนเหล่านี้เขียนระบบนิเวศที่เป็นที่ต้องการมากที่สุดในโลก Java รหัสของพวกเขาคุ้มค่าที่จะอ่านอย่างแน่นอน ดังนั้นผมขอแนะนำให้คุณเริ่มต้นด้วยSpring Core การอ่านซอร์สโค้ดที่ไม่คุ้นเคยถือเป็นงานที่ท้าทายแต่ก็คุ้มค่ามาก)

2. ปฏิบัติตาม Code Conventions - แบบแผนสำหรับการเขียนโค้ด

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

3. ใช้ Code Review - การตรวจสอบโค้ดโดยผู้อื่น

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

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

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

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

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

6. เขียนโค้ดที่เรียบง่ายและชัดเจน

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

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

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

“ค่าคงที่ของคนหนึ่งคือตัวแปรของอีกคน”

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

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

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

9. อ่านหนังสือเฉพาะทาง

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

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

คุณไม่สามารถเป็นโปรแกรมเมอร์ที่ดีเพียงแค่ท่องจำหนังสือได้ 10 วิธีในการปรับปรุงโค้ดของคุณ ทดสอบจากประสบการณ์ส่วนตัว - 11เป็นเรื่องง่ายที่จะพูดคุยเกี่ยวกับแนวคิดทางทฤษฎี แต่คุณสามารถเรียนรู้ข้อจำกัดทางภาษาหรือพัฒนาแนวทางปฏิบัติที่ดีที่สุดได้เมื่อคุณเขียนโค้ดเท่านั้น ดังนั้นเพื่อที่จะเป็นโปรแกรมเมอร์ที่ดีได้นั้น จะต้องเขียนโค้ดเยอะๆ หากคุณเป็นมือใหม่ ให้เริ่มต้นด้วยการเขียนโปรแกรมสำหรับปัญหาง่ายๆ เช่น ซีรีส์ Fibonacci, พาลินโดรม, สามเหลี่ยมปาสคาล ฯลฯ จากนั้นไปยังปัญหาที่ใหญ่กว่า เช่น แผนผังการค้นหาแบบไบนารี เป็นต้น หากคุณกำลังมองหาแพลตฟอร์มออนไลน์สำหรับฝึกโปรแกรม Java ลองดูที่Coding Ground ยิ่งกว่านั้น คุณสามารถเรียน หลักสูตร CS50ได้ ซึ่งคำแปลนี้จัดทำโดย "คุณรู้ใคร" ให้เรา :D

มาสรุปกัน

ผู้ที่ไม่ทำอะไรเลยย่อมไม่ผิดพลาด ดังนั้นเราจึงต้องมีความอดทน และเช่นเดียวกับคนญี่ปุ่นที่ทำงานหนัก เราต้องฝึกฝนทักษะการเขียนโค้ด สำหรับสิ่งนี้อย่าลืม:
  • อ่านรหัสของคนอื่น
  • ดำเนินการและขอ Code Reivew;
  • เขียนการทดสอบหน่วย
  • ใช้เครื่องมือเพื่อปรับปรุงโค้ด
  • เขียนโค้ดที่เรียบง่ายและเข้าใจได้
  • อ่านเอกสารของผู้ที่สามารถ
  • ติดตามโปรแกรมเมอร์ที่น่าสนใจ
  • อ่านหนังสือเฉพาะทาง
  • รหัส! รหัส! รหัส!
  • สมัครสมาชิกRoman บน GitHub

ลิงค์ที่เป็นประโยชน์

บทความของฉันเพิ่มเติม

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION