
코드 품질과 유지 관리를 Roslyn 분석기로 보장하는 방법
이 문서에서는 Roslyn 분석기가 Unity에서 게임 코드의 품질을 디버깅하고 개선하는 데 어떻게 도움이 되는지 설명합니다.
Roslyn 분석기는 Roslyn 컴파일러 플랫폼의 API를 사용하여 C# 코드를 실시간으로 분석하는 코드 분석 도구입니다. 분석기는 미리 정의된 규칙 집합에 따라 코드 개선 제안, 경고 또는 오류를 제공할 수 있습니다. Microsoft Visual Studio 및 Microsoft Visual Studio Code의 플러그인으로 작동하며, 이 두 코드 편집기에서 IntelliSense 기능을 보완합니다.
Roslyn 분석기는 IntelliSense에서 제공하는 제안, 완성 및 사용 가능한 API에 대한 정보를 기반으로 추가 도구를 사용하여 코드에서 잠재적인 문제를 분석하고 식별합니다. 또한, Roslyn 컴파일러 플랫폼의 API를 사용하여 가능한 수정 사항에 대한 제안을 받을 수 있습니다.
Roslyn 분석기는 표준을 강제하고 코드 규칙을 위반할 경우 경고하는 데 유용합니다. 또한, 이러한 코드 오류나 스타일 위반을 수정하는 데 종종 도움이 될 수 있습니다.
Visual Studio에는 Roslyn을 위한 오픈 소스 저장소의 일부인 많은 기본 분석기가 포함되어 있으며, 이 방법으로 디버깅에 대해 더 많이 배우는 데 좋은 자원입니다.
참고: 이 문서의 대부분은 Windows에만 적용됩니다. Roslyn 분석기는 macOS용 Visual Studio에서도 사용할 수 있지만, 이를 검사하는 지원은 Windows에서 제공되는 것에 비해 제한적입니다.

작동 중인 Roslyn 분석기
위 이미지는 Roslyn 분석기의 일반적인 사용을 보여주는 비디오에서 가져온 것입니다. 이 예제에서는 코드 분석이 사용되지 않는 변수를 발견했습니다. 개발자는 변수 count가 초록색 물결선으로 밑줄이 그어져 있어 이 문제를 인식하게 됩니다. 클릭하면 문제와 수정 옵션이 있는 링크가 표시됩니다. 비디오에서 개발자는 권장 사항에 따라 사용하지 않는 변수를 제거하기로 선택합니다.
녹색 물결선 외에도 빨간 물결선이나 회색 점이 보일 수 있습니다. 이러한 다양한 기호는 문제의 보안 수준 또는 코드에 대한 문제의 심각성을 나타냅니다.

심각도 수준
위의 표에서 볼 수 있듯이 각 분석기는 사용자 구성 가능 심각도 수준을 가지고 있습니다.

내장 분석기 구성
여러 개의 Roslyn 분석기가 있지만 Visual Studio에는 일부가 미리 설치되어 있습니다. 이러한 내장 분석기의 설정은 두 곳에서 조정할 수 있습니다. 로컬 버전의 Visual Studio에서는 기본 설정이 도구 > 옵션 > 텍스트 편집기 > C# > 코드 스타일 > 일반을 통해 조정됩니다. 위 이미지에 표시된 대화 상자를 사용하여 심각도 수준을 변경할 수 있습니다.

분석기 강조 표시 보기
위 이미지는 간단한 코드 클래스입니다. 7행의 pos에서 p와 o 아래의 생략 기호(세 개의 점)와 11행의 if 문은 제안을 나타냅니다. distance 아래의 녹색 물결선은 경고이며, 11행의 xPos 두 인스턴스 아래의 빨간 물결선은 오류입니다. 경고 및 오류는 오류 목록 창에도 표시됩니다.

가능한 수정 사항 표시
내장 분석기의 설정을 보여주는 이미지가 Refactoring 전용과 코드 블록 기본 설정에 대한 제안 사이에서 전환되는 것을 알 수 있습니다: 중괄호를 선호합니다. Refactoring 전용은 if 문 아래의 생략 기호를 숨깁니다.
Prefer braces 설정이 제안이고 생략 기호 위에 마우스를 올리면 잠재적 수정 링크가 표시되는 패널이 나타납니다. 이것을 클릭하면 사용 가능한 옵션이 있는 다른 패널이 표시됩니다. 이 경우 코드에 중괄호를 추가하는 하나의 옵션만 사용할 수 있습니다. 위 이미지는 이 순서를 보여줍니다.
.editorconfig 파일 추가하기
특정 프로젝트에 대한 코드 스타일을 보장하고 싶다면, 프로젝트와 함께 제공되는 .editorconfig 파일을 추가할 수 있습니다. 이는 많은 개발자로 구성된 대규모 팀에서 합의된 코드 스타일 규칙을 강제하는 효율적인 방법이 될 수 있습니다.
.editconfig 파일을 사용하면 도구 > 옵션 > 텍스트 편집기 > C#를 통해 Visual Studio 버전의 설정을 재정의할 수 있습니다. 필요한 경우 루트에 하나를 두고 하위 폴더에 하나를 배치하여 여러 개의 .editorconfig 파일을 중첩할 수 있습니다. 하위 폴더에 있는 파일이 루트에 있는 파일을 재정의합니다.
다음 섹션에서는 .editorconfig 파일을 추가하는 방법을 설명합니다.

