Review code có cần phải nể nhau không?
Fun
9
random
5
White

Huy Trần viết ngày 26/03/2018

Người ta vẫn hay nói, đem ba cái tình anh em, bạn bè, nể nang nhau vô công việc thì kiểu gì cũng hỏng việc. Cái này đúng cho cả chuyện review code.

Về cơ bản, cứ nể nang nhau thì khi review code cũng sẽ nể nang nhau, rồi sẽ châm chước mà bỏ qua cho nhau những cái lỗi vụn vặt, nhưng đôi khi mấy cái vụn vặt lại trở thành yếu tố then chốt khiến cho project cũng thành vụn cám :joy:.

Ví dụ, project đã có sẵn mấy cái hàm util thường dùng rồi, nhưng mấy ông thần lại cứ thích tự code, thôi chuyện nhỏ, chỗ anh em, anh bỏ qua cho chú, như này:

// Có hàm này rồi
NASA.Utils.rocketLaunch = rocket => {
  if (typeof rocket === 'object') {
    if (rocket.goNoGo() === NASA.Enums.GO) {
      rocket.launch();
    }
  }
};

// Thay vì dùng nó
socket.on('launch', rocket => {
  NASA.Utils.rocketLaunch(rocket);
});

// Lại đi tự code
socket.on('launch', rocket => {
  if (rocket) {
    rocket.launch();
  }
});

// Thấy khả năng bug lòi ra chưa?
// Cơ mà cái này là chém thôi, ngoài đời NASA ko
// có dùng JavaScript để phóng tên lửa đâu =]]

Đấy, nếu không mang cái thái độ thù ghét nhau để review thì mấy cái như này ai thèm chấp.

Một team review code nghiêm túc là một team cãi nhau kịch liệt trên từng pull requests, tình anh em bạn bè chú bác gì cũng phải dẹp qua hết một bên, sẵn sàng lao vào cắn xé nhau để khưi cho ra được code thối, hoặc bảo vệ quan điểm của mình.

Như này:

NASA.Utils.rocketLaunch = rocket => {
  if (typeof rocket === 'object') {
// Reviewer A: Tên lửa sao type lại là object được? Lỡ nó là
//             class thì sao?
//     Author: Mày có tin tao đập chết mẹ mày không? Ngu ngu
//             vừa thôi, trong JS thứ gì lại không là object?
    if (rocket.goNoGo() === NASA.Enums.GO) {
      rocket.launch();
// Reviewer B: Tao nghĩ chỗ này cần phải kiểm tra bình nhiên
//             liệu nữa...
// Reviewer A: đcm https://en.wikipedia.org/wiki/Go/no_go
    }
  }
};

Tên công ty và nhân vật trong code đã được thay đổi vì lý do bảo mật.

Bài đăng lại từ cái post tả pí lù trên blog của. mình

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

Huy Trần

119 bài viết.
1961 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
177 46
Tại sao phải viết blog kĩ thuật? Có rất nhiều bài viết trên mạng nói về vấn đề tại sao một lập trình viên nên thường xuyên viết các bài blog kĩ thu...
Huy Trần viết hơn 4 năm trước
177 46
White
154 39
(Ảnh) Tiếp tục sêri (Link) lần này, chúng ta sẽ cùng tìm hiểu và mô phỏng lại một chức năng mà mọi người đang bắt đầu sử dụng hằng ngày, đó là chứ...
Huy Trần viết hơn 3 năm trước
154 39
White
117 19
Phần 1: Tự truyện Tui và Toán đã từng là hai kẻ thù không đội trời chung trong suốt hơn mười lăm năm ròng rã. Ngay từ ánh nhìn đầu tiên đã ghét nh...
Huy Trần viết hơn 3 năm trước
117 19
Bài viết liên quan
White
0 0
Swift là ngôn ngữ do Apple tạo ra và nhận được sử ủng hộ lớn từ cộng đồng. Nhất là từ khi nó opensource. Bản thân ngôn ngữ vẫn đang ngày một hoàn t...
VietHQ viết 12 tháng trước
0 0
White
0 0
Có một bức ảnh rất hay nhìn thấy trên hacker news vẽ bản đồ của C++ và các lãnh chúa của ngôn ngữ này. Copy về đây anh em xem cho vui. http://gold...
cpplover viết 4 năm trước
0 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
119 bài viết.
1961 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á!