{"meta":{"title":"코드 품질에 대한 C# CodeQL 쿼리","intro":"CodeQL이 C#으로 작성된 코드의 코드 품질을 분석하는 데 사용하는 쿼리들을 살펴봅니다.","product":"보안 및 코드 품질","breadcrumbs":[{"href":"/ko/enterprise-cloud@latest/code-security","title":"보안 및 코드 품질"},{"href":"/ko/enterprise-cloud@latest/code-security/reference","title":"Reference"},{"href":"/ko/enterprise-cloud@latest/code-security/reference/code-quality","title":"코드 품질"},{"href":"/ko/enterprise-cloud@latest/code-security/reference/code-quality/codeql-queries","title":"CodeQL 쿼리"},{"href":"/ko/enterprise-cloud@latest/code-security/reference/code-quality/codeql-queries/csharp-queries","title":"C# 쿼리"}],"documentType":"article"},"body":"# 코드 품질에 대한 C# CodeQL 쿼리\n\nCodeQL이 C#으로 작성된 코드의 코드 품질을 분석하는 데 사용하는 쿼리들을 살펴봅니다.\n\nCode Quality는 C# 코드를 분석하고 코드 품질 문제를 감지하기 위해 다음 CodeQL 쿼리들을 사용합니다.\n\n* 리포지토리의 \"표준 결과\" 대시보드에 결과가 표시된 **기본 분기**\n* **끌어오기 요청**으로서, 결과는 `github-code-quality[bot]`에 의해 작성된 주석으로 표시됩니다.\n\n가능한 경우, 결과에 대해 코파일럿 자동 수정 제안 사항이 제공됩니다.\n\n<div class=\"ghd-tool rowheaders\">\n\n| 쿼리 이름 | 카테고리 | 심각도\n           |\n| --- | --- | --- |\n| [단일 Response.Write()를 사용하여 코드 차단](https://codeql.github.com/codeql-query-help/csharp/cs-asp-response-write/) | 유지 관리 | Recommendation |\n| [사용되지 않는 메서드 호출](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-obsolete-method/) | 유지 관리 | 경고 |\n| [클래스의 이름은 super 클래스와 같습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-class-name-matches-base-class/) | 유지 관리 | Recommendation |\n| [클래스는 ICloneable을 구현합니다.](https://codeql.github.com/codeql-query-help/csharp/cs-class-implements-icloneable/) | 유지 관리 | Recommendation |\n| [상수 조건](https://codeql.github.com/codeql-query-help/csharp/cs-constant-condition/) | 유지 관리 | 경고 |\n| [컨테이너 콘텐츠에 액세스할 수 없습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-unused-collection/) | 유지 관리 | 오류 |\n| [슈퍼 클래스의 필드를 마스킹하는 필드](https://codeql.github.com/codeql-query-help/csharp/cs-field-masks-base-field/) | 유지 관리 | 경고 |\n| [무의미한 조건문](https://codeql.github.com/codeql-query-help/csharp/cs-useless-if-statement/) | 유지 관리 | 경고 |\n| [로컬 범위 변수가 멤버 변수를 숨깁니다](https://codeql.github.com/codeql-query-help/csharp/cs-local-shadows-member/) | 유지 관리 | Recommendation |\n| [놓친 'readonly' 기회](https://codeql.github.com/codeql-query-help/csharp/cs-missed-readonly-modifier/) | 유지 관리 | Recommendation |\n| [놓친 '활용' 기회](https://codeql.github.com/codeql-query-help/csharp/cs-missed-using-statement/) | 유지 관리 | Recommendation |\n| [All 기능을 사용할 기회를 놓쳤습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-all/) | 유지 관리 | Recommendation |\n| [캐스트를 사용할 기회를 놓쳤습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-cast/) | 유지 관리 | Recommendation |\n| [OfType을 사용할 기회를 놓쳤습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-oftype/) | 유지 관리 | Recommendation |\n| [Select를 사용할 기회를 놓쳤습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-select/) | 유지 관리 | Recommendation |\n| [Where를 사용할 기회를 놓쳤습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-where/) | 유지 관리 | Recommendation |\n| [3회 기회를 놓쳤습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-missed-ternary-operator/) | 유지 관리 | Recommendation |\n| [중첩된 'if' 문을 결합할 수 있습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-nested-if-statements/) | 유지 관리 | Recommendation |\n| [중복 선택](https://codeql.github.com/codeql-query-help/csharp/cs-linq-useless-select/) | 유지 관리 | 경고 |\n| [중복 ToString() 호출](https://codeql.github.com/codeql-query-help/csharp/cs-useless-tostring-call/) | 유지 관리 | Recommendation |\n| [인스턴스 메서드로 작성된 정적 필드](https://codeql.github.com/codeql-query-help/csharp/cs-static-field-written-by-instance/) | 유지 관리 | Recommendation |\n| [불필요하게 복잡한 부울 식](https://codeql.github.com/codeql-query-help/csharp/cs-simplifiable-boolean-expression/) | 유지 관리 | Recommendation |\n| [사용되지 않는 레이블](https://codeql.github.com/codeql-query-help/csharp/cs-unused-label/) | 유지 관리 | 경고 |\n| [지역 변수에 대한 쓸모 없는 할당](https://codeql.github.com/codeql-query-help/csharp/cs-useless-assignment-to-local/) | 유지 관리 | 경고 |\n| [GetHashCode()에 대한 쓸모 없는 호출](https://codeql.github.com/codeql-query-help/csharp/cs-useless-gethashcode-call/) | 유지 관리 | Recommendation |\n| [대기하는 동안 잠금이 유지됩니다.](https://codeql.github.com/codeql-query-help/csharp/cs-locked-wait/) | Reliability | 경고 |\n| ['System.IO.Path.Combine'에 대한 호출은 이전 인수를 자동으로 삭제할 수 있습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-path-combine/) | Reliability | Recommendation |\n| [GC.Collect() 호출](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-gc/) | Reliability | 경고 |\n| [값 형식 식에서 ReferenceEquals(...) 호출](https://codeql.github.com/codeql-query-help/csharp/cs-reference-equality-on-valuetypes/) | Reliability | 오류 |\n| [관리되지 않는 코드에 대한 호출](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-unmanaged-code/) | Reliability | Recommendation |\n| ['this'를 형식 매개 변수로 캐스팅](https://codeql.github.com/codeql-query-help/csharp/cs-cast-of-this-to-type-parameter/) | Reliability | Recommendation |\n| [StringBuilder 생성자에 전달된 문자](https://codeql.github.com/codeql-query-help/csharp/cs-stringbuilder-initialized-with-character/) | Reliability | 오류 |\n| [동일한 값 비교](https://codeql.github.com/codeql-query-help/csharp/cs-comparison-of-identical-expressions/) | Reliability | 경고 |\n| [컨테이너 콘텐츠가 초기화되지 않습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-empty-collection/) | Reliability | 오류 |\n| [컨테이너 크기가 0과 비교됨](https://codeql.github.com/codeql-query-help/csharp/cs-test-for-negative-container-size/) | Reliability | 경고 |\n| [역참조 변수는 항상 null입니다.](https://codeql.github.com/codeql-query-help/csharp/cs-dereferenced-value-is-always-null/) | Reliability | 오류 |\n| [역참조 변수는 null일 수 있습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-dereferenced-value-may-be-null/) | Reliability | 경고 |\n| ['this'의 의심스러운 다운캐스트](https://codeql.github.com/codeql-query-help/csharp/cs-downcast-of-this/) | Reliability | 경고 |\n| ['this'의 모호한 유형 테스트](https://codeql.github.com/codeql-query-help/csharp/cs-type-test-of-this/) | Reliability | 경고 |\n| [조건문의 빈 분기 또는 빈 루프 바디](https://codeql.github.com/codeql-query-help/csharp/cs-empty-block/) | Reliability | 경고 |\n| [빈 lock 문](https://codeql.github.com/codeql-query-help/csharp/cs-empty-lock-statement/) | Reliability | 경고 |\n| [부동 소수점 값에 대한 같음 확인](https://codeql.github.com/codeql-query-help/csharp/cs-equality-on-floats/) | Reliability | 경고 |\n| [컬렉션의 Equals](https://codeql.github.com/codeql-query-help/csharp/cs-equals-on-arrays/) | Reliability | Recommendation |\n| [비교할 수 없는 형식에서 같음](https://codeql.github.com/codeql-query-help/csharp/cs-equals-on-unrelated-types/) | Reliability | 오류 |\n| [내부 표현 드러내기](https://codeql.github.com/codeql-query-help/csharp/cs-expose-implementation/) | Reliability | Recommendation |\n| [필드의 쓸데없는 동기화](https://codeql.github.com/codeql-query-help/csharp/cs-unsafe-sync-on-field/) | Reliability | 오류 |\n| [일반 catch 절](https://codeql.github.com/codeql-query-help/csharp/cs-catch-of-all-exceptions/) | Reliability | Recommendation |\n| [GetHashCode 정의가 없는 해시된 값](https://codeql.github.com/codeql-query-help/csharp/cs-gethashcode-is-not-defined/) | Reliability | 경고 |\n| [불가능한 배열 캐스트](https://codeql.github.com/codeql-query-help/csharp/cs-impossible-array-cast/) | Reliability | 오류 |\n| [일관되지 않은 잠금 시퀀스](https://codeql.github.com/codeql-query-help/csharp/cs-inconsistent-lock-sequence/) | Reliability | 오류 |\n| [ContainsKey의 비효율적인 사용](https://codeql.github.com/codeql-query-help/csharp/cs-inefficient-containskey/) | Reliability | Recommendation |\n| [잘못된 문자열 서식 지정](https://codeql.github.com/codeql-query-help/csharp/cs-invalid-string-formatting/) | Reliability | 오류 |\n| [lock 문에서 'this' 개체 잠금](https://codeql.github.com/codeql-query-help/csharp/cs-lock-this/) | Reliability | 경고 |\n| [로컬 IDisposable에서 Dispose 호출 누락](https://codeql.github.com/codeql-query-help/csharp/cs-local-not-disposed/) | Reliability | 경고 |\n| [변수가 같은 중첩 루프](https://codeql.github.com/codeql-query-help/csharp/cs-nested-loops-with-same-variable/) | Reliability | 경고 |\n| [Equals(object)에 대한 Null 인수](https://codeql.github.com/codeql-query-help/csharp/cs-null-argument-to-equals/) | Reliability | 경고 |\n| [컨테이너 길이와 일대일 비교](https://codeql.github.com/codeql-query-help/csharp/cs-index-out-of-bounds/) | Reliability | 오류 |\n| [잘못된 오류 처리: NullReferenceException catch](https://codeql.github.com/codeql-query-help/csharp/cs-catch-nullreferenceexception/) | Reliability | 경고 |\n| [잘못된 오류 처리: 빈 catch 블록](https://codeql.github.com/codeql-query-help/csharp/cs-empty-catch-block/) | Reliability | Recommendation |\n| [가능한 정밀도 손실](https://codeql.github.com/codeql-query-help/csharp/cs-loss-of-precision/) | Reliability | 오류 |\n| [잠재적으로 위험한 비 단락 논리 사용](https://codeql.github.com/codeql-query-help/csharp/cs-non-short-circuit/) | Reliability | 오류 |\n| [속성을 설정할 때는 속성 값이 사용되지 않습니다.](https://codeql.github.com/codeql-query-help/csharp/cs-unused-property-value/) | Reliability | 경고 |\n| [Equals(개체)에 대한 재귀 호출](https://codeql.github.com/codeql-query-help/csharp/cs-recursive-equals-call/) | Reliability | 오류 |\n| [예외 변수를 다시 던지기](https://codeql.github.com/codeql-query-help/csharp/cs-rethrown-exception-variable/) | Reliability | 경고 |\n| [자체 할당](https://codeql.github.com/codeql-query-help/csharp/cs-self-assignment/) | Reliability | 오류 |\n| [루프의 문자열 연결](https://codeql.github.com/codeql-query-help/csharp/cs-string-concatenation-in-loop/) | Reliability | Recommendation |\n| [루프에서 StringBuilder 생성](https://codeql.github.com/codeql-query-help/csharp/cs-stringbuilder-creation-in-loop/) | Reliability | Recommendation |\n| [Equals 메서드에서 체크되지 않은 캐스트](https://codeql.github.com/codeql-query-help/csharp/cs-unchecked-cast-in-equals/) | Reliability | 경고 |\n| [관리되지 않는 코드](https://codeql.github.com/codeql-query-help/csharp/cs-unmanaged-code/) | Reliability | Recommendation |\n| [기본 ToString() 사용](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-object-tostring/) | Reliability | 경고 |\n\n</div>"}