Cải tiến mã nguồn
Bách khoa toàn thư mở Wikipedia
Một định nghĩa ngắn về cải tiến mã nguồn (refactoring) trong lập trình là làm hoàn thiện hơn thiết kế mã nguồn phần mềm đã có sẵn nhằm nhiều mục đích. Refactoring là cải tiến và làm tốt hơn chất lượng của mã nguồn trong một ứng dụng. Nó không làm thay đổi các chức năng chính, chức năng chung của ứng dụng, nhưng nó làm cho ứng dụng dễ bảo trì hơn, dễ phát triển hơn trong tương lai.
- Làm cho mã nguồn dễ đọc hơn. Sữa đổi định danh, từ ngữ, cách đặt tên cho các thành phần trong mã nguồn. Còn được gọi là chuẩn hóa từ ngữ (coding convention).
- Làm cho mã nguồn dễ hiểu hơn. Sắp xếp lại trật tự các dòng lệnh, các vòng lặp, các điều kiện, ràng buộc nhằm làm cho logic của mã nguồn tốt hơn, số lượng dòng lệnh (line of code) được cực tiểu hóa.
- Tối ưu hóa xử lý. Việc sắp đặt lại các logic luồng làm việc của mã nguồn giúp cho luồng xử lý rõ ràng hơn và tránh các sai sót (bug).
- Tối ưu hóa tốc độ. Số lượng vòng lặp trong mã nguồn giảm, thời gian xử lý, tìm kiếm kết quả của các luồng xử lý tăng lên.
- Tăng tính dùng lại: mã nguồn tốt, rõ ràng sẽ có lợi khi được sử dụng lại cho các module khác của cùng ứng dụng hoặc được dùng như một bộ thư viện sử dụng cho nhiều ứng dụng, module khác nhau.
- Tăng tính tiến hóa: Một mã nguồn tốt có lợi ích và chu kỳ sống cụ thể do công nghệ thông tin ngày càng phát triển. Mã nguồn tốt có thể có thời gian sử dụng lâu hơn và khả năng tự phát triển, nâng cấp, kế thừa khi ứng dụng có nhu cầu phát triển thêm mà không phải bị vứt bỏ để viết lại từ đầu.
- Tăng tính gần gũi với người dùng. Có những ứng dụng hay, nhưng lại phức tạp cho người dử dụng hay người đọc. Chẳng hạn như phần giao tiếp người dùng (user interface) cần được cải thiện để tăng tính dễ dùng, dễ hiểu, linh hoạt hơn và làm cho giao tiếp người dùng sử dụng được hết khả năng của mã nguồn cung cấp.
Refactoring không hẳn làm thay đổi các cư xử, hoạt động bên ngài của phần mềm. Chủ yếu là cải thiện phần cấu trúc bên trong nhằm làm tối ưu chức năng của phần mềm để phần mềm xử lý, nhanh hơn, tốt hơn, an toàn hơn và cố thể phù hợp với nhiều môi trường hoặc thay đổi mới cho người dùng trong quá trình sử dụng. Giảm thiểu những sai sót và tăng thời gian sống cho phần mềm. Là một bước không thể thiếu và có thể được áp dụng trong suốt các quá trình phát triển phần mềm.