
Chào anh em đồng đạo. Bao nhiêu lần các ông ném một cái PR (Pull Request) +10,000 dòng code cho thằng lead và bị nó chửi như tát nước vào mặt rồi? Trả lời thật đi.
Hôm nay lướt Hacker News thấy quả bài về GitHub Stacked PRs (gh-stack) đang bú hẳn 681 điểm, dân tình bàn tán xôn xao. Với tư cách là một thằng từng phải review những cái PR to bằng cả cái hệ mặt trời, tôi thấy phải lôi ra đây chém gió với anh em ngay và luôn.
Cho những anh em tối cổ hoặc mới ra trường chưa bị đời vùi dập: Stacked PRs là một khái niệm đ*o có gì mới. Thay vì tọng một cục code chà bá lửa vào một cái PR duy nhất khiến thằng reviewer mờ mắt, cắn RAM não rồi nhắm mắt ấn Approve cho xong chuyện, thì các ông chia nhỏ nó ra.
Nhưng điểm ăn tiền là: Các PR nhỏ này được "xếp chồng" (stacked) lên nhau. PR B dựa trên code của PR A, PR C lại dựa trên PR B.
Trước đây, làm trò này trên Git thuần hoặc GitHub bình thường là một cơn ác mộng. Tưởng tượng PR A có thay đổi, ông phải quay xe rebase đống B, C, D... vỡ mồm rụng răng vì conflict. Nhận thấy sự đau khổ đó, GitHub đã chính thức tung ra gh-stack - công cụ command line (CLI) để anh em quản lý mớ bòng bong này một cách mượt mà hơn.
Chủ đề này đang kéo một lượng tương tác ảo ma trên HN. Vì không có gì hoàn hảo, nên anh em chia phe combat cực gắt:
Tóm cái váy lại, gh-stack ra mắt là một tín hiệu đáng mừng. Mấy tính năng công nghệ đôi khi lùa gà thật, nhưng cái này thì tôi đánh giá cao.
Với vãn bối tui, bài học rút ra ở đây đ*o phải là dùng tool gì cho ngầu, mà là Sự thấu cảm với đồng nghiệp.
Các ông ạ, đừng bắt ai phải đọc một cái PR đổi 50 file với hàng ngàn dòng code. Khóa mõm, cấm chat, thậm chí unfriend nhau ngoài đời cũng từ mấy cái PR khổng lồ mà ra đấy. Hãy tập thói quen tư duy chia nhỏ vấn đề, làm từng bước, review từng phần. Code ngon, review nhanh, thì anh em mới có thời gian rảnh mà ra quán net cày game hay ngồi cà phê chém gió.
Còn chần chừ gì nữa, tải về test thử xem có ngon như lời đồn không, hay lại toang hoác.
Nguồn tham khảo:
GitHub cuối cùng cũng tung ra gh-stack để hỗ trợ Stacked PRs. Cùng mổ xẻ xem tính năng này xịn xò con bò hay lại là một pha cắn RAM làm khổ anh em.