루비 스타일 가이드 💻💎

루비 스타일 가이드란?



Ruby는 Shopify의 기본 언어입니다. 우리는 주로 Ruby 매장이며 아마도 가장 큰 매장 중 하나일 것입니다. Ruby는 새로운 웹 프로젝트 및 스크립팅을 위한 기본 언어입니다.

이 스타일 가이드는 Shopify에서 10년 이상 Ruby를 개발한 결과입니다. 콘텐츠의 대부분은 Bozhidar Batsov의 Ruby 스타일 가이드를 기반으로 하며 많은 기여자가 Shopify에 적용했습니다.

— 프로젝트에 Rubocop 설치하기
$ gem install rubocop
이제 더 잘 린팅할 수 있는 프로그램을 만들어 봅시다.

name = "Karthik"
puts "Hello #{name}"


이제 저장하고 다음과 같이 Rubocop을 실행합니다.
$ rubocop rubocop_example.rb
rubocop은 다음과 같이 몇 가지 오류를 내뱉습니다.

파일 1개 검사


범죄:

rubocop_example.rb:1:1: C: [Correctable] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
name = "Karthik"
^
rubocop_example.rb:1:8: C: [Correctable] Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
name = "Karthik"
       ^^^^^^^^^

1 file inspected, 2 offenses detected, 2 offenses auto-correctable


- 루트에 .yml 파일을 만들고 다음을 붙여넣습니다.

AllCops:
  NewCops: enable
  Exclude:
    - 'db/migrate/*.rb'
    - 'config/**/*.rb'
    - 'bin/*'
    - 'spec/rails_helper.rb'
    - 'lib/**/*.rb' #it should be fixed later
    - 'spec/lib/**/*.rb' #it should be fixed later
    - 'spec/requests/**/*.rb' #it should be fixed later
Metrics/BlockLength:
  Exclude:
    - 'Rakefile'
    - '**/*.rake'
    - 'spec/**/*.rb'
    - 'app/admin/**/*.rb'
    - 'db/**/*.rb'
    - 'db/migrate/*.rb'
    - 'config/*.rb'
Documentation:
  Include:
    - 'app/models/**/*.rb'
  Exclude:
    - 'app/models/ability.rb'
    - 'app/models/application_record.rb'
    - 'app/models/concerns/**'
    - 'app/models/filter_client.rb'
    - 'app/models/filter_warehouse.rb'
Metrics/MethodLength:
  Max: 12
Metrics/ClassLength:
  Max: 1000



그게 다야; 이제 Rubocop이 프로젝트를 진행할 준비가 되었습니다! 🥳 🎉

읽어주셔서 감사합니다!📒

Guarapo Labs는 사람들이 아이디어를 개발하는 데 도움이 되는 디지털 제품을 만듭니다. 우리 직원은 웹 및 가상 현실 게임 프로젝트 작업에 필요한 모든 기술을 갖추고 있습니다. 솔루션을 통해 최상의 고객 경험을 제공하는 방법에 대해 고객을 교육하려는 우리의 약속은 고품질 소프트웨어에 반영됩니다.

문의하기 [email protected]
구아라포 연구소
edwin-nunez - 개요

좋은 웹페이지 즐겨찾기