Từ thợ đến thầy - Cần hiểu thấu đáo
Software Engineering
38
White

Ngoc Dao viết ngày 22/03/2016

Có quan niệm cho rằng chỉ cần thiết kế xong, giai đoạn viết mã sẽ là cơ chế tự động, nghĩa là có thể chuyển bản thiết kế thành mã một cách tự động. Quan niệm này chính là lí do nhiều chương trình xấu xí, không hiệu quả, cấu trúc kém, không thể bảo trì, hoặc đơn giản là chạy sai.

Viết mã không phải là cơ chế tự động. Nếu thế, hẳn công cụ CASE đã thay thế con người từ tận những năm 1980. Từng phút một từng phút một lập trình viên cần dùng cái đầu của mình để ra quyết định để chương trình đang viết hôm nay ngày mai viết tiếp vẫn chạy chính xác.

Lập trình viên nào viết mã mà không chủ động suy nghĩ bằng cái đầu của mình, chính là đang lập trình theo kiểu trùng hợp ngẫu nhiên (programming by coincidence)—có thể chương trình chạy, nhưng anh chàng không hiểu tại sao nó lại chạy được.

Đa số lái xe đều lái theo kiểu tự động—không ra lệnh một cách tường minh là chân phải nhả ga, tay phải quay tay lái—chỉ nghĩ "chậm lại và rẽ phải." Tuy nhiên, lái xe cẩn thận đều thường xuyên nhận định tình huống, kiểm tra xem có khả năng tai nạn không, đặt mình vào tình trạng an toàn nếu chẳng may có tai nạn nảy sinh. Viết mã cũng vậy—có thể ngày nào cũng viết cùng mã giống nhau như lái xe đi ngày nào cũng đi cùng lộ trình, luôn giữ đầu óc sáng suốt thì cũng có thể ngăn tai hoạ ập đến.

Lập trình theo kiểu trùng hợp ngẫu nhiên

Bạn từng google, cắt mã có sẵn rồi dán vào chương trình mà không suy nghĩ hoặc không hiểu thấu đáo? Không hiểu thấu đáo rất nguy hiểm. Giống ếch ngồi bồn tắm, chỉ một chút không hiểu thấu đáo nên bạn nghĩ "ôi dào chỉ cần hiểu đại khái là được", nhưng khi cái sự không hiểu dần dần tích tụ lại, sẽ đến lúc chương trình bị lỗi mà bạn chẳng biết sửa thế nào. Vì khi chương trình chạy được, bạn có hiểu tại sao nó chạy được đâu!

Rất nhiều người dùng Javascript nhưng chưa đọc quyển Javascript nào. Gần đây nhiều người dùng Rails nhưng không hiểu Ruby!

Cần hiểu thấu đáo

  • Luôn biết mình đang làm gì.
  • Đừng để bị bịt mắt. Hãy hiểu chương trình bạn đang tạo ra, hãy hiểu công nghệ mà bạn đang dùng.
  • Lập kế hoạch và thiết kế xong (có thể chỉ là trong đầu) hẵng viết mã.
  • Hãy áp dụng design by contract, hãy chú thích rõ ràng điều kiện vào và ra, nhất là khi dùng ngôn ngữ động. Nó giúp bản thân bạn và những người cùng nhóm tránh hiểu lầm.
  • Đừng là nô lệ của lịch sử, bị bó buộc bởi mã cũ của người trước. Hãy refactor.

Nguồn: From Journeyman to Master

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Ngoc Dao

102 bài viết.
300 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
66 8
Làm thế nào để nâng cấp trang web mà không làm gián đoạn dịch vụ? Đây là câu hỏi phỏng vấn các công ty lớn thường hỏi khi bạn xin vào vị trí làm lậ...
Ngoc Dao viết hơn 2 năm trước
66 8
White
42 1
Bài viết này giải thích sự khác khác nhau giữa hai ngành khoa học máy tính (computer science) và kĩ thuật phần mềm (software engineering), hi vọng ...
Ngoc Dao viết hơn 2 năm trước
42 1
White
38 2
Nếu là team leader, giám đốc công ty hay tướng chỉ huy quân đội, vấn đề cơ bản bạn gặp phải là “hướng mọi người đi theo con đường bạn chỉ ra”. Thử...
Ngoc Dao viết hơn 2 năm trước
38 2
Bài viết liên quan
White
1 1
Lập trình đôi (pair programming) là hình thức lập trình trong đó 2 người cùng hợp tác làm việc trên cùng màn hình (có thể khác bàn phím v.v.). Bài ...
Ngoc Dao viết hơn 2 năm trước
1 1
White
29 3
Như thường lệ, là chuyên mục quảng cáo, bài viết được đăng lại từ https://thefullsnack.com/posts/frameworkorlibrary.html Hôm nay mình nghe podca...
Huy Trần viết 26 ngày trước
29 3
White
7 1
Trong quyển sách Beyond Java, xuất bản vài năm trước có đoạn:Java has characteristics that many of us take for granted. You can find good Java deve...
Ngoc Dao viết hơn 2 năm trước
7 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
102 bài viết.
300 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!