Cách viết code đơn giản và hiệu quả nhất cho dễ đọc.

Cập nhật ngày: 23/06/2021 - Đã có 1540 lượt xem bài viết này!
Cách viết code đơn giản và hiệu quả nhất cho dễ đọc.
Chúng ta ai cũng đều đã biết cách đó là gì nhưng chỉ mỗi tội lười biếng nên chúng ta không làm thế. Đây là một trong những cách viết clean code bị đánh giá thấp nhất và ngoài ra còn có một vài lời đồn thổi không đúng sự thật về nó nữa, tôi sẽ nhắc đến nó sau. Phương pháp đó là, chuyển hóa code thành function.

Cách viết code đơn giản và hiệu quả nhất cho dễ đọc.

Tôi hiểu, rằng chúng ta đều chuyển code thành functions nhưng không quá thường xuyên. Hãy lấy snippet dưới đây, nói thẳng ra là một đoạn code từ công ty cũ của tôi, làm một ví dụ. Hãy xem qua từng điểm một ở bên dưới.

cach-viet-code-don-gian-va-hieu-qua-nhat-cho-de-doc

Trông nó như đang restore một dạng group vậy. Dù cho nó chỉ có 2 dòng, rút ra được một method từ nó vẫn rất hợp lý.
Ban đầu nó chắc chắn phải start bằng 1 flag. Anh em lập trình viên chắc hẳn đã thấy rất khó chịu về việc vì sao chỉ có 1 dòng code thôi cũng phải có một method riêng cho nó.
Có vẻ như chúng ta đang tạo ra một drawer cho một view. Hà cớ gì mà một high level code lại phải quan tâm đến cách nó khởi tạo?
Ngay sau khi xem qua 4 dòng code, tôi đã hiểu tại sao chúng ta phải quan tâm đến info của device. Tôi biết 4 dòng là không nhiều nhưng nó có thể nhân lên cả chục hoặc cả trăm dòng. Tốt hơn hết là phải tách ra một method.
Logging trong khi reading flow là vô cùng không hiệu quả. Phải đổi ngay!
Tất cả các listener cần được tách riêng ra trong một method.
Sau khi thực hiện một vài thao tác refactoring:

cach-viet-code-don-gian-va-hieu-qua-nhat-cho-de-doc

Giờ đây đoạn code đã trở nên bắt mắt hơn trước hẳn. Rất dễ lướt qua mà không vướng phải những chi tiết không cần thiết. Một cái tên method hợp lí cũng sẽ không yêu cầu bất kì comment nào.

Các tips thực hiện

Đừng làm nhiễu reading flow bằng những hiệu ứng phiền phức hoặc những điều kiện phức tạp.
Defne các method ngắn. Nó giúp việc giải thích dễ dàng hơn, flow sẽ rõ ràng hơn, scope cũng ngắn hơn, lúc đó bạn sẽ có cảm giác tốt hơn.
Làm cho tất cả các khai báo của code giảng nghĩa.
Việc thêm 2 dòng vào một method có sẵn luôn luôn dễ dàng. Nhưng cũng phải chú ý phần code có thay đổi ở trên và dưới đòi hỏi một space riêng của nó, nếu có, thì phải tách method ngay. Trong mỗi method phải áp dụng những logic phù hợp riêng, như thế thì các contributor sau này mới thêm các thay đổi theo mỗi method tương ứng.

Kết luận

Vậy liệu việc tăng số lượng method có làm ảnh hưởng xấu đến performance không, như nhiều người nhận định? Đây chính là một sự hiểu lầm tai hại và trong hầu hết các trường hợp thì những ảnh hưởng này đều quá nhỏ để có thể để ý thấy. Nếu như bạn làm việc với các ngôn ngữ trên JVM thì xin chúc mừng bạn JVM là một phần mềm tuyệt vời có nhiều built-in tối ưu hóa runtime thật sự tuyệt vời. Và, hãy chuyển hóa nó…
 

Code is like humor. When you have to explain it, it’s bad. — Cory House

Xem khóa đào tạo nhân sự theo danh mục!

Xem các khóa đào tạo nhân sự