Mọi người đều biết rằng các nhà phát triển mới viết các hàm dài. Khi bạn tiến bộ, bạn sẽ tốt hơn trong việc chia mã của mình thành các phần nhỏ hơn và kinh nghiệm dạy cho bạn giá trị của việc làm như vậy.
Nhập SQL. Đúng, cách suy nghĩ của SQL về mã khác với cách nghĩ về thủ tục về mã, nhưng nguyên tắc này có vẻ như có thể áp dụng được.
Giả sử tôi có một truy vấn có dạng:
select * from subQuery1 inner join subQuerry2 left join subquerry3 left join join subQuery4
Sử dụng một số ID hoặc ngày, vv
Những truy vấn con đó phức tạp và có thể chứa các truy vấn con của riêng chúng. Không có bối cảnh lập trình nào khác, tôi nghĩ rằng logic cho các truy vấn con phức tạp 1-4 phù hợp với truy vấn chính của tôi kết hợp tất cả chúng. Có vẻ đơn giản đến mức những truy vấn con đó phải được định nghĩa là các khung nhìn, giống như chúng sẽ là các hàm nếu tôi đang viết mã thủ tục.
Vậy tại sao đó không phải là thông lệ? Tại sao mọi người thường viết các truy vấn SQL nguyên khối dài này? Tại sao SQL không khuyến khích sử dụng chế độ xem rộng rãi giống như lập trình thủ tục khuyến khích sử dụng chức năng mở rộng. (Trong nhiều môi trường doanh nghiệp, việc tạo các khung nhìn thậm chí không phải là thứ dễ dàng thực hiện. Có những yêu cầu và phê duyệt cần thiết. Hãy tưởng tượng nếu các loại lập trình viên khác phải gửi yêu cầu mỗi khi họ tạo một hàm!)
Tôi đã nghĩ đến ba câu trả lời có thể:
Điều này đã phổ biến và tôi đang làm việc với những người thiếu kinh nghiệm
Các lập trình viên có kinh nghiệm không viết SQL phức tạp vì họ thích giải quyết các vấn đề xử lý dữ liệu cứng bằng mã thủ tục
Thứ gì khác