Gần đây tôi đã tham gia vào một dự án mà trò chơi dựa trên web sử dụng một công cụ được viết bằng PHP. Trò chơi hoạt động tốt nhưng có thể mạnh mẽ hơn và có một số tính năng hơn - và mã này vừa cũ vừa khá xấu.Làm cách nào để bạn cấu trúc lại mã PHP cũ của mình?
Vấn đề với mã này (và nhiều mã PHP nói chung tôi nghi ngờ) là nó đã phát triển đến vị trí của nó và không được cấu trúc rất độc đáo, có rất nhiều mã được cắt/dán gần như giống hệt nhau, và sử dụng nhiều globals ngay cả khi các chức năng liên quan. Không phải là một bài kiểm tra đơn vị ở bất kỳ đâu, tất nhiên, và mã được mã hóa cứng để sử dụng một DB cụ thể và dựa vào các chuỗi $ _REQUEST từ trang web gọi mã.
Điều đúng đắn cần làm là kéo các phần của mã thành các chức năng phụ, dọn dẹp chúng và thêm một số kiểm tra đơn vị để đảm bảo nó tiếp tục hoạt động, thêm một vài đối tượng giả trên đường đi. Tuy nhiên, làm điều này hoàn toàn bằng tay là tẻ nhạt và dễ bị lỗi và tôi tự hỏi làm thế nào bạn làm điều này - là có một IDE hoặc công cụ có thể giúp đỡ, ví dụ? Tôi muốn có một công cụ có thể giúp tạo ra một hàm từ một đoạn mã được xác định, đề xuất biến nào là tham số, theo giá trị hoặc tham chiếu, tự động thêm $ this-> references, v.v.
Đây có phải là quá nhiều hỏi, hoặc là có một giải pháp tốt?
Cảm ơn!
Liên kết bị hỏng và dường như không còn trên mạng nữa. – Kzqai
[Bài viết này] (http://thinkinghard.com/blog/EconomicsOfTestingUglyCode.html) có cùng tiêu đề và được viết vào năm 2008 phù hợp với ngày trả lời của @ David. –