반응형
하나 이상의 단어로 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 |
반응형
'IT박스' 카테고리의 다른 글
MongoDB와 CouchDB는 완벽한 대체품입니까? (0) | 2020.12.31 |
---|---|
비밀번호 안전성 검사 라이브러리 (0) | 2020.12.31 |
감정 분석을위한 훈련 데이터 (0) | 2020.12.31 |
MySQL의 빈 IN 절 매개 변수 목록 (0) | 2020.12.31 |
다음에 'StopIteration'을 발생 시키는데 'for'가 정상적인 반환을하는 이유는 무엇입니까? (0) | 2020.12.31 |