Существует ли стандартная или обычная система для организации многофайловых программ Ruby? Я начал свой первый большой "проект" в Ruby, поисковой программе, которая логически организована в несколько файлов и каталогов. Я описал ниже свою потенциальную структуру:
- Основной файл. Этот файл реализует класс поиска и общий протокол поиска.
- Файл алгоритмического анализа. Этот файл реализует функции, которые интерпретируют результаты поиска.
- Каталог протоколов
- Содержит один файл для каждого протокола для поиска.
- Каталог каналов
- Часть цели программы - поиск архивных лент новостей. Файлы для этой функции находятся в этой папке.
Однако в настоящее время код имеет класс (пусть он вызывает Searcher), который наследует каждый класс поиска протокола (GoogleSearcher < Searcher). Чтобы управлять этим, мне нужно включить основной файл в эти файлы протокола (правильно?), Который не представляется возможным, учитывая мою идеальную структуру.
Помимо моего конкретного примера, мне было интересно, существуют ли какие-либо соглашения, такие как "больше файлов, а не меньше", или "логическая структуризация файлов не нужна". Общепринято ли иметь файл "вспомогательных" функций (например, в Rails?). Какой уровень абстракции считается подходящим?
Наконец, я планирую интегрировать это в Rails когда-нибудь как библиотеку (а не плагин, я хочу, чтобы он тоже работал автономно). Я не знаю, повлияет ли это на организацию.
Я знаю, что это довольно открытый вопрос, но это потому, что я был бы признателен за любые советы, которые отдаленно релевантны. Спасибо заранее.