Skip to content

Quy tắc viết mã nguồn OpenCPS

Truong Anh Tuan edited this page Mar 7, 2016 · 10 revisions

Đây là trang mô tả quy ước code theo chuẩn dự án OpenCPS!

1. Quy tắc đặt tên của dự án

Đối với gói (package)

Cách đặt tên gói cho một thành phần có tên module Tiền tố: org.opencps.module
Trong các mô đun ngoài các thành phần API được sinh theo chuẩn Liferay, các lớp UI được đặt vào 2 nhánh tương ứng Frontend < org.opencps.module.frontend và Backend org.opencps.module.backend
Cách đặt tên portlet sử dụng tiền tố opencps_module

Tất cả các ký tự tên của packet phải đưọc viết thường.

Ví dụ:

org.opencps.usermgt.dao -> Đúng
org.opencps.user_mgt.dao -> Sai
org.opencps.usermgt.Dao -> Sai 

Đối với lớp (class)

Tên của class đặt sử dụng theo cú pháp [Camel Case] (https://en.wikipedia.org/wiki/CamelCase). Sử dụng danh từ để đặt tên cho các class. Ví dụ:

class Customer
class Account

Interfaces: Có thế sử dụng cú pháp [Camel Case] (https://en.wikipedia.org/wiki/CamelCase).

Class = UserImpl, Interface = User

Đối với biến (Variables)

Đặt tên biến theo quy tắc mix case, viết thường ký hiệu đầu tiên của biến, và viết hoa ký tự tiếp theo. Ví dụ:

String firstName
int orderNumber

Đối với hằng (Constants)

2. Quy tắt viết code Java

3. Quy tắt viết code JSP

4. Quy tắc khai báo Import

5. Quy tắc quy cách trình bày code của dự án

6. Quy tắc sử dụng copyright

Ở đầu mỗi file mã nguồn, cần đưa thông tin mô tả giấy phép như sau:

OpenCPS is the open source Core Public Services software
Copyright (C) 2016-present OpenCPS community

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Clone this wiki locally