Tôi đã được yêu cầu đánh giá những gì dường như là một cơ sở mã di sản đáng kể, như một tiền thân để thực hiện một hợp đồng duy trì cơ sở mã đó.
Đây không phải là lần đầu tiên tôi gặp tình huống này. Trong trường hợp hiện tại, mã dành cho một trang web chơi game nhiều người chơi có cấu hình khá cao và khá tải, hỗ trợ ít nhất vài nghìn người chơi trực tuyến cùng một lúc. Như nhiều trang web như vậy, trang này là sự kết hợp của các công nghệ mặt trước và mặt sau.
Cấu trúc trang web nhìn từ trong ra ngoài, là một mớ hỗn độn. Có các thư mục có hậu tố "_OLD" và "_DELETE" nằm khắp nơi. Nhiều thư mục dường như không phục vụ mục đích hoặc có tên rất khó hiểu. Có thể có bất kỳ số lượng các tập lệnh cũ, chưa sử dụng nằm xung quanh ngay cả trong các thư mục trông hợp pháp. Không chỉ vậy, nhưng chắc chắn có nhiều phần mã không còn tồn tại ngay cả trong các tập lệnh hoạt động khác (một mối quan tâm ít gây bức xúc hơn).
Đây là một bàn giao từ các nhà bảo trì đương nhiệm, trở lại các nhà phát triển / bảo trì ban đầu của trang web. Như một điển hình dễ hiểu trong các loại kịch bản này, đương nhiệm không muốn làm gì với việc bàn giao ngoài những gì được yêu cầu về mặt hợp đồng và pháp lý của họ để đẩy nó ra cho người bảo trì mới được bầu. Vì vậy, trích xuất thông tin về cấu trúc trang web hiện tại ra khỏi đương nhiệm chỉ đơn giản là không cần thiết.
Cách tiếp cận duy nhất xuất hiện trong codebase là bắt đầu từ trang gốc và từ từ nhưng chắc chắn điều hướng qua các tập lệnh được liên kết ... và có thể có hàng trăm sử dụng, và hàng trăm thứ khác thì không. Do một phần đáng kể của trang web là trong Flash, điều này thậm chí còn đơn giản hơn, đặc biệt là trong các ứng dụng Flash cũ hơn, các liên kết đến các tập lệnh khác có thể được nhúng trong tệp nhị phân (.Ls) thay vì trong tệp văn bản (.AS / ActionScript).
Vì vậy, tôi tự hỏi nếu có ai có đề xuất tốt hơn về cách tiếp cận đánh giá codebase một cách tổng thể để duy trì. Thật tuyệt vời nếu có một cách nào đó để xem biểu đồ tần suất truy cập vào các tệp trên HĐH của máy chủ web (mà tôi có quyền truy cập), vì điều này có thể cung cấp một số thông tin chi tiết về các tệp quan trọng nhất, mặc dù nó sẽ không có thể loại bỏ những tệp không bao giờ được sử dụng (vì một số tệp có thể được sử dụng chỉ một lần một năm).