다시 쓰기 작업을 사용하여 주석에 매개 변수 추가

게시일: 2020년 10월 26일
by 앨런 리처드슨
사례 연구

다시 쓰기 작업을 사용하여 주석에 매개 변수 추가

게시일: 2020년 10월 26일
by 앨런 리처드슨
리소스 보기
리소스 보기

이 블로그 게시물에서는 다음을 수행합니다.

  • 검색 및 일치 주석 시연
  • 콧수염 템플릿을 사용하는 Amen 주석

Sensei 문제가 있는 코드 패턴을 일치시키고 합의된 구현으로 수정할 수 있는 기능을 제공합니다. 이 예제에서는 매개 변수없이 @Disabled 문제 코드 패턴으로 사용하고 있습니다.

비활성화된 테스트 어노션

특정 한 이유없이 장애인 테스트는 우리가 그것을 비활성화 이유를 잊어 버리기 때문에 장기적으로 문제가 입증 될 수 있습니다.


@Disabled
   void thisTestMethodHasNoDisabledReason(){
    Assertions.fail("This test is disabled and should not run");
    }

위험은 시간이 지남에 따라 코드 베이스가 이동하면 비활성화 된 테스트가 코드의 목적으로 단계적으로 업데이트되지 않고 결국 중복되고 관련이 없으며 잠재적으로 다시 활성화되지 않는다는 것입니다.

코드 검토 중에 설명 설명을 추가하는 것이 좋습니다.


@Disabled ("Disabled to demonstrate adding a reason")
    void thisTestMethodHasDisabledReason(){
   Assertions.fail("This test is disabled and should not run");
   }

A Sensei 처방

설명 없이 @Disabled 추가될 때를 감지하는 레시피를 작성할 수 있으며, 이를 비활성화한 이유를 설명하는 실제 이유를 추가하도록 상기시켜 주는 빠른 수정 사항을 작성할 수 있습니다.

내가 무엇을 할 지 생각할 때, 나는 다음을해야합니다.

  • 매개 변수 없이 비활성화된 성냥무드 와 일치
  • 마커 텍스트 "TODO: 여기에 설명 추가"가 있는 매개 변수를 갖도록 비활성화된 성기를 변경합니다.

경고 레시피 만들기

Alt+Enter를 사용하여 새 레시피를 만듭니다.

새 레시피 함수 만들기

그런 다음 일반 정보에 기본 설명 텍스트를 추가합니다.

일반 설정

규칙을 경고로 만들면 일치하는 코드가 강조 표시되지만 눈부신 오류로 표시되지는 않습니다.

규칙을 경고로 만들기

어노비 찾기

레시피 편집기에서 어조와 일치하도록 검색을 변경합니다.

이렇게 하면 미리 보기의 모든 주석이 강조 표시됩니다.

레시피 편집기

그렇게 한 후, 나는 어장의 유형을 필터링할 것입니다.

난 그냥 사용 하 여 사용 하지만 난 완전히 JUnit에서 부기 일치 되도록 패키지와 클래스를 자격 5. 소스 코드가 미리 보기에 표시되므로 오타를 피하기 위해 실제 코드에서 쉽게 복사하여 붙여넣기할 수 있습니다.

그런 다음 매개 변수없이 주석만 일치시키고 싶고 GUI를 사용하여 그렇게 할 수 있습니다.

레시피 설정

즉, 검색:

search:
  annotation:
    type: "org.junit.jupiter.api.Disabled"
    without:
       parameters:
          - {}

빠른 수정 작업 다시 작성

내 QuickFix를 위해 나는 다시 쓰기 작업을 사용합니다.

변수 표시 기능을 사용하여 콧수염 변수를 표시하고 내용을 미리 봅타입니다.

퀵픽스 설정

그런 다음 장소 마커 주석을 만드는 데 필요한 추가 코드를 추가합니다.

장소 마커 주석을 만들기 위해 추가 코드 추가

즉, 퀵픽스:

availableFixes:
 - name: "Add a todo comment parameter"
   actions:
   - rewrite:
      to: "{{{ . }}}(\"TODO: add a description here\")"
      target: "self"

Sensei 작업 중

레시피 제작 과정을 보여주는 짧은 비디오를 만들었습니다.

요약

빠른 수정 을 다시 작성할 때, 우리가 다시 작성하려는 코드 요소를 검색할 수 있을 때, 그 다음에 우리가 행동할 수 있는 자체 엔터티이기 때문에 더 쉽습니다.

이 예제에서는 추가 작성 작업을 사용하여 어필을 수정했습니다. 다시 쓰기는 모든 코드 요소에 적용할 수 있는 범용 작업이며 탐색할 수 있는 기본값입니다.

리소스 보기
리소스 보기

저자

앨런 리처드슨

더 알고 싶으신가요?

블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.

Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.

블로그 보기
더 알고 싶으신가요?

개발자 중심 보안에 대한 최신 연구 보기

광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.

리소스 허브

