# 75: Điều đơn giản đến từ sự tối giản

Làm lại lần nữa…” Ông chủ của tôi vừa nói vừa ấn mạnh phím xóa. Tôi nhìn màn hình máy tính với một cảm giác quá quen thuộc, khi đoạn code của tôi biến mất từng dòng một.

Ông chủ của tôi, Stefan, không phải lúc nào cũng là người có tiếng nói nhất, nhưng ông ấy biết code này ổn hay không chỉ qua quan sát. Và ông ấy biết chính xác phải làm gì với nó.

Tôi đến với vị trí hiện tại là một lập trình viên sinh viên tràn đầy năng lượng, nhiệt huyết nhưng hoàn toàn không biết viết code. Tôi có suy nghĩ kì quái rằng giải pháp cho mọi vấn đề là thêm vào một chút gì đó. Hoặc bổ sung thêm một dòng code nữa. Vào một ngày tồi tệ, thay vì trở nên tốt hơn sau mỗi lần sửa đổi, code của tôi trở nên phức tạp hơn và ngày càng hoạt động không ổn định.

Đó là điều hoàn toàn dễ hiểu, nhất khi bạn đương vội và chỉ muốn thực hiện những thay đổi tối thiểu nhất đối với đoạn code hiện có, ngay cả khi điều đó không ổn cho lắm. Hầu hết các lập trình viên sẽ giữ lại đoạn code lỗi, vì e sợ việc viết một đoạn code mới sẽ đòi hỏi nhiều nỗ lực hơn so với việc quay lại đoạn đầu. Điều đó có thể đúng với code sắp đi vào hoạt động, nhưng chỉ có một số code thực sự thành công.

Nhiều thời gian sẽ bị lãng phí vào việc cố gắng cứu vãn code hỏng hơn cần thiết. Khi cái gì đó dần mất đi giá trị, nó cần nhanh chóng bị loại bỏ.

Không phải ai cũng dễ dàng loại bỏ tất cả các kiểu gõ, đặt tên hay định dạng. Phản ứng của sếp tôi có hơi quá khích, nhưng nó buộc tôi phải suy nghĩ lại trong lần thử thứ hai (hoặc đôi khi là thứ ba). Tuy nhiên, cách tốt nhất để sửa code lỗi là chuyển sang chế độ code được tái cấu trúc, dịch chuyển hoặc xoá bỏ.

Code cần phải đơn giản. Cần có một số lượng tối thiểu các biến, hàm, khai báo và các yêu cầu cú pháp khác. Thêm dòng, biến phụ… hay bất cứ điều gì, nên bị loại trừ ngay lập tức. Chỉ nên có vừa đủ để hoàn thành công việc, hoàn thành thuật toán hay thực hiện các tính toán. Bất cứ điều gì khác chỉ là thứ không cần thiết, vô tình xuất hiện và che khuất những thứ quan trọng.

Tất nhiên, nếu không thành công thì bạn chỉ cần xóa đi và làm lại. Suy nghĩ theo cách đó thường giúp bỏ qua nhiều sự lộn xộn không cần thiết.