Tôi đang làm việc trên một ứng dụng khá lớn và có lỗi - và do cách viết của nó (tôi sẽ tiết lộ chi tiết cho bạn, nhưng nó vi phạm các quy tắc trong hầu hết các lĩnh vực bạn có thể nghĩ đến), bên cạnh việc không thể phát triển nó mà không cần tái cấu trúc.
Phần quan trọng của ứng dụng được tác giả bởi các thực tập sinh, n00bs, v.v.; nhưng cũng đã có một lập trình viên trong cấp bậc của Nhà phát triển chính, và với tất cả sự khiêm nhường, mã mà anh ta để lại cũng đáng ngờ, theo một cách khác có lẽ nhưng vẫn còn.
Được cấp, mã của anh ta có xu hướng hoàn thành công việc - hầu hết thời gian - nhưng thường là khó hiểu, phát minh lại bánh xe (ví dụ: một phương pháp tùy chỉnh lớn thực hiện sao lưu SQL db khá bình thường), v.v. Về cơ bản, không cần nhầm lẫn cộng với quá nhiều lỗi quá mức
Và điều đó khiến tôi nghĩ rằng việc trở thành một lập trình viên có tay nghề cao (tôi cố tình không sử dụng từ "nhà phát triển", giả sử rằng nó chỉ ra một nhóm kỹ năng rộng hơn), nếu không đi kèm với các phẩm chất khác, thực sự có thể là một loại độc.
Giả sử đó là sự thật, một số lý do tôi có thể nghĩ đến là:
- nếu bạn đang mã hóa một cách dễ dàng, thì cảm giác (hoặc thực tế là trong ngắn hạn) chỉ nhanh hơn để đưa ra các giải pháp của riêng bạn ngay lập tức, mà không cần chuyển sang các thư viện, chức năng có sẵn, v.v.
- Nếu một người đủ kinh nghiệm để dễ dàng duy trì hình ảnh tinh thần của một chương trình phức tạp, thì người ta ít có khuynh hướng chia nó thành các mô-đun, lớp, v.v.
Vì vậy, quan điểm của tôi là nếu một lập trình viên thông thạo tình cờ là một nhà phát triển tồi, thì sự lưu loát của họ không chỉ không bù đắp cho cái sau mà còn thực sự gây hại nhiều hơn.
Bạn nghĩ gì về điều đó? Có đúng không (đến mức nào nếu vậy)?
I.ThinkOf(this).KindOfThing()