วัตถุประสงค์ของมาตรฐานการเขียนโค้ดคือการบรรลุมาตรฐานในกระบวนการเขียนโค้ด และพัฒนานิสัยพฤติกรรมที่ดีสำหรับการพัฒนาโปรแกรมในอนาคต
ขอบเขตการใช้ข้อกำหนดการเขียนโค้ด: การพัฒนาโครงการ J2EE
แบบแผนการตั้งชื่อแพ็คเกจ:
วัตถุประสงค์: แบบแผนการตั้งชื่อบรรจุภัณฑ์ควรสะท้อนถึงการแบ่งทรัพยากรโครงการที่ดี
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาสเซิร์ฟเล็ตอยู่: company name.development group name.project name.web.servlet
ตัวอย่างเช่น: net.linkcn.web.servlet
แบบแผนการตั้งชื่อสำหรับแพ็คเกจซึ่งมีคลาสแท็กแบบกำหนดเองอยู่: company name.development group name.project name.web.tags
ตัวอย่างเช่น: net.linkcn.web.tags
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาสตัวกรองอยู่: company name.development group name.project name.web.filter
ตัวอย่างเช่น: net.linkcn.web.filter
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาส Action อยู่: company name.development group name.project name.web.struts.action
ตัวอย่างเช่น: net.linkcn.web.struts.action
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาส ActionForm อยู่: company name.development group name.project name.web.struts.form
ตัวอย่างเช่น: net.linkcn.web.struts.form
แบบแผนการตั้งชื่อแพ็กเกจ Javabean: ชื่อกลุ่มการพัฒนา ชื่อโปรเจ็กต์ web.struts.service.impl
ตัวอย่างเช่น: net.linkcn.web.service.impl
หลักการตั้งชื่ออินเทอร์เฟซการใช้งาน Javabean: ชื่อบริษัท ชื่อกลุ่มการพัฒนา ชื่อโครงการ.web.service
ตัวอย่างเช่น: net.linkcn.web.service
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาส DAO อยู่: company name.development group name.project name.dao.impl
ตัวอย่างเช่น: net.linkcn.dao.impl
อินเทอร์เฟซที่ใช้งานโดยคลาส DAO มีหลักการตั้งชื่อในแพ็คเกจ: company name.development group name.project name.dao
ตัวอย่างเช่น: net.linkcn.dao
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาส POJO และไฟล์ hbm: ชื่อบริษัท ชื่อกลุ่มการพัฒนา
ตัวอย่างเช่น: net.linkcn.dao.hbm
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาสสาธารณะส่วนกลางและคลาสอินเตอร์เฟสอยู่: ชื่อบริษัท ชื่อกลุ่มการพัฒนา ชื่อโครงการ.global
ตัวอย่างเช่น: net.linkcn.global
แบบแผนการตั้งชื่อสำหรับแพ็คเกจที่มีคลาสเครื่องมือโกลบอลอยู่: company name.development group name.project name.util
ตัวอย่างเช่น: net.linkcn.util
แบบแผนการตั้งชื่อคลาส แบบแผนการตั้งชื่อพื้นฐาน:
รูปแบบการตั้งชื่อคลาสและอินเทอร์เฟซ: ขึ้นต้นด้วยตัวพิมพ์ใหญ่ หากมีหลายคำ ให้ขึ้นต้นด้วยตัวอักษรตัวแรกของแต่ละคำ เช่น StudentInfo
รูปแบบการตั้งชื่ออินเทอร์เฟซ: ขึ้นต้นด้วยอักษรตัวพิมพ์ใหญ่ "I" หากมีหลายคำ ให้ขึ้นต้นด้วยตัวอักษรตัวแรกของแต่ละคำ เช่น IStudentInfo
การตั้งชื่อคลาสการใช้งานอินเทอร์เฟซ:
แบบแผนการตั้งชื่อ: ลบตัวอักษรตัวแรก "I" ออกจากชื่ออินเทอร์เฟซที่นำไปใช้และลงท้ายด้วย "Impl" หากมีหลายคำ ให้เปลี่ยนอักษรตัวแรกของแต่ละคำให้เป็นตัวพิมพ์ใหญ่
ตัวอย่างเช่น StudentInfoImpl
แบบแผนการตั้งชื่อเฟรมเวิร์ก J2EE+SSH
การตั้งชื่อคลาสเซิร์ฟเล็ต:
แบบแผนการตั้งชื่อ: ลงท้ายด้วยคำว่า Servlet เช่น LoginServlet
การตั้งชื่อ POJO:
เพียงใช้คลาสที่สร้างโดยอัตโนมัติโดยไฮเบอร์เนต
การตั้งชื่อคลาส DAO:
เพียงใช้คลาสที่สร้างโดยอัตโนมัติโดยไฮเบอร์เนต
การตั้งชื่อคลาสการดำเนินการ:
แบบแผนการตั้งชื่อ: การตั้งชื่อการดำเนินการจะขึ้นอยู่กับชื่อ POJO ชื่อ POJO การดำเนินการ
ตัวอย่างเช่น:
ชื่อ POJO คือ Diary และการดำเนินการที่สอดคล้องกันคือ DiaryAction
การตั้งชื่อคลาส ActionForm:
แบบแผนการตั้งชื่อ: การตั้งชื่อ ActionForm จะถูกกำหนดโดยชื่อ POJO และแบบฟอร์มชื่อ POJO
ตัวอย่างเช่น:
ชื่อ POJO คือ Diary และ actioForm ที่เกี่ยวข้องคือ DiaryForm
การตั้งชื่ออินเทอร์เฟซตรรกะทางธุรกิจ:
แบบแผนการตั้งชื่อ: การตั้งชื่ออินเทอร์เฟซตรรกะทางธุรกิจถูกกำหนดโดยชื่อ POJO และชื่อ IPOJO คือบริการ
ตัวอย่างเช่น:
ชื่อ POJO คือ Diary และอินเทอร์เฟซตรรกะทางธุรกิจที่สอดคล้องกันคือ IDiaryService
การตั้งชื่อคลาสการใช้งานตรรกะทางธุรกิจ:
แบบแผนการตั้งชื่อ: การตั้งชื่อคลาสการใช้งานอินเทอร์เฟซตรรกะทางธุรกิจจะขึ้นอยู่กับชื่อ POJO ตัวอย่างเช่น:
POJO มีชื่อว่า Diary และคลาสการใช้งานอินเทอร์เฟซตรรกะทางธุรกิจที่สอดคล้องกันมีชื่อว่า DiaryServiceImpl
การตั้งชื่อตัวแปรคลาส:
แบบแผนการตั้งชื่อ: ตัวอักษรตัวแรกของชื่อตัวแปรจะต้องเป็นตัวพิมพ์เล็ก หากชื่อตัวแปรประกอบด้วยคำหลายคำ ตัวอักษรตัวแรกของคำที่ตามมาจะต้องเป็นตัวพิมพ์ใหญ่ ชื่อตัวแปรจะต้องเป็นส่วนตัว คุณสามารถเพิ่มเมธอด setter และ getter ได้
ตัวอย่างเช่น: int StudentAge ส่วนตัว;
สาธารณะ int getStudentAge()
-
กลับนักเรียนอายุ;
-
โมฆะสาธารณะ setStudentAge (int StudentAge)
-
this.studentAge=studentAge;
-
การตั้งชื่อคงที่:
แบบแผนการตั้งชื่อ: ตัวอักษรทั้งหมดเป็นตัวพิมพ์ใหญ่ หากมีหลายคำ ควรคั่นคำด้วย "_" และตัวแปรจะต้องเป็นสาธารณะ คงที่ ชนิดสุดท้าย ตัวอย่างเช่น: สตริงสุดท้ายแบบคงที่สาธารณะ USER_NAME=”ชื่อผู้ใช้”;
รูปแบบการตั้งชื่อเมธอด: ตัวอักษรตัวแรกจะต้องเป็นตัวพิมพ์เล็ก หากชื่อตัวแปรประกอบด้วยคำหลายคำ ตัวอักษรตัวแรกของคำต่อไปนี้ควรเป็นตัวพิมพ์ใหญ่ อย่าใช้ "_" เพื่อเชื่อมคำต่างๆ อย่าใช้คำนามสำหรับคำ
ตัวอย่างเช่น: public int checkLogin(ชื่อสตริง,สตริง pwd){}
ข้อกำหนดคำอธิบายประกอบ: ข้อกำหนดคำอธิบายประกอบเป็นองค์ประกอบที่สำคัญที่สุดของข้อกำหนดการพัฒนาทั้งหมด และต้องปฏิบัติตามอย่างเคร่งครัด
หมายเหตุในชั้นเรียน:
ฟังก์ชั่น: ใส่คำอธิบายประกอบทั้งชั้นเรียนและสรุปฟังก์ชันของชั้นเรียนโดยย่อ
แบบแผนการเขียน: คำอธิบายประกอบในชั้นเรียนจะต้องเขียนก่อนไวยากรณ์การประกาศของชั้นเรียน ในความคิดเห็น ให้อธิบายฟังก์ชันพื้นฐานของคลาส ผู้แต่ง วันที่ เวอร์ชัน ชื่อบริษัท และคำชี้แจงลิขสิทธิ์
รูปแบบ:
-
* คำอธิบายฟังก์ชันคลาส: (อธิบายฟังก์ชันของคลาสโดยประมาณ)
* @author: ชื่อผู้เขียน
-
* @version: หมายเลขเวอร์ชันของไฟล์คลาสเริ่มต้นที่ 1.0 (กำหนดการเพิ่มและเปลี่ยนหมายเลขเวอร์ชันด้วยตนเอง
* สถานการณ์) สถานะการแก้ไข (เวลาแก้ไข ผู้เขียน สถานะการแก้ไข)
-
* @see ชื่อคลาสอ้างอิง (แสดงรายการคลาสพาเรนต์, แนะนำคลาส, แต่ละคลาสใช้หนึ่งบรรทัด) ถ้ามี
*สามารถละเว้นได้
* ข้อมูลที่เกี่ยวข้อง เช่น: (เพื่ออำนวยความสะดวกในการทำความเข้าใจข้อมูลคงที่ของคลาสนี้และรูปแบบของข้อมูลบางส่วน
* หรือข้อมูลที่ถือว่าสำคัญหากไม่มีก็สามารถละเว้นได้)
-
ไวยากรณ์การประกาศคลาสมีดังนี้:
-
-
ชื่อเรื่อง:คลาสการประมวลผลข้อมูลโมดูลผู้ดูแลระบบ
-
คำอธิบาย : บวกตัวเลขสองตัว
-
ลิขสิทธิ์: ลิขสิทธิ์ (c) 2007
-
บริษัท:บริษัทซอฟต์แวร์หัวเต็ง
-
* @ผู้เขียน ตง จินหู
-
* @version $ ฉบับปรับปรุง: 1.7 $ $ วันที่: 2007/07/08$
-
AdminDAO คลาสสาธารณะ
ความคิดเห็นที่แปรผันและคงที่:
ฟังก์ชั่น: อธิบายความหมายของตัวแปรนี้โดยสังเขป
มาตรฐานการเขียน: ข้อคิดเห็นของตัวแปรจะต้องเขียนก่อนคำจำกัดความของตัวแปร โดยอธิบายโดยย่อถึงความหมายของตัวแปร
รูปแบบ:
-
* คำอธิบายฟังก์ชันตัวแปร: (อธิบายฟังก์ชันของตัวแปรโดยประมาณ)
-
ตัวอย่างเช่น:
-
*กำหนดตัวแปรอายุ
-
อายุสาธารณะ;
ความคิดเห็นวิธีการ:
ฟังก์ชัน: คำอธิบายโดยย่อเกี่ยวกับฟังก์ชันของเมธอด คำอธิบายประกอบเกี่ยวกับความหมายของพารามิเตอร์ และค่าที่ส่งคืน
แบบแผนการเขียน: ความคิดเห็นของวิธีการจะต้องเขียนก่อนคำจำกัดความของวิธีการ คำอธิบายประกอบด้วย: คำอธิบายโดยย่อเกี่ยวกับฟังก์ชันของเมธอด คำอธิบายโดยย่อของพารามิเตอร์ของเมธอด ประเภทของค่าที่ส่งคืน และความหมายของค่าที่ส่งคืน
รูปแบบ:
-
*คำอธิบายฟังก์ชันวิธีการ
* @param args (ประเภทพารามิเตอร์สามารถเขียนไว้หลังพารามิเตอร์ หรือละเว้นก็ได้
* ละเว้น แต่ละพารามิเตอร์ครอบครองหนึ่งบรรทัด)
* พารามิเตอร์เอาต์พุต @return (หลายสถานการณ์เขียนในบรรทัดเดียวกัน)
* @see class #reference method (วิธีการที่เกี่ยวข้องกับการเรียกเมธอดนี้ใช้สำหรับการอ้างอิง
* การสอบไม่จำเป็นต้องระบุทุกวิธีให้ครบถ้วน แต่ต้องเลือกวิธีที่มีความหมาย
*วิธีการครอบครองหนึ่งบรรทัด)
* คลาสการจัดการข้อยกเว้น @Exception (ข้อยกเว้นที่สามารถโยนทิ้งในเมธอดแต่ละรายการได้
*ข้อยกเว้นครอบครองหนึ่งบรรทัด)
-
ตัวอย่างเช่น:
-
* เปลี่ยนรหัสผ่านผู้ดูแลระบบ
* @param adminId หมายเลขผู้ดูแลระบบ
* @param oldPassword รหัสผ่านเก่า
* @param รหัสผ่าน รหัสผ่านใหม่
* @return boolean ว่าการแก้ไขสำเร็จหรือไม่
* @พ่น UserException
* @พ่น ServiceException
-
บูลีนสาธารณะแก้ไขผู้ดูแลระบบรหัสผ่าน (int adminId,สตริง oldPassword,
รหัสผ่านสตริง) ส่ง UserException, ServiceException;
การตั้งชื่อเพจ Jsp:
รูปแบบการตั้งชื่อ: ชื่อเพจ jsp ควรขึ้นต้นด้วยอักษรตัวพิมพ์เล็ก หากประกอบด้วยคำหลายคำ คำที่ตามมาควรขึ้นต้นด้วยอักษรตัวพิมพ์ใหญ่ ชื่อควรสะท้อนถึงความหมายของหน้าและควรเชื่อมโยงกับชื่อโมดูล
ตัวอย่างเช่น:
login.jsp --หน้าเข้าสู่ระบบ
register.jsp --หน้าการลงทะเบียน
message.jsp --หน้าข้อความของลูกค้า
ข้อกำหนดองค์กรโฟลเดอร์โครงการโครงการ J2EE:
วัตถุประสงค์: เพื่อสร้างมาตรฐานรูปแบบการจัดระเบียบทรัพยากรของเว็บแอปพลิเคชันของนักเรียน และสร้างนิสัยที่ดีในการจัดระเบียบไฟล์ การจัดระเบียบเอกสารควรสะท้อนถึงการแบ่งออกเป็นโมดูล
ตามคุณสมบัติของเครื่องมือ eclipse โครงสร้างไดเร็กทอรีของโปรเจ็กต์คือ:
src
---- การจัดเก็บไฟล์ Java
เว็บรูท
|--images --เก็บภาพสาธารณะที่จำเป็นสำหรับโปรแกรมเว็บ
|--css -- จัดเก็บสไตล์ชีทสาธารณะที่จำเป็นสำหรับโปรแกรมเว็บ
|--js --จัดเก็บไฟล์ js สาธารณะที่จำเป็นสำหรับโปรแกรมเว็บ
|--commons --จัดเก็บไฟล์สาธารณะที่จำเป็นสำหรับโปรแกรมเว็บ
|--โฟลเดอร์โมดูลฟังก์ชัน (เพื่อจัดเก็บทรัพยากรที่เกี่ยวข้องกับโมดูลฟังก์ชันบางอย่าง)
|--images --จัดเก็บรูปภาพที่เกี่ยวข้องกับโมดูลฟังก์ชันนี้
|--css --จัดเก็บไฟล์สไตล์ชีตที่เกี่ยวข้องกับโมดูลนี้
|--js --จัดเก็บไฟล์ js ที่เกี่ยวข้องกับโมดูลนี้
|--หน้า jsp, html
|--เว็บ-INF
|--ชั้นเรียน
|--lib
|--ไฟล์ tld
ข้อกำหนดในการยื่นโครงการ J2EE เมื่อโครงการเสร็จสิ้น จะต้องส่งมอบโครงการให้กับผู้ใช้เป็นผลิตภัณฑ์ ข้อกำหนดการจัดโครงการที่ดีช่วยให้ผู้ใช้สามารถค้นหาทรัพยากรที่จำเป็นสำหรับโครงการได้อย่างง่ายดาย และยังสะท้อนถึงความเป็นมืออาชีพของบริษัทอีกด้วย ในการส่งโครงการจะต้องส่งในรูปแบบไฟล์ดังต่อไปนี้
โฟลเดอร์หลักของโครงการ:
ฟังก์ชัน: จัดเก็บไฟล์ทรัพยากรอื่นๆ ของโครงการ
แบบแผนการตั้งชื่อ: time_class number_group X
ตัวอย่างเช่น: 070706_GS2T18_กลุ่ม 4
โฟลเดอร์หลักของโปรเจ็กต์ประกอบด้วยโฟลเดอร์และไฟล์ต่อไปนี้:
|--src: บันทึกไฟล์ .java
|--ฐานข้อมูล: บันทึกไฟล์สคริปต์หรือไฟล์สำรองฐานข้อมูลของฐานข้อมูล
|--source: บันทึกไฟล์ทั้งหมดในไดเร็กทอรี WebRoot ในโปรเจ็กต์ eclipse
|--ขึ้นอยู่กับ: บันทึกไฟล์ jar อื่น ๆ ที่ต้องใช้ในการคอมไพล์โปรแกรม
|--javadoc: บันทึกเอกสาร javadoc api ที่สร้างโดยคลาสทั้งหมด
|--war: ไฟล์เก็บถาวรสำหรับบันทึกโปรแกรม
|--xx.war: ไฟล์โปรเจ็กต์ได้รับการแพ็กเกจแล้วและสามารถเรียกใช้ได้โดยตรง
|--โครงการ: บันทึกรหัสทางวิศวกรรมดั้งเดิมและไฟล์ของโครงการพัฒนา
|--Product manual.doc: แสดงวิธีใช้ผลิตภัณฑ์ในรูปและข้อความ
|--build.xml: สคริปต์ ant ใช้เพื่อสร้างไฟล์ war ที่กำลังรันอยู่
|--Project description.ppt: ppt สำหรับคำอธิบายโครงการ (ppt มีไว้เพื่อใช้ในโครงการจำลองสถานการณ์ของโรงเรียนเท่านั้น ไม่ใช่เพื่อวัตถุประสงค์เชิงพาณิชย์อื่น ๆ)
หมายเหตุ: ในโปรเจ็กต์ที่สมบูรณ์ ฐานข้อมูลจะต้องมีข้อมูลทดสอบที่ถูกต้องจำนวนหนึ่งเพื่อรองรับการทำงานของโปรแกรม