JavaScript: The Good Parts là một tựa sách kinh điển ra đời vào năm 2008, được nhiều lập trình viên Javascript giỏi khuyến cáo là nên đọc khi bạn bắt đầu với Javascript, thật ra thì tới tận 2014 tôi mới đọc nó. Tác giả Douglas Crockford, cũng là một người khá quen thuộc trong cộng đồng Javascript và cũng là một thành viên trong hội đồng ECMAScript.
Mặc dù ra đời khá lâu và đến giờ phút này có thể coi là lỗi thời vì quyển sách chỉ bao gồm các đặc điểm kỹ thuật của ES3 thì quyển sách này vẫn cực kì giá trị cho đến tận hôm nay vì những bài học mà nó mang lại.
Đây là một quyển sách dễ đọc, những thứ cơ bản nhất của Javascript được tóm gọn trong chỉ khoảng 100 trang. Cực kì phù hợp để bạn có thể nắm bắt hết những phần cơ bản của Javascript trong một vài ngày, lưu ý là chỉ những phần cơ bản thôi nhé, những phần phức tạp như inheritance, modify built-in objects… thì cũng ngốn kha khá thời gian của bạn đấy. Và dù cho thế, thì nó vẫn là một quyển sách cực kì dễ đọc.
Quyển sách cũng nói về việc mọi ngôn ngữa đều có những phần tốt và những phần xấu. Sự hoàn hảo đối với một ngôn ngữ là không thể. Lập trình viên tốt là người biết tận dụng những phần tốt và tránh những phần xấu mà đôi khi rắc rối còn nhiều hơn giá trị mà nó mang lại.
Phần tốt, phần xấu và những phần tồi tệ
Một số phần tốt ít ỏi trong Javascript được gọi là những phần đẹp đẽ (good parts). Những phần không tốt và chúng ta có thể dễ dàng tránh sử dụng là những phần xấu (bad parts). Còn thành phần đã không tốt mà còn không thể tránh sử dụng thì chính xác là thành phần tồi tệ (awful parts). Vậy những thành phần đó trong Javascript là gì? Tôi có liệt kê một số feature tiêu biểu dưới đây.
TYPE | JAVASCRIPT FEATURES |
---|---|
Good parts |
|
Bad parts |
|
Awful parts |
|
Còn đối với các bạn thì sao, đừng ngại comment ý kiến của mình bên dưới nhé! Tôi chắc rằng đã có không ít lần các bạn đau đầu khi không biết tại sao mà ==
không trả về kết quả mong muốn, vậy nên dùng ==
hay ===
. Crockford đã gải thích điều này trong sách, và khuyên rằng chỉ sử dụng ===
và quên luôn ==
đi, nó không phải là phần tốt trong Javascript.
Sử dụng linter để đảm bảo chất lượng code
Các phần tốt thì dễ được chấp nhận, các phần xấu thì có thể tránh, nhưng vẫn còn đó một nhiệm vụ khó khăn cho các lập trình viên, phân tích xem các thành phần trong code đã tốt hay chưa. Vay mượn một triết lý từ C, nơi mà linter khá là phổ biến, Crockford đã tạo ra JSLint để kiểm tra những file Javascript source và tìm kiếm vấn đề còn tồn tại. JSLint cung cấp cho chúng ta một thứ như là đôi mắt thứ hai để chỉ ra những vấn đề và giúp chúng ta cải thiện chất lượng code.
Kể từ khi quyển sách này ra đời, JSLint đã có một cuộc đời khác, các bạn có thể xem ở JSLint.com.
Những bài học
Người đọc sau khi đọc xong quyển sách sẽ rút ra được hai bài học chính.
- Không phải tất cả những feature được đưa ra trong một ngôn ngữ đều được sử dụng khi lập trình bằng ngôn ngữ đó.
- Các giải pháp phân tích file source code nên được sử dụng để cải thiện chất lượng code.
Qua nhiều năm, với sự ra đời của ES6, nhiều phần xấu hay tệ trong Javascript đã được cải thiện nhiều, thêm vào đó là sự ra đời của những better parts. Nếu bạn đã đọc quyển sách này rồi, thì bài học của các bạn là gì? Cùng chia sẻ với mọi người ở phần comment nhé. Còn nếu bạn chưa đọc, thì hãy đọc nó nếu bạn muốn bắt đầu với Javascript nhé! Chào tạm biệt.