IT박스

하나 이상의 단어로 gem의 이름을 지정할 때 대시 나 밑줄을 사용해야합니까?

itboxs 2020. 12. 31. 08:06
반응형

하나 이상의 단어로 gem의 이름을 지정할 때 대시 나 밑줄을 사용해야합니까?


보석 이름에 두 단어 이상이있을 때 보석 명명 규칙이 무엇인지 혼란 스럽습니다.

  • think-sphinx는 gem의 이름이지만이 gem의 기본 * .rb 파일은 lib / thinking_sphinx.rb (밑줄)입니다.

  • acts-as-taggable-on은 gem의 이름이고 기본 * .rb 파일은 lib / acts-as-taggable-on.rb (하이픈)라고합니다.

  • factory_girl은 gem 이름과 기본 * .rb 파일 이름 모두에 밑줄을 사용합니다.

밑줄이나 하이픈을 사용하는 것이 중요합니까? 여기에 새로운 합의가 있습니까?


Eric Hodel은 이에 대한 블로그 게시물 : 프로젝트 명명 권장 사항

Rails는 CamelCase 클래스 이름을 밑줄이있는 파일 이름에 매핑하는 규칙을 강화했습니다 (클래스 IMAPProcesor는 imap_processor.rb에 정의 됨). 밑줄이있는 gem 이름을 사용하면 사람들이 어떤 파일이 필요한지 (프로젝트 이름과 동일) 또는 ri에서 찾을 클래스 이름을 쉽게 파악할 수 있습니다.

플러그인 젬이나 확장 기능이있는 경우 대시로 하위 프로젝트의 이름을 붙입니다. Chase 은행 이메일의 imap_to_rss에 대한 새 핸들러를 추가하려면 gem의 이름이 imap_to_rss-chase가됩니다.


여기에 있는 조언에 따라 , 여기에 상황이 어떻게 분해되는지에 대한 표가 있습니다.

|     Gem name        |   Require statement          | Main class or module  |
|:--------------------|:-----------------------------|:----------------------|
|fancy_require        |require 'fancy_require'       | FancyRequire          |
|ruby_parser          |require 'ruby_parser'         | RubyParser            |
|net-http-persistent  |require 'net/http/persistent' | Net::HTTP::Persistent |
|rdoc-data            |require 'rdoc/data'           | RDoc::Data            |
|autotest-growl       |require 'autotest/growl'      | Autotest::Growl       |
|net-http-digest_auth |require 'net/http/digest_auth'| Net::HTTP::DigestAuth |

참조 URL : https://stackoverflow.com/questions/4687659/should-one-use-dashes-or-underscores-when-naming-a-gem-with-more-than-one-word

반응형