Review code có cần phải nể nhau không?
Fun
6
random
3
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

111 bài viết.
1627 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
161 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 3 năm trước
161 46
White
149 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 2 năm trước
149 39
White
106 17
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 2 năm trước
106 17
Bài viết liên quan
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 gần 3 năm trước
0 0
White
22 3
Các thuật toán sắp xếp newsfeed Một trong những tính năng thường gặp của những trang tin tức/mạng xã hội là newsfeed. Thông thường các trang nà...
Triet Pham viết 5 tháng trước
22 3
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


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