Kinh nghiệm tích lũy, chức năng đã được kiểm tra bởi hàng trăm nhà phát triển và sự tích luỹ của thời gian là cách tốt nhất để mô tả ý nghĩa của các thư viện được sử dụng trong quá trình phát triển.
Việc sử dụng thư viện có sẵn có ưu điểm và nhược điểm:
- Bạn không cần phải dành thời gian để phát triển lại từ đầu.
- Bạn đã kiểm tra chức năng sẵn có và sửa các lỗi nhỏ (nếu thư viện phổ biến).
- Người lập trình không luôn quan tâm đến việc thư viện có lỗ hổng bảo mật và ảnh hưởng đến hiệu suất.
- Module có thể khá phức tạp nếu bạn chỉ cần sử dụng một phần nhỏ của chức năng. Nếu bạn chỉ cần vài giờ để thực hiện, thì việc sử dụng các giải pháp sẵn có thường không được biện minh. Khi bạn có thể giải quyết một nhiệm vụ lớn với vài dòng mã và nhập nó, thì không có lý do để phát minh lại bánh xe. Quan trọng là hiểu và ước tính kích thước chức năng dự định ban đầu. Điều này đến từ kinh nghiệm. Một số công việc gần như không thể thực hiện được mà không có thư viện (hoặc ít nhất là có thể thực hiện được, nhưng khó khăn, tốn thời gian và không có ý nghĩa). Chúng ta đang nói chủ yếu về việc truy cập vào các công cụ và dịch vụ của bên thứ ba. Ví dụ, việc thanh toán trong ứng dụng di động được thực hiện thông qua thư viện tiêu chuẩn.
- Hiển thị hình ảnh trong danh sách có thể dường như là một nhiệm vụ dễ dàng. Nhưng thực tế, sẽ có một số vấn đề liên quan đến caching, điều chỉnh kích thước, làm tròn góc, v.v. Đây là một ví dụ tốt khi việc sử dụng các thư viện hình ảnh phổ biến được biện minh hơn.