Tôi làm việc trên một cơ sở mã khá lớn. Hàng trăm lớp, hàng tấn tệp khác nhau, rất nhiều chức năng, mất hơn 15 phút để kéo xuống một bản sao mới, v.v.
Một vấn đề lớn với cơ sở mã lớn như vậy là nó có khá nhiều phương thức tiện ích và nó cũng làm điều tương tự hoặc có mã không sử dụng các phương thức tiện ích này khi có thể. Và các phương thức tiện ích không chỉ có trong một lớp (vì nó sẽ là một mớ hỗn độn rất lớn).
Tôi còn khá mới mẻ với cơ sở mã, nhưng nhóm trưởng, người đã làm việc với nó trong nhiều năm dường như có cùng một vấn đề. Nó dẫn đến nhiều sự trùng lặp mã và công việc, và như vậy, khi một cái gì đó bị phá vỡ, nó thường bị phá vỡ trong 4 bản sao của cùng một mã
Làm thế nào chúng ta có thể kiềm chế mô hình này? Như với hầu hết các dự án lớn, không phải tất cả các mã đều được ghi lại (mặc dù một số là) và không phải tất cả các mã đều ... tốt, sạch sẽ. Nhưng về cơ bản, thật tuyệt nếu chúng ta có thể cải thiện chất lượng về mặt này để trong tương lai chúng ta có ít sự sao chép mã hơn và những thứ như các chức năng tiện ích dễ dàng khám phá hơn.
Ngoài ra, các hàm tiện ích thường là trong một số lớp trình trợ giúp tĩnh, trong một số lớp trình trợ giúp không tĩnh hoạt động trên một đối tượng hoặc là một phương thức tĩnh trên lớp mà nó chủ yếu "trợ giúp".
Tôi đã có một thử nghiệm trong việc thêm các chức năng tiện ích như các phương thức Tiện ích mở rộng (Tôi không cần bất kỳ nội bộ nào của lớp và nó chắc chắn chỉ được yêu cầu trong các tình huống rất cụ thể). Điều này có tác dụng ngăn chặn sự lộn xộn của lớp chính và như vậy, nhưng nó không thực sự được khám phá nữa trừ khi bạn đã biết về nó