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

Стандартные соглашения об именах файлов в Ruby

Для файла, содержащего данный класс, SomeCoolClass, что будет правильным или стандартным именем файла?

 1. somecoolclass.rb
 2. some_cool_class.rb
 3. some-cool-class.rb
 4. SomeCoolClass.rb

или какой-либо другой вариант?

Я заметил, что в Ruby stdlib используются версии 1, 2 и 3.

4b9b3361

Ответ 1

С помощью Ruby (т.е. не Rails), именование - это только соглашение. В Rails требуется Здесь говорит lowercasenounderscore.rb - это соглашение Ruby.

Выберите либо, что когда-либо конвенция более распространена или которая когда-либо вам нравится больше. Самое главное - быть последовательным в проекте.

Ответ 2

Я бы рекомендовал символы нижнего регистра с символами подчеркивания (номер 2 в вашем вопросе). Верно, что эта схема именования является конвенцией в Rails и не нужна в проектах без Rails. Тем не менее, я все равно придерживаюсь соглашения Rails, потому что большинство программистов Ruby, вероятно, используют Ruby исключительно для Rails.

Ответ 3

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

Плохо
# gem install my_cool_lib
require 'my-cool-lib'

# gem install MyCoolLib
require 'my_cool_lib'
Хорошо
# gem install my_cool_lib
require 'my_cool_lib'

# gem install my-cool-lib
require 'my-cool-lib'

К сожалению, небольшая часть библиотек нарушает это простое правило юзабилити. Не будьте одной из этих библиотек.:)

Ответ 4

my-proj
├── README
├── lib
│   └── some_cool_class.rb
└── test
    └── some_cool_class_test.rb