Điều này có thể rất chủ quan và phụ thuộc vào tâm lý và sự nhạy cảm của bạn, nhưng các thư viện tồn tại lâu nhất của tôi mà tôi đã sử dụng cho các dự án cá nhân của mình và không bắt đầu ghét trong những năm qua luôn là nhỏ nhất, cô lập nhất (không phụ thuộc bên ngoài vào libs khác).
Đó là bởi vì nó chỉ mất một ý tưởng ngu ngốc hoặc cổ xưa để gây rối với toàn bộ nhận thức của tôi về thư viện. Giống như tôi có thể có mã C hoàn toàn hợp lý để rasterize các hình dạng trong thư viện vẽ ngoại trừ nó phụ thuộc vào một thư viện hình ảnh và toán học mà tôi đã viết trong những năm 90 so với các hình ảnh 16 bit, nhìn lại, bây giờ hoàn toàn rất tuyệt. Tôi cũng có thể có một thư viện phân tích cú pháp C ++ với một số mã phân tích cú pháp và mã AST phù hợp trong đó ngoại trừ tôi đã ghép nó với một luồng phân tích cú pháp nguyên khối, nhìn lại, là một thiết kế thực sự ngu ngốc và không thực tế. Vì vậy, bây giờ toàn bộ điều cảm thấy như shite. Hầu hết mã C ++ của tôi từ những năm 90 là hoàn toàn tào lao đối với tôi vì tôi không thực sự biết cách thiết kế hiệu quả trong C ++ hồi đó và đã làm những việc ngu ngốc như sử dụng tính kế thừa để "mở rộng" và cung cấp các lớp hình thành chức năng superset với hơn 100 thành viên và trừu tượng ngớ ngẩn thay vì mô hình hóa các kiểu con phù hợp với giao diện tối giản. Nhiều mã C của tôi đã sống sót qua bộ lọc shite của tôi, mặc dù chỉ là một phần nhỏ. Chủ yếu là tôi đã đưa ra một núi shite. Các hạt cốm vàng nhỏ mà tôi có thể chọn luôn luôn là mã tối giản nhất, tách rời nhất với mục đích duy nhất lớn nhất và thường phụ thuộc ít hơn các loại dữ liệu nguyên thủy.
Sau đó, tôi thậm chí không muốn làm phiền với các lib này nữa ngoại trừ có thể chuyển mã sang một lib mới mà không làm phiền với các lib đó và chỉ hoạt động với các pixel 32 bit và 128 bit thô và thay vào đó là toán học vector thay vì phụ thuộc vào một số lib toán học bên ngoài cho, nói, lib rasterization. Sau đó, mã kéo dài lâu hơn và giữ cho tôi hạnh phúc. Tôi là người hoài nghi với quan điểm của tôi về các thư viện. Tôi có xu hướng đánh giá họ bằng các liên kết yếu nhất thay vì các liên kết mạnh nhất. Tôi không thể bỏ qua cái xấu có lợi cho cái tốt cho đến khi cái xấu được loại bỏ hoàn toàn khỏi thư viện đó.
Vì vậy, tôi bỏ phiếu cho các thư viện nhỏ hơn, độc lập hơn vì chúng có xác suất thấp hơn, ít nhất là đối với tôi, về cảm giác như chúng sẽ trở nên tồi tệ hơn sau này. Nếu bạn đang làm việc trong một nhóm, tôi sẽ bầu chọn cho điều đó thậm chí nhiều hơn với các tiêu chuẩn mạnh hơn để giữ cho các thư viện tách rời nhau, vì chúng có thể trở nên lộn xộn rất nhanh với nhiều bàn tay trừ khi chúng có mục đích rất riêng biệt và mục đích hướng tới sự tối giản (tìm kiếm lý do không thêm nhiều hơn thay vì luôn tìm lý do để thêm nhiều hơn - bạn không thể ghét những gì bạn không thêm vào) ... mặc dù có vẻ như câu hỏi này dành cho các dự án cá nhân nhiều hơn yếu tố tâm lý trong hơn. Nhưng hơn nữa tôi sẽ bỏ phiếu để tách ra các phần chức năng tách rời. Bạn không nhất thiết phải chia khung của bạn cho tất cả các phần bạn muốn ngay lập tức. TÔI'