다시 쓰기 작업을 사용하여 주석에 매개 변수 추가

게시일: 2020년 10월 26일
By 앨런 리처드슨

이 블로그 게시물에서는 다음을 수행합니다.

  • 검색 및 일치 주석 시연
  • 콧수염 템플릿을 사용하는 Amen 주석

Sensei 문제가 있는 코드 패턴을 일치시키고 합의된 구현으로 수정할 수 있는 기능을 제공합니다. 이 예제에서는 매개 변수없이 @Disabled 문제 코드 패턴으로 사용하고 있습니다.

비활성화된 테스트 어노션

특정 한 이유없이 장애인 테스트는 우리가 그것을 비활성화 이유를 잊어 버리기 때문에 장기적으로 문제가 입증 될 수 있습니다.


@Disabled
   void thisTestMethodHasNoDisabledReason(){
    Assertions.fail("This test is disabled and should not run");
    }

위험은 시간이 지남에 따라 코드 베이스가 이동하면 비활성화 된 테스트가 코드의 목적으로 단계적으로 업데이트되지 않고 결국 중복되고 관련이 없으며 잠재적으로 다시 활성화되지 않는다는 것입니다.

코드 검토 중에 설명 설명을 추가하는 것이 좋습니다.


@Disabled ("Disabled to demonstrate adding a reason")
    void thisTestMethodHasDisabledReason(){
   Assertions.fail("This test is disabled and should not run");
   }

A Sensei 처방

설명 없이 @Disabled 추가될 때를 감지하는 레시피를 작성할 수 있으며, 이를 비활성화한 이유를 설명하는 실제 이유를 추가하도록 상기시켜 주는 빠른 수정 사항을 작성할 수 있습니다.

내가 무엇을 할 지 생각할 때, 나는 다음을해야합니다.

  • 매개 변수 없이 비활성화된 성냥무드 와 일치
  • 마커 텍스트 "TODO: 여기에 설명 추가"가 있는 매개 변수를 갖도록 비활성화된 성기를 변경합니다.

경고 레시피 만들기

Alt+Enter를 사용하여 새 레시피를 만듭니다.

새 레시피 함수 만들기

그런 다음 일반 정보에 기본 설명 텍스트를 추가합니다.

일반 설정

규칙을 경고로 만들면 일치하는 코드가 강조 표시되지만 눈부신 오류로 표시되지는 않습니다.

규칙을 경고로 만들기

어노비 찾기

레시피 편집기에서 어조와 일치하도록 검색을 변경합니다.

이렇게 하면 미리 보기의 모든 주석이 강조 표시됩니다.

레시피 편집기

그렇게 한 후, 나는 어장의 유형을 필터링할 것입니다.

난 그냥 사용 하 여 사용 하지만 난 완전히 JUnit에서 부기 일치 되도록 패키지와 클래스를 자격 5. 소스 코드가 미리 보기에 표시되므로 오타를 피하기 위해 실제 코드에서 쉽게 복사하여 붙여넣기할 수 있습니다.

그런 다음 매개 변수없이 주석만 일치시키고 싶고 GUI를 사용하여 그렇게 할 수 있습니다.

레시피 설정

즉, 검색:

search:
  annotation:
    type: "org.junit.jupiter.api.Disabled"
    without:
       parameters:
          - {}

빠른 수정 작업 다시 작성

내 QuickFix를 위해 나는 다시 쓰기 작업을 사용합니다.

변수 표시 기능을 사용하여 콧수염 변수를 표시하고 내용을 미리 봅타입니다.

퀵픽스 설정

그런 다음 장소 마커 주석을 만드는 데 필요한 추가 코드를 추가합니다.

장소 마커 주석을 만들기 위해 추가 코드 추가

즉, 퀵픽스:

availableFixes:
 - name: "Add a todo comment parameter"
   actions:
   - rewrite:
      to: "{{{ . }}}(\"TODO: add a description here\")"
      target: "self"

Sensei 작업 중

레시피 제작 과정을 보여주는 짧은 비디오를 만들었습니다.

요약

빠른 수정 을 다시 작성할 때, 우리가 다시 작성하려는 코드 요소를 검색할 수 있을 때, 그 다음에 우리가 행동할 수 있는 자체 엔터티이기 때문에 더 쉽습니다.

이 예제에서는 추가 작성 작업을 사용하여 어필을 수정했습니다. 다시 쓰기는 모든 코드 요소에 적용할 수 있는 범용 작업이며 탐색할 수 있는 기본값입니다.

우리는 당신에게 우리의 제품 및 / 또는 관련 보안 코딩 주제에 대한 정보를 보낼 수있는 귀하의 허가를 바랍니다. 우리는 항상 최대한의주의를 기울여 귀하의 개인 정보를 취급 할 것이며 마케팅 목적으로 다른 회사에 판매하지 않을 것입니다.

양식을 제출하려면 '분석' 쿠키를 활성화하세요. 완료되면 언제든지 다시 비활성화할 수 있습니다.