Một chút nền tảng: Tôi là một trong hai lập trình viên cho bộ phận 10 người của chúng tôi (phần còn lại là nghệ sĩ và quản lý). Hai chúng tôi làm tất cả các mã hóa cần thiết để làm cho mọi thứ trôi chảy, và phát triển bất kỳ dự án nào được đưa ra. Tôi đã lập trình được khoảng 4 năm rồi, đây là công việc "thực sự" đầu tiên của anh ấy (như anh ấy đã nói). Chúng tôi thường đang làm việc trên các dự án khác nhau tại bất kỳ thời điểm nào.
Một vài tháng trước, tôi đã phát triển một tập hợp các lớp (không có nghĩa là hoàn hảo) sẽ được sử dụng cho một dự án sau này. Một phần lớn của dự án đó đã được giao cho anh ta (vì lý do thanh toán) để thiết kế và lập trình giao diện GUI. Vì anh ấy là người mới, tôi đã giúp một chút với việc thiết kế, và nói sẽ yêu cầu giúp đỡ nếu anh ấy cần nó với phần còn lại. Anh ấy đã hoàn thành giao diện một vài tuần trước, mà anh ấy đã demo để cho thấy rằng nó hoạt động, mặc dù hơi chậm.
Phần tiếp theo của dự án đã bắt đầu mà tôi đang làm việc. Tôi đã mở giao diện để bắt đầu với các bước tiếp theo và ngay lập tức gặp sự cố (chậm một chút là thiếu hiểu biết, lỗi về các hành động thông thường, v.v.). Tôi đã xem xét mã cho một số vấn đề và đang tìm kiếm O(n^n)
các cuộc gọi nên O(n)
, nhập các giả định không có kiểm tra lỗi (đó là trong Python), các tham chiếu đến GUI được thêm vào mã gốc, v.v.
Bây giờ, tôi chắc chắn muốn dạy anh ấy những gì sai và cách khắc phục, nhưng anh ấy đã chuyển sang dự án tiếp theo của mình, và đây là một vài tuần trước. Tôi sợ tôi nói "Quay lại và làm đúng!" (với sự giúp đỡ tất nhiên) là quá khắc nghiệt, và chúng tôi vẫn còn các dự án khác để hoàn thành trong thời gian này. Tôi có nên tự sửa mã cho bây giờ và cố gắng nắm bắt mọi thứ trong tương lai không?
O(n^n)
trừ khi không có cách nào khác. Nếu họ làm như vậy, thì có lẽ họ đã đạt điểm C về thuật toán hoặc không lấy nó hoặc có một giáo viên nhảm nhí. Tận dụng một số loại công cụ để giúp tìm các vấn đề phổ biến sẽ tốt đẹp. Có lẽ là nhiệm vụ tiếp theo anh chàng này có thể viết một số bài kiểm tra hiệu suất?