Hầu hết các ứng dụng sẽ yêu cầu một số cấu hình bên ngoài; bạn có thể che giấu điều này bằng cách làm cho nó phụ thuộc vào các biến ma thuật hoặc bằng cách lưu nó vào một số vị trí nội bộ, nhưng điều đó sẽ không loại bỏ nhu cầu. Mục tiêu là nhận ra những gì nên bên ngoài, và những gì có thể là nội bộ. Chỉ có thể kiểm tra các bộ phận nội bộ.
Một ứng dụng không nên tin tưởng một tập tin cấu hình bên ngoài là chính xác. Nó sẽ kiểm tra tính chính xác, và báo cáo lỗi. Nếu ứng dụng không thể kiểm tra tệp cấu hình, có lẽ bạn đang làm quá nhiều với nó. Nếu tập tin cấu hình thay đổi hành vi của ứng dụng, theo ý kiến của tôi thì nó không nên ở bên ngoài.
Ví dụ, tên người dùng / mật khẩu cơ sở dữ liệu có thể dễ dàng được ứng dụng xác minh bằng cách cố gắng kết nối với cơ sở dữ liệu. Nếu điều này không thành công, nó có thể báo cáo nó, và rõ ràng đó không phải là một lỗi trong mã ứng dụng. Tương tự, đối với đường dẫn tệp, sự tồn tại và quyền truy cập có thể được kiểm tra.
Bây giờ, nếu bạn đã đặt các truy vấn SQL trong tệp cấu hình, thì ứng dụng không thể dễ dàng kiểm tra tính chính xác của các truy vấn đó. Điều tương tự cũng xảy ra đối với một tệp đặc tả tiêm phụ thuộc đầy đủ (một tệp Java-Spring XML). Những người không nên ở trong các tập tin cấu hình bên ngoài.
Nhưng nếu cấu hình được chỉ định mô tả một cái gì đó bên ngoài và bạn có thể nhanh chóng kiểm tra tính chính xác của nó, tôi không nghĩ có gì sai với các tệp cấu hình bên ngoài.
Chỉnh sửa: cũng đảm bảo báo cáo lỗi của bạn hiển thị tệp cấu hình nào được sử dụng. Không có gì khó chịu hơn việc phát hiện ra bạn đang xem sai tập tin sau nhiều giờ cố gắng tìm ra điều gì sai với nó.