Công cụ thành viên

Công cụ trang web


programming:rule

Khác biệt

Đây là những khác biệt giữa hai phiên bản của trang.

Liên kết đến bản xem so sánh này

Phiên bản trước của cả hai bênPhiên bản trước
Phiên bản sau
Phiên bản trước
Phiên bản sauPhiên bản sau của cả hai bên
programming:rule [2016/06/16 10:45] – [Khoảng cách giữa các dòng] hoaquynhtim99programming:rule [2016/06/16 10:54] – [Array] hoaquynhtim99
Dòng 50: Dòng 50:
 Ta thêm thông tin ngôn ngữ Language bên dưới thông tin về bản quyền. Ta thêm thông tin ngôn ngữ Language bên dưới thông tin về bản quyền.
  
-==== Chuẩn định dạng các file PHP ====+===== Chuẩn định dạng các file PHP ====
 + 
 +NukeViet áp dụng chuẩn định dạng code [[http://www.php-fig.org/psr/psr-2/|PSR-2]], mọi quy các áp dụng có thể xem tại đó. 
 + 
 +Xem bản dịch Tiếng Việt của tài liệu trên: https://github.com/nukeviet/fig-standards/blob/master/accepted/vi/PSR-2-coding-style-guide.md
  
-===== 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 <code php>$title, $module_content</code> 
-  * 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 <code php>$sql = "SELECT COUNT(*) FROM `" . NV_AUTHORS_GLOBALTABLE . "` WHERE `admin_id`=" . $userid;</code> 
-    * Hay <code php>$result = $db->sql_query( $sql );</code> <code php>$row = $db->sql_fetchrow( $result );</code> 
 ===== Array ===== ===== Array =====
 +Do chuẩn PSR-2 không có quy định cụ thể về cách viết array, do đó NukeViet áp dụng riêng chuẩn như sau:
 Nếu mảng ngắn từ một đến hai phần tử ta viết Nếu mảng ngắn từ một đến hai phần tử ta viết
-<code php>$array = array( 'id' => $id, 'title' => $title );</code>+<code php>$array = array('id' => $id, 'title' => $title);</code>
 Nếu dài hơn ta phải viết Nếu dài hơn ta phải viết
 <code php> <code php>
 $array = array(  $array = array( 
- 'id' => $id,  +    'id' => $id,  
- 'title' => $title +    'title' => $title 
 ); );
 </code> </code>
Dòng 77: Dòng 71:
 <code php> <code php>
 $array = array(  $array = array( 
- 'id' => array( +    'id' => array( 
- 'id' => $_id, +        'id' => $_id, 
- 'content' => array( +            'content' => array( 
- 'sub' => $sub, +                'sub' => $sub, 
- 'cat' => $cat +                'cat' => $cat 
- ), +            ), 
- ),  +        ),  
- 'title' => $title +        'title' => $title 
 ); );
 </code> </code>
  
-===== 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 
-<code php>if( $i > 0 ) die( 'Error!!!' );</code> 
-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 { 
-<code php> 
-if( $title > 200 ) 
-{ 
- echo( 'Tieu de qua lon' ); 
-} 
-else 
-{ 
- echo( 'Tieu de hop le' ); 
-} 
-</code> 
-Không được để kí tự { và } ngang hàng với if, else, for, while: 
-<code php> 
-if( $title > 200 ){ 
- echo( 'Tieu de qua lon' ); 
-}else{ 
- echo( 'Tieu de hop le' ); 
-} 
  
-while( $i ){ 
- $title .= 'title'; 
- -- $i; 
-} 
-</code> 
  
-===== function, class ===== 
-Một hàm phải có mô tả bên trên 
-<code php>/** 
- * nv_is_blocker_proxy() 
- * 
- * @param string $is_proxy 
- * @param integer $proxy_blocker 
- * @return 
- */ 
-function nv_is_blocker_proxy( $is_proxy, $proxy_blocker ) 
-{ 
- if( $proxy_blocker == 1 and $is_proxy == 'Strong' ) return true; 
- if( $proxy_blocker == 2 and ( $is_proxy == 'Strong' || $is_proxy == 'Mild' ) ) return true; 
- if( $proxy_blocker == 3 and $is_proxy != 'No' ) return true; 
-  
- return false; 
-}</code> 
-tương tự một lớp cũng cần có mô tả 
-<code php>/** 
- * NVbuffer 
-  
- * @package NukeViet 
- * @author VINADES.,JSC 
- * @copyright 2012 
- * @version 3.3 
- * @access public 
- */ 
-class NVbuffer 
-{ 
- var $position = 0; 
-  
-</code> 
  
- 
-Cần hạn chế tối đa việc viết chung mã HTML, JS, CSS vào các file php. 
- 
- 
-===== Ghi chú (comment) ===== 
- 
-Khi thiết kế CSDL, cần thêm ghi chú cho mỗi trường dữ liệu. 
- 
-Trong tập tin code, để đúng chuẩn cần viết ghi chú ngắn gọn cho mỗi dòng bằng <code>//</code> và không dùng <code>/* */</code> hay <code>#</code> 
- 
-Ví dụ: Dùng <code>// Ghi chú</code> 
-Không dùng <code># Ghi chú</code> 
-Không dùng <code>/* Ghi chú */</code> 
 ====== Đối với các file JS ====== ====== Đối với các file JS ======
  
-Áp dụng chuẩn của các file php +Áp dụng chuẩn viết tương tự php
- +
-Bắđầu bởi mô tả: +
-<code javascript> +
-/* * +
- * @Project NUKEVIET 3.0 +
- * @Author VINADES., JSC ( contact@vinades.vn ) +
- * @Copyright ( C ) 2010 VINADES., JSC. All rights reserved +
- * @License GNU/GPL version 2 or any later version +
- * @Createdate 1 - 31 - 2010 5 : 12 +
- */ +
-</code> +
- +
-Đặt { ngay sau các lệnh. +
-<code javascript> +
-if( a == 0 ) { +
- a = 1; +
-+
-</code> +
-Đặt else if ngay sau kí tự +
-<code javascript> +
-if( a == 0 ){ +
- a = 1; +
-} else if ( a == -1 ) { +
- break; +
-+
-</code>+
  
-Các file javascript trong thư mục ''/modules/ten-module/js/'' không nên dùng thư viện Jquery mà chỉ được viết bởi các hàm, thư viện có sẵn của NukeViet. 
 ====== Đối với các file TPL ====== ====== Đối với các file TPL ======
 Nếu không có trường hợp đặc biệt nên dùng duy nhất một tên main để dánh dấu khối Nếu không có trường hợp đặc biệt nên dùng duy nhất một tên main để dánh dấu khối
Dòng 210: Dòng 106:
 </code> </code>
  
-> Các file TPL thực chất chứa mã HTML, JS tương tự các file .html, cần dùng tab để đánh dấu các thẻ cha con:+> Các file TPL thực chất chứa mã HTML, JS tương tự các file .html, cần dùng 4 ký tự space để đánh dấu các thẻ cha con:
 <code html> <code html>
 <!-- BEGIN: main --> <!-- BEGIN: main -->
Dòng 251: Dòng 147:
 <code css> <code css>
 .banner_plan { .banner_plan {
- background: #FFF; +    background: #FFF; 
- border: 1px solid #DADADA; +    border: 1px solid #DADADA; 
- margin-bottom: 10px; +    margin-bottom: 10px; 
- padding: 5px+    padding: 5px
 } }
 </code> </code>
programming/rule.txt · Sửa đổi lần cuối: 2016/06/16 11:04 bởi hoaquynhtim99