Стандартные соглашения об именах файлов в Ruby
Для файла, содержащего данный класс, SomeCoolClass, что будет правильным или стандартным именем файла?
1. somecoolclass.rb
2. some_cool_class.rb
3. some-cool-class.rb
4. SomeCoolClass.rb
или какой-либо другой вариант?
Я заметил, что в Ruby stdlib используются версии 1, 2 и 3.
Ответы
Ответ 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