Rubocop의 각 Cops에는 어떤 역할이 있는지 알아 보았습니다.
Cop 종류 1
각 Cop의 역할
Style Cops
주로 루비 스타일 가이드에 따르고 있는지 어떤지를 체크하고 있는 Cops.
예) Naming
는 else 다음에 명령문이 없으면 위반을 감지합니다.
Style/EmptyElse#違反している例
if condition
statement
else
end
#正しい例1
if condition
statement
else
nil
end
#正しい例2
if condition
statement
end
Layout Cops
인텐드나 화이트 스페이스가 일관되게 사용되고 있는지를 체크하는 Cops.
예) Styel
라는 Cop은 인텐드의 깊이를 체크하고 있다.
Layout/IndentationWidth#違反している例
class BadExample
def greeting
puts 'hello'
end
end
#正しい例
class GoodExample
def greeting
puts 'hello'
end
end
Lint Cops
모호한 것이나 실수일 가능성이 높은 것을 체크하고 있는 Cops.
예) Layout
라는 Cop 는 같은 메소드가 복수 정의되어 있지 않은가 체크를 하고 있다
Lint/DuplicateMethods#違反している例
class BadExample
def foo
1
end
def foo
2
end
end
#正しい例
class GoodExample
def foo
1
end
def bar
2
end
end
Metrics Cops
소스 코드에서 정량화 가능한 속성을 처리하는 Cops.
클래스명의 길이 등이 이에 해당한다. 각각의 허용 가능한 최대값은 설정에서 변경될 수 있다.
Naming Cops
그 이름대로, 메소드명이나 정수, 파일명의 코드의 명명을 체크하는 Cops. 세터인데 =이 붙어 있지 않다. Ruby 파일은 스네이크 케이스여야 하는데, 카멜 케이스를 사용하고 있는 경우 등에 위반을 검지한다.
Performance Cops
특정 Ruby 관용구에서 동일한 기능을 수행하지만 성능이 좋은 다른 Ruby 관용구가있는 경우이를 감지하는 Cops.
Security Cops
보안이 좋지 않은 코드를 감지하는 Cops. 파일을 외부에서 읽는 코드 등을 확인합니다.
Rails Cops
익숙한 프레임 워크 Ruby on Rails 프레임 워크의 약관을 준수하는지 확인하는 Cops.
다른 Cops와 달리 기본적으로 사용할 수 없으므로 Style/EmptyElse
에서 선언해야합니다.
Bundler Cops
Gemfile의 코드를 확인하는 Cops.
Gemfile내에서 같은 Gem이 기재되어 있지 않은지 등의 체크를 한다.
Gemspec Cops
젬을 만들 때 만들 필요가 있다 Layout/IndentationWidth
파일 안을 체크한다. (Gem을 스스로 만든 적이 없기 때문에, 체크 내용은 파악하고 있지 않습니다. )
참고원
Rubocop 공식 문서
htps : // / cs. 도마뱀 p. 오 rg / 엔 / 아 st /
기타
앞으로 수시로 업데이트 예정
뭔가 잘못이나 조언이 있으면 꼭 댓글을 달아주세요
공식 문서에서는 각각의 Cops는 복수형으로 표현되고 있었으므로, 그 표현을 사용하고 있습니다. ↩
Reference
이 문제에 관하여(Rubocop의 각 Cops에는 어떤 역할이 있는지 알아 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shin_N/items/133b4bdf6837c6876bf4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#違反している例
if condition
statement
else
end
#正しい例1
if condition
statement
else
nil
end
#正しい例2
if condition
statement
end
#違反している例
class BadExample
def greeting
puts 'hello'
end
end
#正しい例
class GoodExample
def greeting
puts 'hello'
end
end
#違反している例
class BadExample
def foo
1
end
def foo
2
end
end
#正しい例
class GoodExample
def foo
1
end
def bar
2
end
end
Rubocop 공식 문서
htps : // / cs. 도마뱀 p. 오 rg / 엔 / 아 st /
기타
앞으로 수시로 업데이트 예정
뭔가 잘못이나 조언이 있으면 꼭 댓글을 달아주세요
공식 문서에서는 각각의 Cops는 복수형으로 표현되고 있었으므로, 그 표현을 사용하고 있습니다. ↩
Reference
이 문제에 관하여(Rubocop의 각 Cops에는 어떤 역할이 있는지 알아 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shin_N/items/133b4bdf6837c6876bf4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)