Cải tiến mã lệnh có thể được sử dụng với nhiều mục đích khác nhau.
Đầu tiên, cải tiến mã lệnh giúp mã lệnh giữ nguyên được khuôn mẫu của nó. Nếu không thực hiện cải tiến mã lệnh việc thiết kế chương trình sẽ không thể thực hiện một cách hoàn hảo. Khi sửa đổi mã lệnh (thường không hiểu biết đầy đủ việc thiết kế các đối tượng để thực hiện) dần dần làm mất tính cấu trúc
của nó. Khi mất tính cấu trúc, mã lệnh trở nên khó hiểu và làm tăng khả năng mất tính cấu trúc của thiết kế.
Cải tiến mã lệnh làm cho mã lệnh trở nên dễ hiểu hơn. Điều này là cần
thiết cho việc chuyển tải ý tưởng về mã lệnh đến những người khác. Nó cũng làm cho mã lệnh dễ hiểu hơn cho chính người viết ra nó. Điều đó cũng quan
trọng bởi vì các lập trình viên không thể khẳng định họ có thể nhớ các ý
tưởng của họ sau vài tuần nữa.
Các lập trình viên cũng có thể sử dụng cải tiến mã lệnh để hiểu được ý tưởng của những đoạn mã lệnh mà họ mới đọc lần đầu. Khi xem xét một đoạn mã lệnh lập trình viên cố gắng tìm hiểu xem đoạn mã lệnh đó làm gì. Khi hiểu được đoạn mã lệnh đó, các lập trình viên cải tiến để nó phản ánh tốt hơn sự hiểu biết của họ về mục đích của nó. Sau đó kiểm tra xem hệ thống có thực hiện theo đúng chức năng của nó hay không. Nếu mọi việc vẫn tốt, thì nghĩa là các lập trình viên đã hiểu biết và có cách xử lý đúng về một phần hệ thống mà họ xem xét. Ngược lại, các lập trình viên nên tìm hiểu thêm đoạn mã lệnh mà họ đang xem xét.
Nó có thể hơi khác thường, nhưng Fowler khẳng định rằng thuận lợi
thực sự của cải tiến mã lệnh là nó giúp các lập trình viên phát triển phần mềm nhanh hơn [27]. Có thể tin rằng cải tiến mã lệnh là cải tiến chất lượng và làm
cho mã lệnh dễ hiểu hơn, nhưng làm thế nào để tăng tốc độ phát triển? Các
lập trình viên nghĩ rằng tất cả các sửa đổi và bản chất lặp của cải tiến mã lệnh,
không đề cập đến hiệu quả lớn đặt vào việc kiểm tra, sẽ làm cho tốc độ phát
triển chậm đi.
Bí quyết là việc bổ sung các chức năng mới và việc tìm ra các lỗi rất hiệu quả khi các lập trình viên làm việc trên một hệ thống với một thiết kế
chặt chẽ mà họ có thể hiểu được cặn kẽ. Nếu không thực hiện cải tiến mã
mang lại lợi ích lâu dài, nếu giữ nguyên cải tiến mã lệnh cùng với thiết kế, làm quá tải toàn bộ cải tiến mã lệnh và việc kiểm tra được kết hợp. Nếu các lập trình viên bỏ qua việc cải tiến mã lệnh, họ sẽ kết thúc rất sớm trong một tình huống rắc rối với việc chèn vào các chức năng mới, bởi các hiệu quả không mong muốn. Tương tự các sửa đổi sẽ trở nên khó hơn bởi các lập trình viên bắt đầu có sự sao chép mã lệnh.