Rubocop의 각 Cops에는 어떤 역할이 있는지 알아 보았습니다.

4472 단어 RuboCop루비Rails
Rails를 사용하면 린터로서 많은 프로젝트에서 사용되고 있는 Rubocop에서 위반하면 나온다. 네.

Cop 종류 1


  • Style Cops
  • Layout Cops
  • Lint Cops
  • Metrics Cops
  • Naming Cops
  • Perfomance Cops
  • Security Cops
  • Rails Cops
  • Bundler Cops

  • 각 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는 복수형으로 표현되고 있었으므로, 그 표현을 사용하고 있습니다. 

    좋은 웹페이지 즐겨찾기