# Csharp Best Practices

> C# 12 / .NET 8 기준 코드 작성 가이드라인. 코드 작성 전/중에 참조하는 knowledge-base skill. Modern C# 기능과 베스트 프랙티스를 자동 주입.

- Skill: `jeongheonk/csharp-best-practices` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add jeongheonk/csharp-best-practices`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jeongheonk/csharp-best-practices/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jeongheonk (https://skillmd.com/u/jeongheonk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jeongheonk/csharp-best-practices

---


# C# Best Practices

C# 12 / .NET 8 기준 코드 작성 가이드라인 knowledge-base skill.

## Overview

이 스킬은 코드 **작성 시** 참조하는 가이드라인을 제공합니다. 코드 리뷰(csharp-code-review)와 달리, 작성 전/중에 올바른 패턴을 안내합니다.

| 구분 | csharp-code-review | csharp-best-practices |
|------|-------------------|----------------------|
| 목적 | 기존 코드 리뷰/검토 | 코드 작성 시 가이드라인 참조 |
| 시점 | 코드 작성 후 | 코드 작성 전/중 |
| 출력 | 리뷰 리포트 | 가이드라인 주입 |

## Arguments

- `$ARGUMENTS[0]`: 조회할 토픽 (optional)
  - 미지정 시 전체 규칙 목록 표시
  - 예: `primary-constructor`, `record`, `pattern-matching`

## Rules

### C# 12 Features (.NET 8) — CRITICAL

코드 작성 시 반드시 고려해야 할 C# 12 기능:

| 규칙 | 파일 | 설명 |
|------|------|------|
| Primary Constructors | `rules/cs12-primary-constructor.md` | class/struct 직접 생성자 매개변수 |
| Collection Expressions | `rules/cs12-collection-expression.md` | `[1, 2, 3]` 통합 구문 |
| Alias Any Type | `rules/cs12-alias-any-type.md` | `using` alias 모든 타입 |
| Lambda Default Params | `rules/cs12-lambda-defaults.md` | 람다 기본 매개변수 |
| Inline Arrays | `rules/cs12-inline-array.md` | struct 고정 크기 배열 |
| ref readonly Parameters | `rules/cs12-ref-readonly-param.md` | ref/in 명확한 API |

### Modern C# (C# 9-11, .NET 8 호환) — MEDIUM

| 규칙 | 파일 | 버전 |
|------|------|------|
| Record Types | `rules/modern-record-type.md` | C# 9 |
| required / init | `rules/modern-required-init.md` | C# 11 |
| Pattern Matching | `rules/modern-pattern-matching.md` | C# 8-11 |
| List Patterns | `rules/modern-list-pattern.md` | C# 11 |
| Raw String Literals | `rules/modern-raw-string-literal.md` | C# 11 |
| File-scoped Namespaces | `rules/modern-file-scoped-namespace.md` | C# 10 |

## Execution

### 토픽 지정 시

해당 규칙 파일을 읽고 가이드라인을 출력합니다.

```
/csharp-best-practices primary-constructor
→ rules/cs12-primary-constructor.md 내용 출력
```

### 토픽 미지정 시

전체 규칙 목록을 요약하여 출력합니다.

```
/csharp-best-practices
→ 12개 규칙 목록 + 간단 설명 출력
```

## 현재 전달받은 인자

**ARGUMENTS**: $ARGUMENTS

## 실행 지시

1. ARGUMENTS가 있으면 해당 토픽과 매칭되는 규칙 파일을 찾아 내용을 출력하세요.
2. ARGUMENTS가 비어있으면 전체 규칙 목록을 요약하여 출력하세요.
3. 규칙 출력 시 **Before/After 코드 예시**를 반드시 포함하세요.

