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

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

Upload: vu-thao

Post on 18-Jul-2015

361 views

Category:

Technology


11 download

TRANSCRIPT

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

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

Page 2: 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

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

Quy cách đặt tên tệp, thư mục

Tên file đặt bằng tiếng anh, không dùngtiế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.

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

Quy định đối với file php

Các file PHP thông thường được mã hóa dạngANSI, các file PHP có chứa ngôn ngữ UTF-8 được mã hóa dạng UTF-8 without BOM hoặcUTF-8.

Các file PHP phải có định dạng UNIX (UNIX format).

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

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 ítnhất một dòng trống

Không được viết

<?php

// Some code here

?>

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

Quy định đối với file php

<?php

/**

* @Project NUKEVIET 3.x

* @Author VINADES.,JSC ([email protected])

* @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:

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

Quy định đối với file lang php

<?php

/**

* @Project NUKEVIET 3.0

* @Author VINADES.,JSC ([email protected])

* @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.

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

Quy định đối với file php

Các khối code không liên quan đến nhau nên đượcphân cách bởi một dòng trống và chỉ phân cách bởimộ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

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

Quy định đối với file php

Thụt đầu dòng bằng tab, không được thụt đầudò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

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

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áchSau if, else, while, foreach, for.. nên bắt đầu ngay với ( không nên đặt dấu cách

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

Đặ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ứcnă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 );

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

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

);

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

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ùngmộ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ặcsau đó 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

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

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

*/

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

Ghi chú (comment)

Để đúng chuẩn cần viết ghi chú ngắn gọn cho mỗi dòngbằ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ú */

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

Đố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;

}

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

Đố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;

}

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

Đố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>

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

Xin trân trọng cảm ơn!