심각도 수준 변경하기
코드 텍스트 창에서 포함된 분석기의 심각도 수준을 변경합니다.

솔루션 탐색기를 통해
솔루션 탐색기를 마우스 오른쪽 버튼으로 클릭하고 새 항목을 선택합니다. 다음 패널에서 설치됨 > C# > 일반 editorconfig 파일 (기본값)을 선택합니다.
또 다른 옵션은 도구 > 옵션 > 텍스트 편집기 > C# 패널의 설정에서 Generate .editorconfig file을 선택하는 것입니다 (내장 분석기 구성 아래의 이미지에서 볼 수 있음).

당신의 .editorconfig 파일
이제 .editorconfig 파일이 있으므로, Visual Studio(Windows 버전)는 내부적으로 텍스트 파일의 편집 가능한 뷰를 표시합니다. 이 파일에 대한 변경 사항은 .editorconfig가 저장된 폴더와 모든 하위 폴더의 C# 스크립트에 영향을 미칩니다.

사용자 정의 분석기 설치하기
사전 설치된 Roslyn 분석기에 추가하여 기능을 확장할 수 있습니다. 분석기는 NuGet 패키지 또는 Visual Studio 확장(VSIX 파일)으로 설치됩니다. NuGet 패키지 설치 프로세스는 www.nuget.org로 이동하십시오. 인기 있는 것 중 하나는 코드베이스의 스타일 문제를 찾는 StyleCop.Analyzers입니다.
패키지 관리자 콘솔을 사용하여 Visual Studio에서 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 통해 패키지를 설치하십시오. 각 분석기 패키지에 대한 www.nuget.org 페이지는 패키지 관리자 콘솔에 붙여넣을 명령을 보여줍니다. 클립보드에 텍스트를 복사하는 편리한 버튼도 있습니다.

분석기 어셈블리
분석기 어셈블리는 설치되어 솔루션 탐색기에서 참조 > 분석기 아래에 나타납니다.

VSIX 확장으로 분석기 설치하기
또 다른 옵션은 VSIX 확장으로 제공되는 분석기를 설치하는 것입니다. Visual Studio에서 확장 > 확장 관리를 선택하십시오.
확장 이름을 알고 있다면 검색 필드를 사용하여 찾거나 단순히 'analyzer'를 검색하십시오. 위 이미지는 Comment Analyzer가 선택된 상태를 보여줍니다. 분석기 확장을 설치하려면 다운로드를 클릭하고 대화 상자를 닫으려면 확인을 선택한 후 Visual Studio의 모든 인스턴스를 닫아 VSIX 설치 프로그램을 실행하십시오.
설치를 시작하려면 수정을 선택하십시오. 설치가 완료되면 닫기를 선택하고 Visual Studio를 다시 엽니다.

확장 설치 확인하기
확장이 설치되었는지 확인하려면 확장 > 확장 관리를 선택하십시오. 확장 관리 대화 상자에서 왼쪽의 설치된 카테고리를 선택한 다음 이름으로 확장을 검색하십시오.

리소스 더 보기
이 기사는 Visual Studio와 함께 제공되는 내장 Roslyn 분석기에 초점을 맞추었지만, 자신만의 분석기를 만들 수도 있습니다. .NET 컴파일러 플랫폼을 사용하여 구축된 분석기는 팀의 코드 품질을 극적으로 향상시킬 수 있습니다.
분석기를 만드는 데 경험이 쌓이면, 구문, 반복적인 편집, 새로운 라이브러리 안내 등과 같은 코딩 문제에 대해 팀의 생산성을 높이는 데 어떻게 도움이 되는지 알게 될 것입니다.
Microsoft의 몇 가지 좋은 추가 리소스에는 자신만의 C# Roslyn 분석기를 만드는 방법에 대한 이 튜토리얼과 Roslyn 분석기에 대한 이 YouTube 비디오가 포함됩니다.
Unity에서 디버깅하기
이 기사들에서 Unity 프로젝트 디버깅에 대한 더 많은 팁을 얻으세요:
고급 기술 전자책
Unity는 전문 개발자가 게임 코드를 최적화하는 데 도움이 되는 여러 고급 가이드를 제공합니다. C# 스타일 가이드 만들기: 산업 전문가의 조언을 바탕으로 팀이 깔끔하고 읽기 쉬우며 확장 가능한 코드베이스를 개발하는 데 도움이 되는 코드 스타일 가이드를 만드는 방법에 대한 조언을 포함하여 더 깨끗한 코드를 작성하세요.
우리 사용자들 사이에서 또 다른 인기 있는 가이드는 Unity로 생산성을 높이는 70+ 팁입니다. Unity 2020 LTS와 함께하는 일상적인 집합 작업 흐름을 개선하기 위한 시간 절약 팁으로 가득 차 있습니다. 심지어 경험이 많은 개발자들도 놓쳤을 수 있는 팁입니다.
Unity의 모든 고급 전자책과 기사는 Unity 모범 사례 허브에서 찾을 수 있습니다.