Я делаю один файл для каждого класса, за исключением классов, которые являются небольшими вспомогательными классами и не нужны другим файлам. Я также разделяю свои разные модули в подкаталогах.
Разница между load
и require
в require
загрузит файл только один раз, даже если он вызывается несколько раз, тогда как load
загрузит его снова независимо от того, был ли он загружен ранее. Вы почти всегда захотите использовать require
, за исключением, может быть, irb
, когда вы хотите вручную перезагрузить файл.
Я не уверен в ударе по производительности. Когда вы load
или require
файл, интерпретатор должен интерпретировать файл. Большинство Ruby's скомпилируют его в код виртуальной машины после того, как это потребуется. Очевидно, что require
более производительный, когда файл, возможно, уже был включен один раз, потому что может не потребоваться его повторная загрузка.