Loading...
Loading...
C# code review skill. Analyzes code quality from OOP, SOLID, GoF design pattern, modern C# features, and performance perspectives. Use before pull requests, when optimizing code, or auditing legacy codebases.
npx skill4agent add jeongheonk/c-sharp-custom-marketplace csharp-code-review$ARGUMENTS[0].cs| 원칙 | 리뷰 항목 |
|---|---|
| 캡슐화 | private 필드, 프로퍼티 접근, 구현 세부사항 은닉 |
| 상속 | 적절한 상속 계층, 상속보다 합성 우선 |
| 다형성 | 인터페이스/추상 클래스 활용, virtual 메서드 적절성 |
| 추상화 | 적절한 추상화 수준, 불필요한 세부사항 노출 |
| 원칙 | 리뷰 항목 | 위반 징후 |
|---|---|---|
| SRP | 클래스가 단일 책임을 갖는가? | 여러 이유로 클래스가 변경됨, 메서드 과다 |
| OCP | 확장에 열려있고 수정에 닫혀있는가? | 새 기능 추가 시 기존 코드 수정 필요, switch/if-else 체인 |
| LSP | 하위 타입이 상위 타입을 대체할 수 있는가? | 하위 클래스에서 예외 발생, 빈 메서드 오버라이드 |
| ISP | 클라이언트별로 인터페이스가 분리되어 있는가? | NotImplementedException, 미사용 메서드 |
| DIP | 추상화에 의존하는가? | new 직접 인스턴스화, 구체 클래스 타입 의존 |
| 기능 | 권장 시점 |
|---|---|
| Primary constructors | 간단한 초기화를 가진 클래스 |
| Collection expressions | 배열/리스트 초기화 |
| required properties | 생성자 없이 필수 초기화 보장 |
| init-only setters | 불변 객체 |
| record types | 값 기반 동등성, DTO |
| Pattern matching | 복잡한 조건문, 타입 검사 |
| File-scoped namespaces | 들여쓰기 축소 |
| Raw string literals | 여러 줄 문자열, JSON, SQL |
| 카테고리 | 리뷰 항목 |
|---|---|
| 메모리 할당 | 핫 경로에서 불필요한 할당, Large Object Heap (>= 85KB) |
| Async/Await | 차단 호출 (.Result, .Wait()), ConfigureAwait 누락 |
| 컬렉션 | 잘못된 컬렉션 타입, LINQ 다중 열거 |
| 문자열 | 루프 내 문자열 결합, StringBuilder 미사용 |
| 박싱 | 불필요한 값 타입 박싱 |
| Span/Memory | Span<T>, Memory<T> 없는 버퍼 연산 |
.Result.Wait()ConfigureAwait(false)ValueTaskIAsyncEnumerable?.????=whensealedRandom# 코드 리뷰 결과
## 요약
- 파일: {파일 경로}
- 종합 평가: {우수/양호/개선 필요/심각}
- 주요 이슈: {N}건
- .NET 버전 준수: {.NET 8/9 기능 활용도}
## SOLID 원칙 분석
### SRP 위반 (심각도: 높음/보통/낮음)
- 위치: `ClassName.cs:line`
- 문제: {설명}
- 개선안: {코드 예시 포함}
### OCP 위반
...
## 최신 C# 기능 적용 기회
### {기능명} 권장
- 위치: `file.cs:line`
- 현재: {기존 코드}
- 개선: {최신 C# 문법}
- 이점: {설명}
## 성능 이슈
### {이슈 제목} (심각도: 높음/보통/낮음)
- 위치: `file.cs:line`
- 문제: {영향 포함 설명}
- 현재: {문제 코드}
- 개선: {최적화 코드}
- 효과: {예상 개선점}
## 비동기 코드 이슈
### {이슈 제목}
- 위치: `file.cs:line`
- 문제: {설명}
- 위험: {데드락/성능/기타}
- 해결: {코드 수정}
## 적용 가능한 디자인 패턴
### {패턴명} 패턴 권장
- 현재 코드: {문제점}
- 적용 시 이점: {설명}
- 예시 코드: {간략 예시}
## 보안 우려사항
### {이슈 제목} (심각도: 심각/높음/보통/낮음)
- 위치: `file.cs:line`
- 취약점: {설명}
- 해결: {코드 수정}
## 코드 품질 이슈
### {이슈 제목}
- 위치: `file.cs:line`
- 현재: {코드}
- 개선: {코드}
## 우선순위별 개선 사항
1. [심각] {보안 이슈}
2. [높음] {SOLID 위반, 성능 이슈}
3. [보통] {코드 품질, 최신 기능 적용}
4. [낮음] {스타일 개선}