---
type: digest
title: "소화 노트: Topic_Programming/Conventions"
generated_at: 2026-06-22T18:01:03.587Z
sources: ["코딩_컨벤션과_주석_철학", "프롬프트_엔지니어링_패턴"]
---

# 소화 노트: Topic_Programming/Conventions

> ⚙️ 자동 생성 (sleep-time 사전 소화) — **원문이 항상 우선**입니다. 소스가 바뀌면 자동 재생성되며, 이 파일은 삭제해도 안전합니다.

## 예상 질문과 답
- **Q: 코딩 컨벤션에서 주석을 작성할 때 가장 중요하게 고려해야 할 원칙은 무엇인가요?** — A: '무엇'을 하는지가 아니라, 왜 그렇게 했는지(**Why**)와 왜 다른 방법이 아니었는지(대안 기각 이유), 그리고 과거의 버그 사례를 남기는 **Post-mortem 주석**을 작성하는 것이 핵심입니다. [코딩 컨벤션과 주석 철학]
- **Q: 프롬프트 엔지니어링에서 '블록 조립' 방식이란 무엇인가요?** — A: 시스템 프롬프트를 역할, 규칙, 컨텍스트, 출력 형식 등 독립적인 요소로 나누어 `[EPISTEMIC GUARD]`와 같이 명명된 블록 형태로 만들고, 필요에 따라 이를 조합하여 사용하는 방식입니다. [프롬프트 엔지니어링 패턴]
- **Q: 작은 규모의 LLM(예: Gemma)을 사용할 때 발생할 수 있는 문제와 대응 방안은?** — A: System 프롬프트가 없으면 환각(Hallucination) 현상을 일으키며 답변을 거절할 수 있으므로, 반드시 **System 메시지를 통해 강하게 Grounding**해야 합니다. 또한 규칙을 번호로 매겨 명시하고 부정적 제약(Negative Constraint)을 활용해야 합니다 *합니다*. [프롬프트 엔지니어링 패턴]
- **Q: 코드에서 `??` (Nullish coalescing operator)를 사용하는 권장 패턴이 있나요?** — A: `0`이나 `''`(빈 문자열)처럼 유효한 값이 의미가 있는 경우, `||` 대신 `??`를 사용하여 의미 있는 기본값을 보존해야 합니다. [코딩 컨벤션과 주석 철학]
- **Q: 프롬프트에서 JSON 출력을 강제할 때 발생할 수 있는 위험과 해결책은?** — A: 모델이 JSON 외의 잡설(예: `## 마커`)을 섞어 출력할 수 있으므로, 균형 괄호 `{}`를 스캔하여 추출하는 **강건한 파서(Robust Parser)**와 사후 정제 로직을 함께 설계해야 합니다. [프롬프트 엔지니어링 패턴]

## 핵심 사실
- **코딩 컨벤션의 핵심 가치:** 주석은 코드의 의도(Why)와 과거의 실수(Post-mortem)를 학습시켜, LLM이 코드의 논리적 함정까지 이해하도록 돕는 최고의 학습 신호입니다. [코딩 컨벤션과 주석 철학]
- **프롬프트 설계 전략:** 프롬프트는 조립 가능한 블록 형태여야 하며, 출력 형식은 파싱 가능한 JSON/템플릿으로 강제하고, 검색 근거가 없을 때는 가드 지시를 강화하는 동적 조절이 필요합니다. [프롬프트 엔지니어링 패턴]
- **코드 작성 패턴:** 함수명은 동사구로, Boolean은 `is*`/`should*` 접두사를 사용하며, 내부 전용 메서드는 `_` 접두사를 사용하는 것이 권장됩니다. [코딩 컨벤션과 주석 철학]

## 문서 간 연결
- **공통 주제:** 두 문서 모두 **"예측 가능성과 신뢰성 확보"**를 공통 주제로 합니다. 코딩 컨벤션은 개발자와 LLM이 실수하지 않도록 '의도'와 '근거'를 남기는 것을 강조하며, 프롬프트 패턴은 모델이 정해진 규칙을 벗어나지 않도록 '구조화된 블록'과 '강한 제약'을 설계하는 것을 다룹니다.
- **상호 보완성:** 코딩 컨벤션에서 언급된 "LLM이 의도까지 학습하게 하는 주석"은 프롬프트 엔지니어링 패턴에서 말하는 "작은 모델의 Grounding 및 규칙 준수"를 구현하기 위한 기초 데이터(학습 신호) 역할을 합니다.
