“Mã hoạt động. Đừng chạm vào nó.”

May 07 2023
Sản xuất sụp đổ là dễ dàng!
Có một câu nói cũ trong phát triển phần mềm. Tôi đã nghe điều này rất nhiều lần trong sự nghiệp của mình… Nếu nó không hỏng, đừng sửa nó.

Có một câu nói cũ trong phát triển phần mềm. Tôi đã nghe nó nhiều lần trong sự nghiệp của mình…

Nếu nó không bị hỏng, đừng sửa nó.

Bạn có thể gặp rắc rối khi tối ưu hóa mã cũ.

Nhưng bạn cũng nên dọn sạch mã cũ khi có thể!

Làm thế nào để bạn quyết định - để lại nó hoặc sửa chữa nó?

Mã của tôi chỉ hoạt động

Có một GIF vui nhộn đang xuất hiện trên Reddit ngay bây giờ..

Nó nhấn mạnh một thực tế là chúng ta thường biết mã của mình không phù hợp với miền!

Theo thời gian, chúng tôi có thể chắc chắn rằng mã sẽ bị lạm dụng hoặc mở rộng theo những cách kỳ lạ.

Ngay cả khi bạn viết mã, nó có vẻ không phải là giải pháp tốt nhất.

phải làm gì?

Cân nhắc các lựa chọn của bạn

Cho dù đó là mã bạn vừa viết hay mã cũ cần tái cấu trúc — làm cách nào để bạn quyết định phải làm gì với mã đó?

  • Một mặt, mã hoạt động! Phần mềm linh hoạt nói rằng đủ tốt là đủ . Bạn nên dành thời gian cho các hoạt động tạo ra nhiều giá trị hơn.
  • Mặt khác, để lại mã lộn xộn, khó hiểu hoặc được thiết kế kém cho người khác không phải là điều tốt đẹp! Ngoài ra, khi mã nền tảng được thiết kế tốt, các thay đổi và tiện ích mở rộng trong tương lai sẽ dễ dàng hơn nhiều.

Phát triển phần mềm là tất cả về sự đánh đổi. Bạn sẽ liên tục thực hiện các cuộc gọi phán xét. Có thực hiện tái cấu trúc hay không là một trong những lời kêu gọi đó.

Không dễ dàng như nó có vẻ

Bạn sẽ thường thấy rằng mã nền tảng phức tạp là có lý do.

Lúc đầu, có vẻ như có một cách tốt hơn nhiều. Nhưng khi bạn đi sâu vào công cụ tái cấu trúc, bạn sẽ thấy rằng có những trường hợp cạnh mà bạn không xem xét. Mã lõi này được sử dụng theo nhiều cách hơn bạn dự đoán.

Thông thường, việc dọn dẹp đơn giản trên một đoạn mã cơ bản sẽ làm sáng tỏ. Phải mất nhiều ngày hoặc nhiều tuần nỗ lực để theo dõi tất cả các phần.

Khi tìm cách sửa mã nền tảng, điều quan trọng là bạn phải hiểu phạm vi. Sự thay đổi này sẽ lớn đến mức nào? Nó sẽ ảnh hưởng đến bao nhiêu bộ phận của hệ thống? Tôi có thể mong đợi quá trình tái cấu trúc mất bao lâu?

Tôi muốn nói rằng hãy luôn cho rằng nó sẽ mất gấp đôi thời gian bạn nghĩ.

Sau đó, bạn phải hỏi, "Có đáng không?"

Câu hỏi để xem xét

Dưới đây là một số điều cần suy nghĩ trước khi bạn thực hiện một cuộc tái cấu trúc lớn:

  • Mã này có phải là nền tảng cho ứng dụng và do đó làm cho toàn bộ hệ thống dễ bảo trì hơn không?
  • Liệu một nhà tái cấu trúc có thường xuyên giúp đỡ các nhà phát triển trong tương lai hay mã này hiếm khi được động đến?
  • Nếu quá trình tái cấu trúc mất gấp đôi thời gian dự kiến, liệu nó có còn đáng không?
  • Có nỗ lực nào nhỏ hơn mà tôi có thể thực hiện trước tiên để nhận được một phần lợi ích của quá trình tái cấu trúc đầy đủ, như một cách để kiểm tra mức độ khó của các thay đổi không?
  • Nếu tôi dành thời gian cho việc tái cấu trúc này, thì sẽ có chi phí cơ hội cho các tính năng, cải tiến và sửa lỗi khác mà tôi có thể đang thực hiện. Bộ tái cấu trúc này có đủ quan trọng để đảm bảo điều đó không?

Nhưng tôi cũng đã tham gia vào các nhóm mà nỗ lực tái cấu trúc giả mạo đã làm tiêu tốn thời gian, năng lượng và sự chú ý của các nhà phát triển của chúng tôi. Tất cả chỉ vì lợi ích không nhiều.

Vì vậy, hãy suy nghĩ kỹ và thực hiện các nỗ lực tái cấu trúc của bạn với một tâm trí sáng suốt. Nhóm của bạn sẽ cảm ơn bạn.

danh sách hàng ngày

Tôi giúp các nhà phát triển phần mềm xây dựng sự nghiệp có ý nghĩa có mục đích.

Không giống như những người khác - những người khuyên bạn nên theo đuổi mức lương cao, công việc tại các công ty ưu tú (FAANG) hoặc luyện tập chuẩn bị cho cuộc phỏng vấn - tôi cố vấn cho các nhà phát triển hướng tới sự nghiệp phần mềm cân bằng và viên mãn.

Mục tiêu của tôi là giúp bạn làm việc trên phần mềm giúp thế giới trở nên tốt đẹp hơn.

2.000 nhà phát triển phần mềm khác nhận được bài đăng hàng ngày của tôi, gửi thẳng đến hộp thư đến của họ.

Tham gia danh sách hàng ngày và truy cập ngay vào nội dung hay nhất của tôi!

Tham gia Phương tiện với giá 5 đô la — Truy cập tất cả Phương tiện + hỗ trợ tôi và những người khác!