Tôi không nghĩ hố đen có bất kỳ ưu điểm nào thực sự.
Viết mã kích hoạt để di chuyển dữ liệu có lẽ không phải là công việc ít hơn đáng kể so với viết mã để chèn dữ liệu vào đúng vị trí ngay từ đầu.
Như Christian Oudard đã viết, nó không làm giảm độ phức tạp - chỉ di chuyển nó đến một nơi thực sự khó gỡ lỗi.
Mặt khác:
"Tác dụng phụ" thường là một ý tưởng tồi trong phát triển phần mềm. Kích hoạt là tác dụng phụ - tôi định làm một việc (chèn dữ liệu vào bảng), và nó thực sự làm nhiều việc khác. Bây giờ, khi tôi gỡ lỗi mã của mình, tôi cũng phải ghi nhớ tất cả các tác dụng phụ trong đầu - và bản thân các tác dụng phụ cũng có thể có tác dụng phụ.
hầu hết phần mềm dành nhiều thời gian để bảo trì hơn là trong quá trình phát triển. Đưa các nhà phát triển mới vào nhóm và giải thích thủ thuật lỗ đen có khả năng làm tăng đường cong học tập - vì lợi ích không đáng kể (theo quan điểm của tôi).
Bởi vì kích hoạt là tác dụng phụ và tương đối dễ dàng để tạo ra một loạt các kích hoạt nếu bạn không cẩn thận, tôi luôn cố gắng thiết kế cơ sở dữ liệu của mình mà không phụ thuộc vào các kích hoạt; nơi mà các trình kích hoạt rõ ràng là cách thích hợp để đi, tôi chỉ để các nhà phát triển có kinh nghiệm nhất của tôi tạo ra chúng. Thủ thuật lỗ đen làm cho các kích hoạt trở thành một cách hoạt động bình thường, thường xuyên. Tất nhiên đây là quan điểm cá nhân.