Thứ Bảy, 22 tháng 3, 2014

Một vài lưu ý khi viết code JavaScript


Một vài ý kiến về việc viết code javascript cho người mới bắt đầu

Một vài lưu ý khi viết code

Sử dụng === thay vì ==

Trong javascript các kiểu dữ liệu rất lỏng lẻo, khi chúng ta so sánh giá trị của 2 biến thuộc 2 kiểu dữ liệu khác nhau mà dùng == thì sẽ nhận được kết quả không như mong muốn.
Ví du:
   0 == false => true

   0 === false => false
Sử dụng === sẽ làm chương trình của bạn trở lên chắc chắn hơn

Luôn sử dụng dấu ;

Hầu hết trình duyệt bây giờ đều hiểu code js ngay cả khi chúng k có dấu ;. Nhưng với dự án lớn thì tốt nhất bạn lên điền đầy đủ dấu ; điều này sẽ giúp cho việc debug dễ dàng hơn.
var name = 'cong'

function hello() {
    console.log('hello world')
}
Nên viết như sau:
var name = 'cong';

function hello() {
    console.log('hello world');
}

Viết code rõ ràng

Nhiều người hay viết dạng vắn tắt như sau:
if( a === b) 
    console.log('Hello world');
someFunction();
Như này rất khó để theo dõi code, nếu như muốn thêm 1 điều kiện vào if thì lại phải mở ngoặc nhọn, tại sao không mở ngoặc nhọn ngay từ đầu cho rõ ràng.
Ta sẽ viết lại như sau:
if( a === b) {
    console.log('Hello world');
}
someFunction();

Đặt script ở dưới cùng

Javascript là thành phần chạy sau cùng vì vậy tốt nhất lên để chúng ở dưới cùng khi mọi thứ được load xong thì bắt đầu load javascript

{} thay vì new Object(), [] thay vì new Array()

Thực ra thì 2 cách viết đều cho kết quả như nhau, nhưng {} và [] thì ngắn gọn hơn mà thôi, code trong sáng thì dễ theo dõi
var a = new Object();
a.name = 'cong';
a.age = 24;

var a = new Array();
a[0] = 1;
a[1] = 2;
Nên viết như sau:
var a = {
    name : 'cong',
    age : 24
};

var a = [1,2];

Sử dụng join để tạo 1 string dài

Trong javascript dấu + là để nối 2 string với nhau, khi 1 string dài thì việc theo dõi rất khó khăn
str = "a" + "b";
str += "c";    
Nên viết như sau:
str = ["a", "b", "c", "d", "e"].join("");

Hạn chế biến global

Trong lập trình không thể tránh được những trường hợp bắt buộc phải dùng biến global nhưng nếu hạn chế được thì tốt nhất.
Cách tốt nhất là nhóm chúng vào chung 1 object hay 1 namespace nào đó.
var mynamspace = {
    name : 'cong';
    age  : 24;
    hello : function() {
        //code
    }

}

console.log(mynamespace.name);

Comment mọi lúc, mọi nơi

Comment là một kỹ năng không thể thiếu trong khi làm việc chung, bạn có code giỏi đến đâu mà code của bạn người khác đọc không hiểu thì cũng vô dụng. Comment không chỉ cho người khác đọc mà còn cho chính bạn nữa, thử nghĩ xem nếu 1 hay 2 tháng bạn quay lại nhìn code của mình mà chẳng hiểu gì thì đúng là ác mộng.
//Lap qua cac person va in ten ra man hinh
for(var i in arrPerson){
    console.log(arrPerson[i].name);
}

Dùng console.time hoặc dùng jsperf  để kiểm tra thời gian thực thi đoạn code của bạn

function TimeTracker(){  
     console.time("MyTimer");  
     for(x=5000; x > 0; x--){}  
     console.timeEnd("MyTimer");  
} 

Đặt tên biến hoặc hàm có ý nghĩa

Tên biến hay tên hàm lên đặt có ý nghĩa xoay quanh vấn đề mà bạn đang code là tốt nhất vì như vậy sẽ dễ hình dung hơn
Ví dụ bạn đang code 1 chương trình máy tính đơn giản bao gồm các phép tính cộng trừ nhân chia:
//Hàm cộng 2 số
function cong(a, b){
    return a + b;
}

//Hàm trừ 2 số
function tru(a, b){
    return a - b;
}

//Hàm chia 2 số
function chia(a, b){
    if(b === 0) {
        return false;
    }
    return a/b;
}

//Hàm nhân 2 số
function nhan(a, b){
    return a * b;
}
Hoặc bạn muốn đặt 1 biến là 1 số random.
var r = Math.round(Math.random(10) * 10); //Không nên đặt như này sẽ khó hiểu

var ramdomNumber = Math.round(Math.random(10) * 10); //Đặt như này sẽ dễ hiểu hơn

Source:  http://hanoijs.org/

0 nhận xét:

Đăng nhận xét