Có hai vấn đề đáng chú ý trong câu hỏi, phần khéo léo và thời hạn sắp tới . Đây là những vấn đề riêng biệt - đầu tiên là một câu hỏi về truyền thông và động lực nhóm, thứ hai là một câu hỏi về lập kế hoạch và ưu tiên.
Chiến thuật . Tôi giả sử bạn muốn tránh bản ngã bị đẩy và phản hồi tiêu cực chống lại các đánh giá. Một số gợi ý:
- Có một sự hiểu biết chia sẻ về các tiêu chuẩn mã hóa và các nguyên tắc thiết kế.
- Không bao giờ chỉ trích hoặc đánh giá nhà phát triển , chỉ mã . Tránh từ "bạn" hoặc "mã của bạn", chỉ nói về mã đang được xem xét, tách ra khỏi bất kỳ nhà phát triển nào.
- Đặt niềm tự hào của bạn vào chất lượng của mã hoàn thành , để nhận xét đánh giá giúp cải thiện kết quả cuối cùng được đánh giá cao.
- Đề xuất cải tiến hơn là nhu cầu. Luôn có một cuộc đối thoại nếu bạn không đồng ý. Cố gắng hiểu quan điểm khác khi bạn không đồng ý.
- Có các đánh giá đi cả hai cách. Tức là có người bạn đã xem xét xem lại mã của bạn tiếp theo. Đừng có đánh giá "một chiều".
Phần thứ hai là ưu tiên . Bạn có nhiều đề xuất cải tiến, nhưng vì thời hạn đang đến gần nên chỉ có thời gian để áp dụng một vài.
Vâng, đầu tiên bạn muốn tránh điều này xảy ra ở nơi đầu tiên! Bạn làm điều này bằng cách thực hiện đánh giá liên tục, gia tăng. Đừng để nhà phát triển làm việc trong nhiều tuần trên một tính năng và sau đó xem lại tất cả vào lúc cuối cùng. Thứ hai, đánh giá mã và thời gian để thực hiện các đề xuất đánh giá nên là một phần của kế hoạch và ước tính thường xuyên cho bất kỳ nhiệm vụ nào. Nếu không có đủ thời gian để xem xét đúng, một cái gì đó đã sai trong kế hoạch.
Nhưng hãy giả sử có điều gì đó không ổn trong quy trình và hiện bạn đang phải đối mặt với một số nhận xét đánh giá và bạn không có thời gian để thực hiện tất cả. Bạn phải ưu tiên. Sau đó, hãy tìm những thay đổi sẽ khó nhất và rủi ro nhất để thay đổi sau này nếu bạn trì hoãn nó.
Việc đặt tên định danh trong mã nguồn là vô cùng quan trọng đối với khả năng đọc và bảo trì, nhưng nó cũng khá dễ dàng và ít rủi ro để thay đổi trong tương lai. Tương tự với định dạng mã. Vì vậy, đừng tập trung vào những thứ đó. Mặt khác, sự tỉnh táo của các giao diện tiếp xúc công khai nên được ưu tiên cao nhất, vì chúng thực sự khó thay đổi trong tương lai. Dữ liệu liên tục khó thay đổi - nếu bạn lần đầu tiên bắt đầu lưu trữ dữ liệu không nhất quán hoặc không đầy đủ trong cơ sở dữ liệu thì thực sự khó khắc phục trong tương lai.
Các khu vực được bao phủ bởi các bài kiểm tra đơn vị có rủi ro thấp. Bạn luôn có thể sửa những cái đó sau. Các khu vực không, nhưng có thể được thử nghiệm theo đơn vị có rủi ro thấp hơn các khu vực không thể được thử nghiệm theo đơn vị.
Giả sử bạn có một đoạn mã lớn mà không có kiểm tra đơn vị và tất cả các loại vấn đề về chất lượng mã bao gồm cả sự phụ thuộc được mã hóa cứng vào một dịch vụ bên ngoài. Thay vì tiêm phụ thuộc này, bạn làm cho đoạn mã có thể kiểm tra được. Điều này có nghĩa là trong tương lai bạn có thể thêm các bài kiểm tra và sau đó khắc phục phần còn lại của các vấn đề. Với sự phụ thuộc được mã hóa cứng, bạn thậm chí không thể thêm các bài kiểm tra. Vì vậy, đi sửa chữa này đầu tiên.
Nhưng hãy cố gắng tránh kết thúc trong kịch bản này ngay từ đầu!