SlideShare a Scribd company logo
Các quy định & chuẩn
trong lập trình NukeViet
Quy định và chuẩn lập trình
Javascript
NukeViet
CSS
HTML (tpl)
PHP
Quy cách đặt tên tệp, thư mục
Tên file đặt bằng tiếng anh, không dùng
tiếng việt.
Đặt tên dựa vào chức năng của file.
Tên file dùng chữ thường, bao gồm chữ
cái (a-z), số (0-9), dấu gạch ngang (-) và
dấu gạch dưới (_).
Tên file chỉ bắt đầu bằng chữ cái.
Quy định đối với file php
Các file PHP thông thường được mã hóa dạng
ANSI, các file PHP có chứa ngôn ngữ UTF-8
được mã hóa dạng UTF-8 without BOM hoặc
UTF-8.
Các file PHP phải có định dạng UNIX
(UNIX format).
Quy định đối với file php
Ví dụ
<?php
// Some code here
?>
File PHP mở đầu bằng <? php và kết thúc bằng ?>
Giữa chúng phân cách với nội dung bằng ít
nhất một dòng trống
Không được viết
<?php
// Some code here
?>
Quy định đối với file php
<?php
/**
* @Project NUKEVIET 3.x
* @Author VINADES.,JSC (contact@vinades.vn)
* @Copyright (C) 2010 VINADES.,JSC. All rights reserved
* @Createdate 12/3/2012, 1:2
*/
// Some code here
?>
Sau <?php, mỗi file cần được bắt đầu bằng mô tả
theo dạng chung:
Quy định đối với file lang php
<?php
/**
* @Project NUKEVIET 3.0
* @Author VINADES.,JSC (contact@vinades.vn)
* @Copyright (C) 2010 VINADES.,JSC. All rights reserved
* @Language Tiếng Việt
* @Createdate Jul 06, 2011, 04:38:01 PM
*/
// Some code here
?>
Ta thêm thông tin ngôn ngữ Language bên
dưới thông tin về bản quyền.
Quy định đối với file php
Các khối code không liên quan đến nhau nên được
phân cách bởi một dòng trống và chỉ phân cách bởi
một dòng duy nhất
$array['score'] = $array['score'] ? $array['score'] : "";
$array['time'] = $array['time'] ? $array['time'] : "";
$array['size'] = $array['size'] ? $array['size'] : "";
$xtpl->assign( 'LANG', $lang_module );
$xtpl->assign( 'GLANG', $lang_global ); 1 dòng
Quy định đối với file php
Thụt đầu dòng bằng tab, không được thụt đầu
dòng bằng kí tự trống hoặc bỏ qua thụt đầu dòng
foreach( $list_actor as $actor )
{
$xtpl->assign( 'actor', $actor );
$xtpl->parse( 'main.actor' );
}
1 Tab
Khoảng cách giữa các kí tự
Đặt trước và sau kí tự = dấu cách
Đặt sau ( một dấu cách
Đặt sau dấu , một dấu cách
Sau if, else, while, foreach, for.. nên bắt đầu ngay
với ( không nên đặt dấu cách
Đặt tên biến
Các biến tạm nên bắt đầu bằng _ ví dụ $_tmp, $_title.
Tên biến không quá ngắn cũng không quá dài, mô tả
đúng chức năng của biến.
Sử dụng cùng tên biến đối với những câu lệnh cùng chức
năng (nếu có thể) ví dụ truy vấn sql dùng
$sql = "SELECT COUNT(*) FROM `" . NV_AUTHORS_GLOBALTABLE .
"` WHERE `admin_id`=" . $userid;
Hay
$result = $db->sql_query( $sql );
$row = $db->sql_fetchrow( $result );
Array
Nếu mảng ngắn từ một đến hai phần tử ta viết
$array = array( 'id' => $id, 'title' => $title );
Nếu dài hơn ta phải viết
$array = array(
'id' => $id,
'title' => $title
);
Đối với mảng nhiều chiều ta viết
$array = array(
'id' => array(
'content' => array(
'sub' => $sub,
'cat' => $cat
),
),
'title' => $title
);
Các vòng lặp if, else, while, for…
Nếu sau if chỉ có một câu lệnh ngắn ta viết câu lệnh cùng
một dòng với if if( $i > 0 ) die( 'Error!!!' );
Nếu sau if có nhiều hơn một câu lệnh, câu lệnh quá dài hoặc
sau đó có else ta phải xuống hàng bởi {
if( $title > 200 )
{
echo( 'Tieu de qua lon' );
}
else
{
echo( 'Tieu de hop le' );
}
Không được để kí tự { và } ngang hàng với if, else, for, while
function, class
Một hàm phải có mô tả bên trên Tương tự cho một lớp (class)
/**
* nv_is_blocker_proxy()
*
* @param string $is_proxy
* @param integer $proxy_blocker
* @return
*/
function nv_is_blocker_proxy(
$is_proxy, $proxy_blocker )
/**
* NVbuffer
*
* @package NukeViet
* @author VINADES.,JSC
* @copyright 2012
* @version 3.3
* @access public
*/
Ghi chú (comment)
Để đúng chuẩn cần viết ghi chú ngắn gọn cho mỗi dòng
bằng // và không dùng /* */ hay #
Ví dụ: Dùng
// Ghi chú
Không dùng
# Ghi chú
Không dùng
/* Ghi chú */
Đối với các file JS
Áp dụng chuẩn của các file php
Đặt { ngay sau các lệnh.
if( a == 0 ){
a = 1;
}
Đặt else if ngay sau kí tự }
if( a == 0 ){
a = 1;
}else if( a == -1 ){
break;
}
Đối với file CSS
Định dạng theo kiểu nhiều hàng.
#header #mainNav {
height: 35px; line-height: 35px;
position: relative;
border-top: 1px solid #89cce1;
border-bottom: 1px solid #89cce1;
margin: 17px 0px 20px 0px;
background: #cde9f2;
}
Đối với file html (tpl)
Các thẻ có nội dung ngắn nên để một dòng
Thẻ con được thụt đầu dòng 1 tab so với thẻ cha
Hạn chế tối đa viết trực tiếp CSS vào thẻ html.
<div class="booked-info">
<div class="t">{LANG.avaiable}</div>
<div class="i green"></div>
</div>
<span>{DATA.infomation}</span>
Xin trân trọng cảm ơn!

More Related Content

PPT
Php Csdlweb06
DOCX
Cấu trúc cơ bản
PPTX
Các hàm thông dụng có sẵn trong php
PDF
ShellProgramming
PDF
9 bash
PPTX
Dữ liệu mảng (array)
PPT
Php02 ngon nguphp
PPTX
Hàm (function)
Php Csdlweb06
Cấu trúc cơ bản
Các hàm thông dụng có sẵn trong php
ShellProgramming
9 bash
Dữ liệu mảng (array)
Php02 ngon nguphp
Hàm (function)

What's hot (14)

PPTX
Các kiểu dữ liệu (data type)
PPTX
Class và object (lớp và đối tượng
PDF
Tai lieu huong_dan_ve_lap_trinh_php_7512
PDF
209 008 ky thuat truy xuat file ini
PPTX
Toán tử thông dụng
PDF
Cac lenh linux_co_ban
PDF
8 filter
DOCX
PDF
Quản lý tiến trình
PDF
Phong cach lap trinh c++
DOC
Các lệnh shell cơ bản trong linux
PPTX
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
PDF
Web301 slide 3
PDF
Các kiểu dữ liệu (data type)
Class và object (lớp và đối tượng
Tai lieu huong_dan_ve_lap_trinh_php_7512
209 008 ky thuat truy xuat file ini
Toán tử thông dụng
Cac lenh linux_co_ban
8 filter
Quản lý tiến trình
Phong cach lap trinh c++
Các lệnh shell cơ bản trong linux
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
Web301 slide 3
Ad

Similar to Các quy định& chuẩn trong lập trình NukeViet (20)

PDF
Lập trình Shell 1.pdf
PPTX
python3.pptx
PDF
9 bash
DOC
Tai lieu-php-coding-standard
PDF
8 filter
PDF
Hop ngu mips
PDF
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
PDF
Phong cach lap trinh c++
PDF
1-Tong quan ve Java.pdfdqwdqwdqwdqwdqwdqwd
PDF
lap trinh assembly cho VXL
PDF
Chuong07 php
PDF
Ch assembly
DOCX
PHP Regular expressions
PDF
Hướng dẫn lập_trình_avr
PPTX
introduction to java script, history, functionalities
PDF
linux_huongdanthuchanh
DOCX
PMMNM.docx
PPT
Java Tieng Viet
DOC
Core java 3
 
PPT
Python for the rest of life
Lập trình Shell 1.pdf
python3.pptx
9 bash
Tai lieu-php-coding-standard
8 filter
Hop ngu mips
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
Phong cach lap trinh c++
1-Tong quan ve Java.pdfdqwdqwdqwdqwdqwdqwd
lap trinh assembly cho VXL
Chuong07 php
Ch assembly
PHP Regular expressions
Hướng dẫn lập_trình_avr
introduction to java script, history, functionalities
linux_huongdanthuchanh
PMMNM.docx
Java Tieng Viet
Core java 3
 
Python for the rest of life
Ad

Các quy định& chuẩn trong lập trình NukeViet

  • 1. Các quy định & chuẩn trong lập trình NukeViet
  • 2. Quy định và chuẩn lập trình Javascript NukeViet CSS HTML (tpl) PHP
  • 3. Quy cách đặt tên tệp, thư mục Tên file đặt bằng tiếng anh, không dùng tiếng việt. Đặt tên dựa vào chức năng của file. Tên file dùng chữ thường, bao gồm chữ cái (a-z), số (0-9), dấu gạch ngang (-) và dấu gạch dưới (_). Tên file chỉ bắt đầu bằng chữ cái.
  • 4. Quy định đối với file php Các file PHP thông thường được mã hóa dạng ANSI, các file PHP có chứa ngôn ngữ UTF-8 được mã hóa dạng UTF-8 without BOM hoặc UTF-8. Các file PHP phải có định dạng UNIX (UNIX format).
  • 5. Quy định đối với file php Ví dụ <?php // Some code here ?> File PHP mở đầu bằng <? php và kết thúc bằng ?> Giữa chúng phân cách với nội dung bằng ít nhất một dòng trống Không được viết <?php // Some code here ?>
  • 6. Quy định đối với file php <?php /** * @Project NUKEVIET 3.x * @Author VINADES.,JSC (contact@vinades.vn) * @Copyright (C) 2010 VINADES.,JSC. All rights reserved * @Createdate 12/3/2012, 1:2 */ // Some code here ?> Sau <?php, mỗi file cần được bắt đầu bằng mô tả theo dạng chung:
  • 7. Quy định đối với file lang php <?php /** * @Project NUKEVIET 3.0 * @Author VINADES.,JSC (contact@vinades.vn) * @Copyright (C) 2010 VINADES.,JSC. All rights reserved * @Language Tiếng Việt * @Createdate Jul 06, 2011, 04:38:01 PM */ // Some code here ?> Ta thêm thông tin ngôn ngữ Language bên dưới thông tin về bản quyền.
  • 8. Quy định đối với file php Các khối code không liên quan đến nhau nên được phân cách bởi một dòng trống và chỉ phân cách bởi một dòng duy nhất $array['score'] = $array['score'] ? $array['score'] : ""; $array['time'] = $array['time'] ? $array['time'] : ""; $array['size'] = $array['size'] ? $array['size'] : ""; $xtpl->assign( 'LANG', $lang_module ); $xtpl->assign( 'GLANG', $lang_global ); 1 dòng
  • 9. Quy định đối với file php Thụt đầu dòng bằng tab, không được thụt đầu dòng bằng kí tự trống hoặc bỏ qua thụt đầu dòng foreach( $list_actor as $actor ) { $xtpl->assign( 'actor', $actor ); $xtpl->parse( 'main.actor' ); } 1 Tab
  • 10. Khoảng cách giữa các kí tự Đặt trước và sau kí tự = dấu cách Đặt sau ( một dấu cách Đặt sau dấu , một dấu cách Sau if, else, while, foreach, for.. nên bắt đầu ngay với ( không nên đặt dấu cách
  • 11. Đặt tên biến Các biến tạm nên bắt đầu bằng _ ví dụ $_tmp, $_title. Tên biến không quá ngắn cũng không quá dài, mô tả đúng chức năng của biến. Sử dụng cùng tên biến đối với những câu lệnh cùng chức năng (nếu có thể) ví dụ truy vấn sql dùng $sql = "SELECT COUNT(*) FROM `" . NV_AUTHORS_GLOBALTABLE . "` WHERE `admin_id`=" . $userid; Hay $result = $db->sql_query( $sql ); $row = $db->sql_fetchrow( $result );
  • 12. Array Nếu mảng ngắn từ một đến hai phần tử ta viết $array = array( 'id' => $id, 'title' => $title ); Nếu dài hơn ta phải viết $array = array( 'id' => $id, 'title' => $title ); Đối với mảng nhiều chiều ta viết $array = array( 'id' => array( 'content' => array( 'sub' => $sub, 'cat' => $cat ), ), 'title' => $title );
  • 13. Các vòng lặp if, else, while, for… Nếu sau if chỉ có một câu lệnh ngắn ta viết câu lệnh cùng một dòng với if if( $i > 0 ) die( 'Error!!!' ); Nếu sau if có nhiều hơn một câu lệnh, câu lệnh quá dài hoặc sau đó có else ta phải xuống hàng bởi { if( $title > 200 ) { echo( 'Tieu de qua lon' ); } else { echo( 'Tieu de hop le' ); } Không được để kí tự { và } ngang hàng với if, else, for, while
  • 14. function, class Một hàm phải có mô tả bên trên Tương tự cho một lớp (class) /** * nv_is_blocker_proxy() * * @param string $is_proxy * @param integer $proxy_blocker * @return */ function nv_is_blocker_proxy( $is_proxy, $proxy_blocker ) /** * NVbuffer * * @package NukeViet * @author VINADES.,JSC * @copyright 2012 * @version 3.3 * @access public */
  • 15. Ghi chú (comment) Để đúng chuẩn cần viết ghi chú ngắn gọn cho mỗi dòng bằng // và không dùng /* */ hay # Ví dụ: Dùng // Ghi chú Không dùng # Ghi chú Không dùng /* Ghi chú */
  • 16. Đối với các file JS Áp dụng chuẩn của các file php Đặt { ngay sau các lệnh. if( a == 0 ){ a = 1; } Đặt else if ngay sau kí tự } if( a == 0 ){ a = 1; }else if( a == -1 ){ break; }
  • 17. Đối với file CSS Định dạng theo kiểu nhiều hàng. #header #mainNav { height: 35px; line-height: 35px; position: relative; border-top: 1px solid #89cce1; border-bottom: 1px solid #89cce1; margin: 17px 0px 20px 0px; background: #cde9f2; }
  • 18. Đối với file html (tpl) Các thẻ có nội dung ngắn nên để một dòng Thẻ con được thụt đầu dòng 1 tab so với thẻ cha Hạn chế tối đa viết trực tiếp CSS vào thẻ html. <div class="booked-info"> <div class="t">{LANG.avaiable}</div> <div class="i green"></div> </div> <span>{DATA.infomation}</span>
  • 19. Xin trân trọng cảm ơn!