Proven by Intelligence
보이지 않는 안전을 인텔리전스로 증명하다.
기술 인사이트를 만나보세요.
반도체, 전력망, 국방 등 다양한 산업 분야에서 C# 언어 기반의 소프트웨어가 널리 활용되고 있습니다.

출처 : 무기체계 소프트웨어 개발 및 관리 매뉴얼
특히 국방 산업에서는 신뢰성과 안정성이 핵심이 되는 만큼, 무기체계 소프트웨어 개발 및 관리 매뉴얼을 통해 Microsoft의 공식 코딩 규칙인 아래 두 가지 지침의 준수 및 검증을 요구하고 있습니다.
이 글에서는 위 두가지 가이드라인이 무엇인지 서로 어떤 차이가 있는지를 정리해보려고 합니다.
C# Coding Conventions란?
C# Coding Conventions는 .NET 런타임, C# 코딩 스타일, C#컴파일러(Roslyn) 지침을 기반으로 작성되었으며, Microsoft가 권장하는 스타일 및 구현 규칙입니다.
이 규칙은 코드의 일관성 및 가독성, 유지보수 용이성을 높이기 위해 제정되었으며, 코드 구조, 스타일, 보안까지 포함한 종합적인 가이드라인으로 구성되어 있습니다.
문서는 다음과 같이 세 가지 주요 항목으로 분류됩니다.
01. Language 규칙
코드 로직과 관련된 언어 사용 규칙으로 코드를 보다 명확하고 간결하게 작성할 수 있도록 가이드하고 있습니다. 예를 들어, 코드 리뷰 명확성을 위해 반복문의 변수는 암시적 형식(var)보다는 명시적 형식을 사용해야 하며, 너무 일반적인 예외를 catch하지 않도록 하는 등 예외처리를 구체화해야 합니다.
02. Style 규칙
코드의 외형적인 일관성을 위한 규칙으로 들여쓰기 및 코드 정렬, 주석 스타일 등의 형식을 정의합니다. 가독성을 높이고 협업 시, 코드 이해도를 통일시키는 데 목적이 있습니다.
03. Security 규칙
민감한 정보 노출 및 악성 코드 주입 등과 같이 보안 문제 방지를 위한 지침입니다. 예를 들어, 사용자로부터 입력 받은 값은 반드시 검증하여 악의적인 입력을 방지해야 하며, 리소스 접근 시 보안 제어를 적용해야 합니다.
.NET Framework Design Guidelines란?
.NET Framework Design Guidelines는 라이브러리와 API를 설계할 때 지켜야 할 설계 지침입니다.
문서는 다음과 같은 7개 카테고리로 구성되어 있습니다.

즉, .NET Framework Design Guidelines는 사용자 친화적이고 일관성 있는 API를 만들기 위해 고안되었으며, 장기적인 유지보수성과 재사용성 향상을 위한 설계 기준입니다.
결론
두 가이드라인의 차이점은 C# Coding Conventions는 ‘코드를 어떻게 작성할 것인가’에 대한 규칙이며, .NET Framework Design Guidelines는 ‘코드를 어떻게 설계할 것인가’에 대한 규칙입니다.
이 두 가지 코딩 규칙을 준수하고 검증함으로써, 일관성 있고 가독성 높으며, 유지보수가 용이하고 확장성 있는 코드를 작성할 수 있습니다.
CodeSonar는 자체 분석 엔진과 Roslyn 분석 엔진을 통합하여, C# Coding Conventions및 .NET Framework Design Guidelines의 규칙을 검증할 뿐만 아니라, 실행 시간에 발생할 수 있는 오류까지 사전에 검출할 수 있습니다.
CodeSonar의 C# 분석 방법 및 Microsoft 코딩 규칙 Rule Set이 필요하신 경우, 언제든지 문의해 주세요.
📧 codesonar@mdsit.co.kr ✍️ 문의남기기
