การรู้และปฏิบัติตามมาตรฐานอุตสาหกรรมและแนวทางปฏิบัติที่ดีที่สุดนั้นค่อนข้างมีความสำคัญในทุกด้าน และโดยเฉพาะอย่างยิ่งในการเขียนโปรแกรมด้วยการผสมผสานภาษาการเข้ารหัส เครื่องมือ แนวทาง และเทคโนโลยีที่ซับซ้อนและวุ่นวายในบางครั้ง นั่นเป็นเหตุผลที่โปรแกรมเมอร์ Java มืออาชีพควรคุ้นเคยกับ Java Coding Conventions เป็นอย่างดี ซึ่งเป็นสิ่งที่เรากำลังจะพูดถึงในวันนี้
การทำตามแบบแผนการเขียนโค้ดทำให้โครงการซอฟต์แวร์สามารถเขียนในลักษณะที่เป็นเอกภาพเดียวได้ ซึ่งมีประโยชน์ในหลายๆ วิธีดังต่อไปนี้
สิ่งที่สำคัญที่สุดประการหนึ่งคือการทำให้ง่ายต่อการบำรุงรักษาและสนับสนุนผลิตภัณฑ์ซอฟต์แวร์ เนื่องจากบ่อยครั้งมากที่ผู้เขียนดั้งเดิมของโปรแกรมไม่ใช่ผู้ที่สนับสนุน นี่เป็นสิ่งสำคัญเนื่องจาก 80% ของต้นทุนตลอดอายุการใช้งานของซอฟต์แวร์หนึ่งชิ้นจะไปที่การบำรุงรักษา
การปรับปรุงความสามารถในการอ่านของซอฟต์แวร์เป็นข้อดีที่สำคัญอีกประการหนึ่ง ซึ่งมีความหมายหลายประการ เช่น การลดความซับซ้อนในการแนะนำนักพัฒนาใหม่สู่โครงการ และเพิ่มประสิทธิภาพของการทำงานร่วมกันของสมาชิกในทีมพัฒนา
ประการสุดท้าย การเขียนโค้ดและโครงสร้างอย่างถูกต้องเป็นสิ่งจำเป็นสำหรับกระบวนการพัฒนาซอฟต์แวร์ให้ดำเนินไปอย่างรวดเร็วที่สุด
อนุสัญญาว่าด้วยรหัสของ Oracle ได้รับการยอมรับว่าเป็นอนุสัญญาที่สำคัญที่สุดด้วยเหตุผลหลายประการ: อนุสัญญาของ Oracle เป็นอนุสัญญาที่เป็นทางการ เนื่องจาก Oracle เป็นเจ้าของ Java และเป็นอนุสัญญาที่เก่าแก่ที่สุด (การแก้ไขล่าสุดของเอกสารนี้จัดทำขึ้นเมื่อวันที่ 20 เมษายน 2542). บางส่วนที่สำคัญของ Java Code Convention ของ Oracle คือการแนะนำให้ใช้ตัวพิมพ์อูฐเมื่อกำหนดคลาส เมธอด หรือตัวแปร เพื่อเริ่มคลาสด้วยอักษรตัวใหญ่และใช้คำนามในการตั้งชื่อ ในขณะที่ใช้กริยาในรูปประโยคคำสั่งและการเริ่มต้น จากตัวพิมพ์เล็กสำหรับวิธีการและอื่น ๆ
รูปแบบการเขียนโค้ด Java จาก Google ถือว่ามีความสำคัญเนื่องจากสถานะของ Google ในฐานะบริษัทอินเทอร์เน็ตและเทคโนโลยีแห่งการเรียนรู้ที่มีประสบการณ์มหาศาลในการพัฒนาแอปพลิเคชัน Java ทุกประเภท เหตุผลสำคัญอีกประการหนึ่งคือความจริงที่ว่าข้อตกลงรหัส Java ของ Google ได้รับการอัปเดตเมื่อวันที่ 22 พฤษภาคม 2018 ซึ่งทำให้มีความเกี่ยวข้องมากกว่าข้อตกลงรหัสจาก Oracle โดยเฉพาะอย่างยิ่งเมื่อต้องอธิบายคุณลักษณะที่ค่อนข้างใหม่ของ Java ที่เผยแพร่เฉพาะในส่วน Java 8 ในปี 2014 เช่น lambdas และ streams ต่อไปนี้คือวิธีที่ผู้เขียน Java Style Guide ของ Google อธิบายเนื้อหาของรูปแบบการเขียนโค้ดนี้: “เอกสารนี้ทำหน้าที่เป็นคำจำกัดความที่สมบูรณ์ของมาตรฐานการเขียนโค้ดของ Google สำหรับซอร์สโค้ดในภาษาจาวา เช่นเดียวกับคู่มือสไตล์การเขียนโปรแกรมอื่นๆ ประเด็นต่างๆ ที่ครอบคลุมไม่เพียงแต่ประเด็นด้านความสวยงามของการจัดรูปแบบเท่านั้น แต่อนุสัญญาหรือมาตรฐานการเข้ารหัสประเภทอื่นๆ ก็เช่นกัน อย่างไรก็ตาม เอกสารนี้มุ่งเน้นไปที่กฎที่เข้มงวดและรวดเร็วที่เราปฏิบัติตามในระดับสากลเป็นหลัก และหลีกเลี่ยงการให้คำแนะนำที่ไม่สามารถบังคับใช้ได้อย่างชัดเจน (ไม่ว่าจะโดยมนุษย์หรือเครื่องมือ)” “คู่มือสไตล์ Java ของ Google เป็นข้อมูลอ้างอิงที่ดีสำหรับส่วนใหญ่ แต่บางหัวข้อก็อนุญาตเล็กน้อย ในทางกลับกัน ในฐานะโปรแกรมเมอร์ Java คุณต้องใช้ช่องว่าง 4 ช่องสำหรับการเยื้องโค้ด เหนือสิ่งอื่นใด” David Rios สถาปนิกซอฟต์แวร์และโปรแกรมเมอร์ Java ที่มีประสบการณ์กล่าวใน LinkedIn แต่อนุญาตเล็กน้อยในบางหัวข้อ ในทางกลับกัน ในฐานะโปรแกรมเมอร์ Java คุณต้องใช้ช่องว่าง 4 ช่องสำหรับการเยื้องโค้ด เหนือสิ่งอื่นใด” David Rios สถาปนิกซอฟต์แวร์และโปรแกรมเมอร์ Java ที่มีประสบการณ์กล่าวใน LinkedIn แต่อนุญาตเล็กน้อยในบางหัวข้อ ในทางกลับกัน ในฐานะโปรแกรมเมอร์ Java คุณต้องใช้ช่องว่าง 4 ช่องสำหรับการเยื้องโค้ด เหนือสิ่งอื่นใด” David Rios สถาปนิกซอฟต์แวร์และโปรแกรมเมอร์ Java ที่มีประสบการณ์กล่าวใน LinkedInโพสต์ด้วยการดัดแปลงที่เสนอให้ Google Java Style Guide ของเขาเอง
ข้อตกลงการเข้ารหัสคืออะไร?
แบบแผนการเขียนโค้ดคือชุดแนวทางปฏิบัติสำหรับภาษาโปรแกรมแต่ละภาษาพร้อมคำแนะนำเกี่ยวกับแง่มุมต่างๆ ของการพัฒนาซอฟต์แวร์ในภาษานี้ รวมถึงรูปแบบการเขียนโค้ด แนวปฏิบัติที่ดีที่สุด และวิธีการต่างๆ ข้อตกลงในการเขียนโค้ดควรปฏิบัติตามโดยโปรแกรมเมอร์ซอฟต์แวร์ที่เขียนโค้ดในภาษานี้เป็นแนวทางด้านคุณภาพเพื่อให้แน่ใจว่าโค้ดสามารถอ่านได้ และบุคคลอื่นสามารถบำรุงรักษาซอฟต์แวร์ได้อย่างเหมาะสม โดยทั่วไป ข้อตกลงในการเข้ารหัสจะครอบคลุมทุกองค์ประกอบที่สำคัญของการสร้างซอฟต์แวร์ในภาษาการเขียนโปรแกรมนี้ รวมถึงการจัดระเบียบไฟล์ การเยื้อง ข้อคิดเห็น การประกาศ ข้อความสั่ง พื้นที่สีขาว หลักการตั้งชื่อ วิธีปฏิบัติในการเขียนโปรแกรม หลักการเขียนโปรแกรม กฎการเขียนโปรแกรมเบื้องต้น แนวทางปฏิบัติที่ดีที่สุดทางสถาปัตยกรรม และอื่นๆ .จุดประสงค์ของการประชุมการเข้ารหัสคืออะไร?
มีเหตุผลหลายประการที่ทำให้รูปแบบการเข้ารหัสมีบทบาทสำคัญในการพัฒนาซอฟต์แวร์
- การรักษารูปแบบโค้ดแบบรวม
การทำตามแบบแผนการเขียนโค้ดทำให้โครงการซอฟต์แวร์สามารถเขียนในลักษณะที่เป็นเอกภาพเดียวได้ ซึ่งมีประโยชน์ในหลายๆ วิธีดังต่อไปนี้
- ลดต้นทุนการบำรุงรักษาซอฟต์แวร์
สิ่งที่สำคัญที่สุดประการหนึ่งคือการทำให้ง่ายต่อการบำรุงรักษาและสนับสนุนผลิตภัณฑ์ซอฟต์แวร์ เนื่องจากบ่อยครั้งมากที่ผู้เขียนดั้งเดิมของโปรแกรมไม่ใช่ผู้ที่สนับสนุน นี่เป็นสิ่งสำคัญเนื่องจาก 80% ของต้นทุนตลอดอายุการใช้งานของซอฟต์แวร์หนึ่งชิ้นจะไปที่การบำรุงรักษา
- ปรับปรุงความสามารถในการอ่านของซอฟต์แวร์
การปรับปรุงความสามารถในการอ่านของซอฟต์แวร์เป็นข้อดีที่สำคัญอีกประการหนึ่ง ซึ่งมีความหมายหลายประการ เช่น การลดความซับซ้อนในการแนะนำนักพัฒนาใหม่สู่โครงการ และเพิ่มประสิทธิภาพของการทำงานร่วมกันของสมาชิกในทีมพัฒนา
- เร่งงาน
ประการสุดท้าย การเขียนโค้ดและโครงสร้างอย่างถูกต้องเป็นสิ่งจำเป็นสำหรับกระบวนการพัฒนาซอฟต์แวร์ให้ดำเนินไปอย่างรวดเร็วที่สุด
ข้อตกลงการเข้ารหัส Java
เมื่อพูดถึง Java มีรูปแบบการเขียนโค้ดที่เป็นที่รู้จักและแพร่หลายมากที่สุด 2 แบบ ได้แก่แบบแผนการเขียนโค้ด Java ของ Oracleและแบบแผนการเขียนโค้ด Java Style Guide ของ Google
- อนุสัญญา Java Code ของ Oracle
อนุสัญญาว่าด้วยรหัสของ Oracle ได้รับการยอมรับว่าเป็นอนุสัญญาที่สำคัญที่สุดด้วยเหตุผลหลายประการ: อนุสัญญาของ Oracle เป็นอนุสัญญาที่เป็นทางการ เนื่องจาก Oracle เป็นเจ้าของ Java และเป็นอนุสัญญาที่เก่าแก่ที่สุด (การแก้ไขล่าสุดของเอกสารนี้จัดทำขึ้นเมื่อวันที่ 20 เมษายน 2542). บางส่วนที่สำคัญของ Java Code Convention ของ Oracle คือการแนะนำให้ใช้ตัวพิมพ์อูฐเมื่อกำหนดคลาส เมธอด หรือตัวแปร เพื่อเริ่มคลาสด้วยอักษรตัวใหญ่และใช้คำนามในการตั้งชื่อ ในขณะที่ใช้กริยาในรูปประโยคคำสั่งและการเริ่มต้น จากตัวพิมพ์เล็กสำหรับวิธีการและอื่น ๆ
- คู่มือสไตล์ Java ของ Google
รูปแบบการเขียนโค้ด Java จาก Google ถือว่ามีความสำคัญเนื่องจากสถานะของ Google ในฐานะบริษัทอินเทอร์เน็ตและเทคโนโลยีแห่งการเรียนรู้ที่มีประสบการณ์มหาศาลในการพัฒนาแอปพลิเคชัน Java ทุกประเภท เหตุผลสำคัญอีกประการหนึ่งคือความจริงที่ว่าข้อตกลงรหัส Java ของ Google ได้รับการอัปเดตเมื่อวันที่ 22 พฤษภาคม 2018 ซึ่งทำให้มีความเกี่ยวข้องมากกว่าข้อตกลงรหัสจาก Oracle โดยเฉพาะอย่างยิ่งเมื่อต้องอธิบายคุณลักษณะที่ค่อนข้างใหม่ของ Java ที่เผยแพร่เฉพาะในส่วน Java 8 ในปี 2014 เช่น lambdas และ streams ต่อไปนี้คือวิธีที่ผู้เขียน Java Style Guide ของ Google อธิบายเนื้อหาของรูปแบบการเขียนโค้ดนี้: “เอกสารนี้ทำหน้าที่เป็นคำจำกัดความที่สมบูรณ์ของมาตรฐานการเขียนโค้ดของ Google สำหรับซอร์สโค้ดในภาษาจาวา เช่นเดียวกับคู่มือสไตล์การเขียนโปรแกรมอื่นๆ ประเด็นต่างๆ ที่ครอบคลุมไม่เพียงแต่ประเด็นด้านความสวยงามของการจัดรูปแบบเท่านั้น แต่อนุสัญญาหรือมาตรฐานการเข้ารหัสประเภทอื่นๆ ก็เช่นกัน อย่างไรก็ตาม เอกสารนี้มุ่งเน้นไปที่กฎที่เข้มงวดและรวดเร็วที่เราปฏิบัติตามในระดับสากลเป็นหลัก และหลีกเลี่ยงการให้คำแนะนำที่ไม่สามารถบังคับใช้ได้อย่างชัดเจน (ไม่ว่าจะโดยมนุษย์หรือเครื่องมือ)” “คู่มือสไตล์ Java ของ Google เป็นข้อมูลอ้างอิงที่ดีสำหรับส่วนใหญ่ แต่บางหัวข้อก็อนุญาตเล็กน้อย ในทางกลับกัน ในฐานะโปรแกรมเมอร์ Java คุณต้องใช้ช่องว่าง 4 ช่องสำหรับการเยื้องโค้ด เหนือสิ่งอื่นใด” David Rios สถาปนิกซอฟต์แวร์และโปรแกรมเมอร์ Java ที่มีประสบการณ์กล่าวใน LinkedIn แต่อนุญาตเล็กน้อยในบางหัวข้อ ในทางกลับกัน ในฐานะโปรแกรมเมอร์ Java คุณต้องใช้ช่องว่าง 4 ช่องสำหรับการเยื้องโค้ด เหนือสิ่งอื่นใด” David Rios สถาปนิกซอฟต์แวร์และโปรแกรมเมอร์ Java ที่มีประสบการณ์กล่าวใน LinkedIn แต่อนุญาตเล็กน้อยในบางหัวข้อ ในทางกลับกัน ในฐานะโปรแกรมเมอร์ Java คุณต้องใช้ช่องว่าง 4 ช่องสำหรับการเยื้องโค้ด เหนือสิ่งอื่นใด” David Rios สถาปนิกซอฟต์แวร์และโปรแกรมเมอร์ Java ที่มีประสบการณ์กล่าวใน LinkedInโพสต์ด้วยการดัดแปลงที่เสนอให้ Google Java Style Guide ของเขาเอง
มาตรฐานการเข้ารหัส Java ที่ใช้มากที่สุด
ต่อไปนี้คือมาตรฐานการเข้ารหัส Java ที่ใช้กันมากที่สุดซึ่งสามารถพบได้ในข้อตกลงการเข้ารหัสที่กล่าวถึงข้างต้นจาก Oracle และ Google รวมถึงเอกสารประเภทนี้อื่นๆ- ปฏิบัติตามหลักการตั้งชื่อที่เหมาะสม
- เพิ่มความคิดเห็น;
- Identifier หมายถึงชื่อสัญลักษณ์ที่อ้างถึงชื่อของคลาส แพ็กเกจ เมธอด และตัวแปรในโปรแกรม Java
- ชื่อตัวแปรควรเกี่ยวข้องกับวัตถุประสงค์
- ชื่อของเมธอดควรเกี่ยวข้องกับการทำงานของเมธอด
- วิธีการไม่ควรมีมากกว่า 50 บรรทัด
- ไม่ควรมีรหัสซ้ำกันในคลาสเดียวกันหรือคลาสอื่น
- ประกาศตัวแปรส่วนกลางเฉพาะเมื่อจำเป็นเพื่อใช้ในเมธอดอื่น
- ตรวจสอบการสร้างตัวแปรสแตติกอีกครั้งภายในคลาส
- หลีกเลี่ยงการเข้าถึงตัวแปรโดยตรงจากคลาสอื่น แทนที่จะใช้วิธี getter และ setter
- ตรรกะทางธุรกิจทั้งหมดควรจัดการในคลาสบริการเท่านั้น
- รหัสที่เกี่ยวข้องกับ DB ทั้งหมดควรอยู่ในคลาส DAO เท่านั้น
- ใช้ตัวรับและตัวตั้ง
- ประกาศตัวแปรอินสแตนซ์เป็นส่วนตัว
- รักษาขอบเขตของตัวแปรให้น้อยที่สุด
- กำหนดชื่อที่มีความหมายให้กับตัวแปร
- หลีกเลี่ยงการรั่วไหลของหน่วยความจำโดยการปล่อยการเชื่อมต่อฐานข้อมูลเมื่อการสืบค้นเสร็จสิ้น
- พยายามใช้บล็อกสุดท้ายให้บ่อยที่สุดเท่าที่จะทำได้
- ใช้กรอบ Executor สำหรับการเขียนโปรแกรมแบบมัลติเธรด
GO TO FULL VERSION