الغرض من معايير كتابة التعليمات البرمجية هو تحقيق التوحيد في عملية البرمجة وتطوير عادات سلوكية جيدة لتطوير البرامج في المستقبل.
نطاق استخدام مواصفات كتابة التعليمات البرمجية: تطوير مشروع J2EE.
اصطلاح تسمية الحزمة:
الغرض: يجب أن تعكس اصطلاح تسمية الحزم تقسيمًا جيدًا لموارد المشروع
اصطلاح التسمية للحزمة التي توجد بها فئة servlet: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.web.servlet
على سبيل المثال: net.linkcn.web.servlet
اصطلاح التسمية للحزمة التي توجد بها فئة العلامة المخصصة: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.web.tags
على سبيل المثال: net.linkcn.web.tags
اصطلاح التسمية للحزمة التي توجد بها فئة التصفية: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.web.filter
على سبيل المثال: net.linkcn.web.filter
اصطلاح التسمية للحزمة التي توجد بها فئة الإجراء: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.web.struts.action
على سبيل المثال: net.linkcn.web.struts.action
اصطلاح التسمية للحزمة التي توجد بها فئة ActionForm: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.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: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.dao.impl
على سبيل المثال: net.linkcn.dao.impl
تحتوي الواجهة التي تنفذها فئة DAO على اصطلاح تسمية في الحزمة: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.داو
على سبيل المثال: net.linkcn.dao
اصطلاح التسمية للحزمة التي توجد بها فئة POJO وملفات hbm: اسم مجموعة التطوير.dao.hbm
على سبيل المثال: net.linkcn.dao.hbm
اصطلاح التسمية للحزمة التي توجد بها الفئات العامة العامة وفئات الواجهة: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.global
على سبيل المثال: net.linkcn.global
اصطلاح التسمية للحزمة التي توجد بها فئة الأداة العامة: اسم الشركة.اسم مجموعة التطوير.اسم المشروع.util
على سبيل المثال: net.linkcn.util
اصطلاح تسمية الفئة اصطلاح التسمية الأساسي:
اصطلاح تسمية الفئة والواجهة: ابدأ بحرف كبير إذا كانت هناك كلمات متعددة، فاكتب الحرف الأول من كل كلمة بحرف كبير على سبيل المثال: StudentInfo
اصطلاح تسمية الواجهة: ابدأ بالحرف الكبير "I"، وإذا كانت هناك كلمات متعددة، فاكتب الحرف الأول من كل كلمة بحرف كبير على سبيل المثال: IStudentInfo
تسمية فئة تنفيذ الواجهة:
اصطلاح التسمية: قم بإزالة الحرف الأول "I" من اسم الواجهة المطبقة وانتهى بـ "Impl". إذا كانت هناك كلمات متعددة، فاكتب الحرف الأول من كل كلمة بحرف كبير.
على سبيل المثال: StudentInfoImpl
اصطلاح تسمية إطار عمل J2EE+SSH
تسمية فئة servlet:
اصطلاح التسمية: ينتهي بكلمة Servlet، على سبيل المثال: LoginServlet
تسمية بوجو:
ما عليك سوى استخدام الفئات التي يتم إنشاؤها تلقائيًا بواسطة السبات
تسمية فئة DAO:
ما عليك سوى استخدام الفئات التي يتم إنشاؤها تلقائيًا بواسطة السبات
تسمية فئة العمل:
اصطلاح التسمية: تعتمد تسمية الإجراء على اسم POJO، واسم POJO Action
على سبيل المثال:
اسم POJO هو Diary، والإجراء المقابل له هو DiaryAction.
تسمية فئة ActionForm:
اصطلاح التسمية: يتم تحديد تسمية ActionForm بواسطة اسم POJO، واسم POJO Form
على سبيل المثال:
اسم POJO هو Diary، وactioForm المقابل له هو DiaryForm
تسمية واجهة منطق الأعمال:
اصطلاح التسمية: يتم تحديد تسمية واجهة منطق الأعمال بواسطة اسم POJO، واسم IPOJO هو الخدمة
على سبيل المثال:
اسم POJO هو Diary، وواجهة منطق الأعمال المقابلة له هي IDiaryService.
تسمية فئة تنفيذ منطق الأعمال:
اصطلاح التسمية: تعتمد تسمية فئة تنفيذ واجهة منطق الأعمال على اسم POJO، على سبيل المثال:
يُطلق على POJO اسم Diary، وتسمى فئة تنفيذ واجهة منطق الأعمال المقابلة DiaryServiceImpl.
تسمية متغيرات الفئة:
اصطلاح التسمية: يجب أن يكون الحرف الأول من اسم المتغير صغيرًا إذا كان اسم المتغير يتكون من كلمات متعددة، فيجب أن يكون الحرف الأول من الكلمات اللاحقة كبيرًا. لا تستخدم "_" لتوصيل الكلمات يجب أن يكون اسم المتغير خاصًا. يمكنك إضافة أساليب setter و getter.
على سبيل المثال: Private int StudentAge;
الباحث العام getStudentAge ()
{
عودة سن الطالب؛
}
مجموعة الفراغ العامStudentAge(int StudentAge)
{
this.studentAge=studentAge;
}
التسمية الثابتة:
اصطلاح التسمية: جميع الحروف مكتوبة بأحرف كبيرة، إذا كانت هناك كلمات متعددة، فيجب فصل الكلمات بعلامة "_". ويجب أن يكون المتغير من النوع العام والثابت والنهائي، على سبيل المثال: public static Final String USER_NAME=”userName”;
اصطلاح تسمية الطريقة: يجب أن يكون الحرف الأول صغيرًا إذا كان اسم المتغير يتكون من كلمات متعددة، فيجب أن يكون الحرف الأول من الكلمات التالية كبيرًا. لا تستخدم "_" لتوصيل الكلمات. لا تستخدم الأسماء للكلمات.
على سبيل المثال: public int checkLogin(String name,String pwd){}
مواصفات التعليقات التوضيحية: تعد مواصفات التعليقات التوضيحية أهم عنصر في مواصفات التطوير بأكملها ويجب تنفيذها بدقة.
ملاحظات الصف:
الوظيفة: قم بتعليق الفصل بأكمله وتوضيح وظيفة الفصل بإيجاز.
اصطلاح الكتابة: يجب كتابة التعليقات التوضيحية للفئة قبل بناء جملة الإعلان الخاص بالفئة. في التعليقات، قم بوصف الوظيفة الأساسية للفئة والمؤلف والتاريخ والإصدار واسم الشركة وبيان حقوق النشر.
شكل:
/* *
* وصف وظيفة الفصل: (وصف وظيفة الفصل تقريبًا)
* @author: اسم المؤلف
*
* @version: رقم إصدار ملف الفئة يبدأ من 1.0 (حدد إضافة وتغيير رقم الإصدار بنفسك)
*الحالة)، حالة التعديل (زمن التعديل، المؤلف، حالة التعديل)
*
* @انظر اسم الحزمة. اسم الفئة المرجعية (قائمة الفئات الرئيسية، تقديم الفئات، كل فئة تشغل سطرًا واحدًا)، إن وجدت
* يمكن الاستغناء عنها
* البيانات ذات الصلة مثل: (لتسهيل فهم بعض البيانات الثابتة لهذا الصنف وشكل بعض البيانات
* أو البيانات التي تعتبر مهمة، إذا لم تكن متوفرة يمكن حذفها)
*/
بناء جملة إعلان الفئة كما يلي:
/**
*
العنوان: فئة معالجة بيانات وحدة المسؤول
*
الوصف: إضافة رقمين
*
حقوق الطبع والنشر: حقوق الطبع والنشر (ج) 2007
*
الشركة: شركة هواتينج للبرمجيات
*
* @ المؤلف تونغ جينهو
*
* @version $Revision: 1.7 $ $التاريخ: 2007/07/08$
*/
مسؤول الطبقة العامة DAO
التعليقات المتغيرة والثابتة:
الوظيفة: صف بإيجاز معنى هذا المتغير.
معايير الكتابة: يجب كتابة تعليقات المتغير قبل تعريف المتغير، مع وصف معناه بإيجاز.
شكل:
/**
* وصف وظيفة المتغير: (وصف تقريبي لوظيفة المتغير)
*/
على سبيل المثال:
/**
* تحديد متغير العمر
*/
العمر العام؛
تعليقات الطريقة:
الوظيفة: وصف مختصر لوظيفة الطريقة، وشروح حول معنى معلماتها وقيم الإرجاع.
اصطلاح الكتابة: يجب كتابة تعليقات الطريقة قبل تعريف الطريقة. يتضمن التعليق التوضيحي: وصفًا موجزًا لوظيفة الطريقة، ووصفًا موجزًا لمعلمات الطريقة، ونوع قيمة الإرجاع، ومعنى قيمة الإرجاع.
شكل:
/**
*وصف وظيفة الطريقة
* @param args (يمكن كتابة نوع المعلمة بعد المعلمة أو يمكن حذفها
* محذوفة. تحتل كل معلمة سطرًا واحدًا)
*return معلمات الإخراج (مواقف متعددة مكتوبة على نفس السطر)
* @see class #reference الطريقة (الطرق المتعلقة باستدعاء هذه الطريقة هي للرجوع إليها
* بالنسبة للامتحانات، ليس من الضروري إدراج كل الطرق بالكامل، بل يجب عليك اختيار الطرق ذات المعنى.
*الطرق تشغل سطرًا واحدًا)
* @exception فئة معالجة الاستثناءات (الاستثناءات التي يمكن طرحها في الطريقة، كل منها
*الاستثناءات تشغل سطرًا واحدًا)
*/
على سبيل المثال:
/**
* تغيير كلمة مرور المسؤول
*param adminId رقم المسؤول
*param oldPassword كلمة المرور القديمة
* @param كلمة المرور كلمة المرور الجديدة
* @return boolean ما إذا كان التحرير ناجحًا
* @throws UserException
* @throws ServiceException
*/
booleaneditAdminPassword العامة (int adminId، String oldPassword،
كلمة مرور السلسلة) يطرح UserException، ServiceException؛
تسمية صفحة Jsp:
اصطلاح التسمية: يجب أن يبدأ اسم صفحة jsp بحرف صغير، وإذا كان يتكون من عدة كلمات، فيجب أن تبدأ الكلمات اللاحقة بحرف كبير. يجب أن يعكس الاسم معنى الصفحة ويفضل أن يكون مرتبطًا باسم الوحدة.
على سبيل المثال:
تسجيل الدخول.jsp - صفحة تسجيل الدخول
Register.jsp --صفحة التسجيل
message.jsp --صفحة رسائل العميل
مواصفات تنظيم مجلد مشروع المشروع J2EE:
الغرض: توحيد شكل تنظيم الموارد لتطبيقات الويب الخاصة بالطلاب وتكوين عادات جيدة لتنظيم الملفات. يجب أن يعكس تنظيم الوثيقة التقسيم إلى وحدات.
وفقًا لخصائص أداة Eclipse، فإن بنية دليل المشروع هي:
src
---- تخزين ملفات جافا
WebRoot
|--images --تخزين الصور العامة التي تتطلبها برامج الويب
|--css -- يقوم بتخزين أوراق الأنماط العامة التي تتطلبها برامج الويب
|--js --تخزين ملفات js العامة التي تتطلبها برامج الويب
|--commons --تخزين الملفات العامة التي تتطلبها برامج الويب
|--مجلد الوحدة الوظيفية (لتخزين الموارد المتعلقة بوحدة وظيفية معينة)
|--images - تخزين الصور المتعلقة بوحدة الوظيفة هذه
|--css --قم بتخزين ملفات ورقة الأنماط المتعلقة بهذه الوحدة
|--js --تخزين ملفات js المتعلقة بهذه الوحدة
|--صفحة jsp، HTML
|--ويب-INF
|--الفصول
|--ليب
|--ملف tld
مواصفات تقديم مشروع J2EE عند اكتمال المشروع، يجب تسليم المشروع إلى المستخدم كمنتج. تسمح المواصفات الجيدة لتنظيم المشروع للمستخدمين بالعثور بسهولة على الموارد اللازمة للمشروع، وهي أيضًا انعكاس لاحترافية الشركة. عند تقديم المشروع، يجب تقديمه بتنسيق الملف التالي.
المجلد الرئيسي للمشروع:
الوظيفة: تخزين ملفات الموارد الأخرى للمشروع.
اصطلاح التسمية: time_class number_group X.
على سبيل المثال: 070706_GS2T18_Group 4.
يتضمن المجلد الرئيسي للمشروع المجلدات والملفات التالية:
|--src: حفظ ملف جافا.
|--قاعدة البيانات: احفظ ملف البرنامج النصي أو ملف النسخ الاحتياطي لقاعدة البيانات.
|--المصدر: احفظ جميع الملفات في دليل WebRoot في مشروع Eclipse.
|--يعتمد: احفظ ملفات الجرة الأخرى التي يجب الاعتماد عليها لتجميع البرنامج.
|--javadoc: احفظ وثائق javadoc API التي تم إنشاؤها بواسطة جميع الفئات.
|--war: ملف أرشيفي لحفظ البرنامج
|--xx.war: تم تجميع ملف المشروع ويمكن تشغيله مباشرة.
|--المشروع: احفظ الكود الهندسي الأصلي وملفات مشروع التطوير.
|--دليل المنتج.doc: يوضح كيفية استخدام المنتج بالصور والنص.
|--build.xml: نص ant، يُستخدم لإنشاء ملفات الحرب قيد التشغيل.
|--شرح المشروع.ppt: ppt لشرح المشروع (ppt مخصص للاستخدام فقط في مشاريع المحاكاة المدرسية وليس لأغراض تجارية أخرى)
ملاحظة: في المشروع الكامل، يجب أن تحتوي قاعدة البيانات على قدر معين من بيانات الاختبار الصالحة لدعم تشغيل البرنامج.