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

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

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

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

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

55
0
4
Общее количество ответов: 4

Ответ #1

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

При использовании только Ruby (т.е. не Rails) именование 9X_casing-conventions является лишь условием. В Rails convention использование 9X_variable-naming подчеркивания необходимо (почти).

Я думаю, что 9X_file соглашение №2 lowercase_and_underscore.rb более распространено и выглядит 9X_variable-naming довольно хорошо, хотя в статье Here говорится, что 9X_naming-conventions lowercasenounderscore.rb - это соглашение Ruby.

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

51
2

  • Статья, которую вы процитировали для `lowercasenounderscore.rb`, старая, и я не видел, чтобы кто-то еще утверждал, что это конвенция. Подчеркивани ...

Ответ #2

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

Я лично считаю, что дефис в качестве разделителя 9X_naming-conventions слов обеспечивает максимальную читаемость 9X_casing-conventions и типизируемость в целом, поэтому я рекомендую 9X_conventions это везде, где это возможно (в некоторых 9X_files контекстах дефис не может использоваться, например, в 9X_variable-naming идентификаторах на большинстве языков). Следует 9X_variable-naming иметь в виду, что выбранная вами схема будет 9X_convention иметь отношение к оператору require, который 9X_casing-conventions пользователи будут использовать с вашей 9X_files библиотекой, и вы хотите, чтобы имя гема отличалось от имени библиотеки.

Плохой

# 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'

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

9
0

Ответ #3

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

Я бы порекомендовал символы нижнего регистра 9X_convention с подчеркиванием (цифра 2 в вашем вопросе). Это 9X_casing-conventions правда, что эта схема именования является 9X_ruby соглашением в Rails и не обязательна в проектах, отличных 9X_convention от Rails. Однако я бы все равно придерживался 9X_files соглашения Rails, потому что большинство 9X_file программистов Ruby, вероятно, в любом случае 9X_variable-naming используют Ruby исключительно для Rails.

7
0

Ответ #4

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

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

9X_file

5
0