Một trong những tính năng yêu thích của tôi về python là bạn có thể viết các tệp cấu hình trong python rất đơn giản để đọc và hiểu. Nếu bạn đặt một vài ranh giới về bản thân, bạn có thể khá tự tin rằng những người không phải pythonistas sẽ biết chính xác những gì bạn muốn nói và sẽ hoàn toàn có khả năng cấu hình lại chương trình của bạn.Có bao giờ lịch sự để đặt mã trong một tệp cấu hình python không?
Câu hỏi của tôi là, chính xác những ranh giới đó là gì? Riêng của tôi heuristic cá nhân là
- Tránh kiểm soát dòng chảy. Không có hàm, vòng lặp hoặc điều kiện nào. Những người sẽ không được trong một tập tin cấu hình văn bản và mọi người không mong đợi để có hiểu chúng. Nói chung, nó có thể không quan trọng thứ tự mà các câu lệnh của bạn thực thi.
- Dính vào các bài tập theo nghĩa đen. Các phương thức và hàm được gọi trên các đối tượng khó suy nghĩ hơn. Bất cứ điều gì tiềm ẩn sẽ là một mớ hỗn độn. Nếu có điều phức tạp nào đó xảy ra với các thông số của bạn, hãy thay đổi cách chúng được diễn giải.
- Từ khóa ngôn ngữ và xử lý lỗi là đúng.
Tôi đoán tôi hỏi điều này vì tôi tình cờ thấy một tình huống với tệp cấu hình Django của tôi ở đó có vẻ hữu ích khi phá vỡ các quy tắc này. Tôi tình cờ thích nó, nhưng tôi cảm thấy một chút tội lỗi. Về cơ bản, dự án của tôi được triển khai thông qua kiểm tra svn với một vài máy chủ khác nhau mà sẽ không được cấu hình giống nhau (một số sẽ chia sẻ cơ sở dữ liệu, một số sẽ không, ví dụ). Vì vậy, tôi ném một cái móc vào cuối:
try:
from settings_overrides import *
LOCALIZED = True
except ImportError:
LOCALIZED = False
nơi settings_overrides nằm trên đường dẫn python nhưng bên ngoài bản sao làm việc. Bạn nghĩ gì, hoặc về ví dụ này, hoặc về ranh giới cấu hình python nói chung?
"thay đổi cách diễn giải của họ" -> "thay đổi cách chúng được diễn giải". Tôi biết nó không quan trọng, nhưng nó là một con thú cưng ... – tgray
Cảm ơn. Tôi cảm thấy rất xấu hổ. –