Подтвердить что ты не робот

Ruby: допустимо ли добавлять в файл несколько классов?

Это может быть немного эзотерическим вопросом, но я просто хочу знать, какие лучшие практики в этой проблеме.

4b9b3361

Ответ 1

Да, это вообще приемлемо, потому что оно не нарушает никаких принципов самого языка Ruby, но в конечном итоге зависит от практики вашей целевой аудитории или структуры. (Например, Rails любит, чтобы ваши классы были в одном файле.)

Однако, если вы группируете классы со связанными функциональными возможностями в один файл, вы также должны подумать о том, чтобы сделать их частью одного и того же модуля для пространства имен.

Ответ 2

Лично я стараюсь избегать этого для больших классов по чисто организационным причинам - легче перемещаться по большим классам, когда они разделены. Однако, если классы небольшие, связанные (например, все исключения в одном файле, а не в их группе) или мета-сгенерированные (например, с eval), то да - они находятся в одном файле.

Это зависит от того, какое приложение вы разрабатываете, и как вы хотите структурировать свой код, чтобы его было легко понять, документировать и модифицировать.

Ruby сам по себе не заботится об этом, вы можете иметь все свое приложение в одном файле, если хотите. Rails наоборот - из-за магической загрузки файлов на основе имен классов.

Ответ 3

Как правило, лучше всего хранить их в отдельных файлах, содержащих имя класса в имени файла. Это улучшает работу вашего проекта и облегчает переход кого-либо к вашей структуре.