굉장한 고리
멋진 Go Linters의 선별 된 목록.
Github Pull 요청에서 Linters를 실행하기위한 Golangci : SaaS Service가 후원합니다. 오픈 소스 무료.

내용물
- 클라우드 라이터
- 라이터
- 코드 형식
- 코드 복잡성
- 스타일과 패턴 확인
- 버그
- 사용되지 않은 코드
- 성능
- 보고서
- 기타
- Linters 도우미 도구
클라우드 라이터
집중하십시오
- GOLANGCI- GitHub PULL 요청에서 라이터를 실행하기위한 오픈 소스 SAAS 서비스. 오픈 소스 무료.
- Golint Online- Github, Bitbucket 및 Google Project에서 GOLINT 패키지를 사용하여 온라인으로 소스 파일을 GO로 선정합니다.
- Gopherci -Gopherci는 각 Github 풀 요청을 확인하고 뒤로 양립 할 수없는 변경 사항 및 기타 테스트 제품군을 확인하여 고품질 GO 프로젝트를 유지하는 데 도움이됩니다.
- 보고서 카드로 이동 - 레포 보고서 카드로 이동하십시오.
범용
- Codeclimate- 개방적이고 확장 가능한 정적 분석 플랫폼.
- CodeFactor- GitHub 또는 Bitbucket의 저장소에 대한 자동 코드 분석.
- Houndci- GitHub PULL 요청에 대한 코드 검토 도구
- 정량화 코드 - 자동화 된 코드 검토 및 수리
- Scrutinizer- Github와 통합 할 수있는 소유주 코드 품질 검사기
- Sideci- 자동화 된 코드 검토 도구. 개발자의 생산성 향상.
라이터
코드 형식
- DEMUPIMPORT- 가져 오기 경로는 동일하지만 가져 오기 이름이 다른 중복 가져 오기를 수정하십시오.
- GOFMT -GOFMT 형식 GO 프로그램. 모든 프로젝트에 대해 있어야합니다. -s 플래그를 사용하는 것을 잊지 마십시오.
- GOFUMPT-이 도구는 GOFMT의 수정 된 포크로 GOFMT보다 더 엄격한 형식을 시행하면서 거꾸로 호환됩니다.
- Goimports -Goimports는 GOFMT가하는 모든 일을합니다. 또한 사용되지 않은 수입을 점검합니다.
- UNINDENT- 불필요하게 들여 쓰기 된 보고서 코드
코드 복잡성
- ABCGO -GO 소스 코드에 대한 ABC 메트릭.
- 깊이 - GO 함수의 최대 값을 계산하십시오. 가독성 목적을 위해 함수를 여러 개의 작은 기능으로 분할 해야하는지 확인하는 것이 도움이됩니다.
- Funlen- 긴 기능을 확인하는 Linter. 줄 수와 명령문 수를 모두 확인할 수 있습니다.
- Gocyclo- 함수의 순환 복잡성을 계산하고 확인합니다.
- NAKEDRET -NAKEDRET는 지정된 기능 길이보다 큰 함수에서 알몸 반환을 찾는 GO 정적 분석 도구입니다.
- Splint- 너무 길거나 매개 변수 또는 결과가 너무 많은 함수를 찾습니다.
스타일과 패턴 확인
- Dogsled- 빈 식별자가 너무 많은 과제/선언을 찾습니다.
- DUPL- 코드 클론 감지를위한 도구.
- go -Checkstyle -Checkstyle은 Java Checkstyle과 같은 스타일 점검 도구입니다. 이 도구는 Java Checkstyle, Golint에서 영감을 얻었습니다. 스타일은 GO Code Review 주석의 몇 가지 요점을 언급했습니다.
- go-cleanarch-go-cleanarch는 종속성 규칙 및 Go 프로젝트의 패키지 간의 상호 작용과 같은 깨끗한 아키텍처 규칙을 검증하기 위해 만들어졌습니다.
- Go -ensistent- GO 프로그램을보다 일관성있게 만드는 데 도움이되는 소스 코드 분석기.
- GO -NAMECHECK- 프로젝트 내에서 가변/필드 명명 규칙을 유지하는 데 도움이되는 소스 코드 분석기.
- go-printf-func-name- printf와 같은 함수가 마지막에
f
로 명명되었는지 확인합니다. - go-ruleguard- 패턴 기반 사용자 정의 라인 규칙을 정의하고 실행합니다.
- gochecknoinits- 코드의 부작용을 줄이려면 시작 함수를 찾으십시오.
- gochecknoglobals- 코드의 부작용을 줄이려면 글로벌 Vars를 찾으십시오.
- GOCONST- 상수로 대체 할 수있는 GO 반복 문자열을 찾으십시오.
- GOLINT -GOLINT는 GO 소스 코드를위한 Linter입니다.
- GOSIMPLE -GOSIMPLE은 코드를 단순화하는 데 전문화되는 GO 소스 코드를위한 Linter입니다.
- Impi- 가져 오기 그룹화 및 주문을 확인하십시오.
- 인터페이스 - 인터페이스 유형을 좁히는 린터.
- LLL- 라인 길이 Linter, 파일의 라인 길이를 시행하는 데 사용됩니다.
- MISSPELL- 일반적으로 틀린 영어 단어를 찾습니다
- nofuncflags- 부울 매개 변수를 함수 (플래그)에 허용하지 않습니다.
- 사전 선고 - Shadows가 내장 식별자 (예 :
append
, copy
, int
)를 찾는 코드를 찾으십시오. - 부활 - ~ 6 배 더 빠르고, 엄격하고, 구성 가능하며, 확장 가능하며, Golint에 대한 아름다운 드롭 인 교체
- Unconvert- GO 소스에서 불필요한 유형 변환을 제거하십시오.
- 중고 exports- 수출 할 수있는 GO 내보내기 변수를 찾으십시오.
- Whitespace- 기능의 시작 및 끝에서 불필요한 신약 확인
버그
- APICOMPAT- 호환되지 않는 변경 사항에 대한 최근 GO 프로젝트 변경 사항을 확인하십시오.
- BADTIME -BADTIME는 시간의 부적절한 사용을 감지하는 골랑 린터입니다.
- BodyClose- HTTP 응답 본문이 닫히고 TCP 연결 재사용이 차단되지 않은지 확인합니다.
- Durcheck -Durcheck은 시간이 지남에 따라 잠재적 인 버그를 감지하는 매우 간단한 라이터입니다.
- 열거 케이스 - 열거 진료소 검사 모든 스위치 문은 유형의 모든 const 값을 처리합니다.
- Enumlinter- 이동 중에 열거 된 유형을위한 열거적인 린터.
- Errcheck -Errcheck은 GO 프로그램에서 확인되지 않은 오류를 확인하는 프로그램입니다.
- 가스 - GO AST를 스캔하여 보안 문제에 대한 소스 코드를 검사합니다.
- GO VET- 수의사는 GO 소스 코드를 검사하고 인수가 형식 문자열과 일치하지 않는 Printf 호출과 같은 의심스러운 구성을보고합니다. 변수의 그림자를 확인할 수 있지만 명시 적으로 활성화해야합니다.
- GOSUMCHECK- 유형 스위치의 가능한 모든 경우를 확인하십시오.
- go-sumtype- 유형 스위치의 가능한 모든 경우를 확인하십시오.
- Mulint- 재귀 잠금 장치를 감지하는 Go Lint, 이로 인해 죽은 자물쇠가 발생할 수 있습니다.
- SAFESQL- SQL 주입로부터 보호하는 골랑을위한 정적 분석 도구.
- Scopelint- GO 프로그램에서 고지되지 않은 변수에 대한 Scopelint 검사.
- sqlrows- sql.rows가 호출되는지 여부를 확인합니다.
- STATICCHECK -STATICCHECK는 스테로이드에 대한
go vet
이며 C#Resharper와 같은 도구에서 사용될 수있는 수많은 정적 분석 검사를 적용합니다.
사용되지 않은 코드
- 데드 코드 - 사용되지 않은 코드를 찾습니다.
- ineffassign- 기존 변수에 대한 할당이 사용되지 않은시기를 감지합니다.
- StructCheck- 사용하지 않는 글로벌 변수 및 상수를 찾으십시오.
- 비교 - 미사용 기능 매개 변수를보고하십시오.
- 사용하지 않은 점검은 사용하지 않은 상수, 변수, 기능 및 유형에 대한 코드를 사용합니다.
- VARCHECK- 사용하지 않는 글로벌 변수 및 상수를 찾으십시오.
성능
- AlignCheck- 최적으로 정렬되지 않은 구조에 대한 경고.
- COPITFIRTHER- 정적으로 분석 GO 코드 및 값으로 큰 구조를 전달하는 기능을보고합니다.
- 고양 - 필드가 정렬 된 경우 메모리를 덜 취할 수있는 GO 스트러크를 감지하는 도구.
- Prealloc- 잠재적으로 사전에 배치 될 수있는 슬라이스 선언을 찾으십시오.
- RangerDanger- 주소 가능한 배열을 통해 반복되는 범위 문장을 감지하는 도구
보고서
- FLEN- GO 패키지에서 기능 길이에 대한 정보를 얻으십시오.
- Goreporter- 정적 분석, 단위 테스트, 코드 검토 및 코드 품질 보고서 생성을 수행하는 Golang 도구.
- Golinters -Golinters는 Go Linters에 대한 HTML 보고서를 생성합니다.
기타
- 구식 패키지를 표시하는 콘솔 애플리케이션.
- go-template-lint-go-template-lint는 go text/template (및 html/템플릿) 템플릿 파일을위한 라이터입니다.
- Godox- 모든 TODO/FIXME 의견을 찾으십시오.
- Lingo- 특정 수표 세트.
- MEGACHECK -MEGACHECK는 정적 체크, GOSIMPLE을 실행하며 한 번에 사용하지 않습니다. 작업을 재사용 할 수 있으므로 각 도구를 개별적으로 실행하는 것보다 빠릅니다.
- go -critic- 현재 다른 라이터에서 구현되지 않은 검사를 가져 오는 소스 코드 라이터.
- TARP -TARP는 GO 소스 코드에서 직접 단위 테스트없이 기능 및 메소드를 찾습니다.
- Go -Mnd- GO를위한 Magic Number Detector.
- GOCHECKIT- 감가 상각 된 GO 모듈을 식별하는 데 도움이되는 GO 도구.
Linters 도우미 도구
- Golangci -Lint- Linters Runner를위한 러너. Gometalinter보다 5 배 빠릅니다. 좋은 색상 출력. 새로운 문제 만보 고 할 수 있습니다. 허위 양성이 적습니다. YAML/TOML 구성.
- Gometalinter -Metalinter는 모든 정적 분석 도구를 자동으로 적용하고 출력을 정규화 된 형태로보고하는 도구입니다.
- LINT- GO 테스트의 일환으로 Linters를 실행하십시오.
- RevGrep- 정적 분석 도구에서 출력을 필터링하여 최근에 변경된 코드 라인 만 표시
- REAVEYDOG- "ReviewDog"는 Linter 도구와 쉽게 통합하여 GitHub와 같은 코드 호스팅 서비스에 검토 의견을 게시하는 방법을 제공합니다.
- ZB- 고메탈 린스 결과를 캐싱하여 속도를 높이십시오.
- Golintui- Go Linters를위한 간단한 터미널 UI.