본문 바로가기

Unity

Unity 개발자가 Rider를 사용해야 하는 이유 (Rider 장점)

라이더는 리샤퍼를 기반으로 만들어 졌기 때문에 리샤퍼의 대부분의 기능을 가지고있는 대신 훨씬 가볍습니다. Mac을 사용하시거나, 기존 리샤퍼+비쥬얼 스튜디오를 사용하시던 분들은 같은 기능을 제공하고 더 깔끔하고 가벼운 Rider를 사용해보시는 것을 추천드립니다.

0. Mac 지원

1. Rider의 Code Inspection은 좋은 Unity, Linq, Clean Code 선생님입니다.

Rider는 당신의 코드에서 알기 힘든 성능 저하와 안좋은 코드들에 대안을 제시해줍니다. 특히, 유니티에서만 나타나는 성능저하 코드들은 유니티의 전문가가 아니라면 알기 어렵습니다. Rider는 이러한 코드들에 대한 힌트를 제공합니다. 또한 간편한 자동 변환 기능을 지원하여, 해당 코드에서 Alt+Enter를 입력시 바로 올바른 코드로 수정됩니다.

예시) Unity의 경우

https://github.com/JetBrains/resharper-unity/wiki/Avoid-null-comparisons-against-UnityEngine.Object-subclasses

UnityEngine.Object의 자식클래스들의 null의 비교는 무거운 연산에 속합니다. 성능이 중요한 블럭에서는 사용하지 않는것이 좋습니다. (Object 의 == 오퍼레이터 오버라이드 되어있습니다.)

https://github.com/JetBrains/resharper-unity/wiki/Possible-unintended-bypass-of-lifetime-check-of-underlying-Unity-engine-object

반대로, null propagation 을 Object에 사용하게 된다면, null 과의 비교연산 비용이 작지만 현재 Destroying 상태인 오브젝트에 사용한다면 예상치 못한 결과(NullException)를 얻을 수 있습니다.

 

Linq에 관심이 많다면, 기존 코드를 간단히 Linq로 변환해보면서 Linq를 배울 수 있습니다.

위와같은 코드는 Rider의 자동 변환 기능을 사용하여 아래와 같이 줄일 수 있습니다.

 

 

.Net 4.x 이후 추가된 C#기능에 대한 힌트도 지원합니다.

 null propagation

 

 

 

 

string-interpolation

 

 

 

pattern variable

 

 

 

 

 

위의 예시는 Rider가 지원하는 code inspection 기능의 극히 일부입니다. 이 중 모르는 것이 있다면, 당신은 라이더로부터 많은 것을 배울 수 있습니다.

2. 강력한 리팩토링 지원

Rider의 리팩토링 기능은 엄청나게 강력합니다. 특히 의존성이 심각하게 얽혀버린 프로젝트의 경우 큰 도움을 받을 수 있습니다.

1. 모든 변수,클래스,함수에 대한 일괄적 네이밍 컨벤션(파스칼케이스, 카멜케이스, 스네이크케이스, prefix suffix 수정) 적용이 가능합니다.

중구난방의 코드스타일을 가진 프로젝트를 정리할 수 있습니다. 다만 헝가리안 표기법을 수정하지는 못합니다. m_variable 도 현재는 수정불가합니다.

2. 함수의 파라미터의 위치변경, 파라미터 삭제, 인라인, static화, 인덱서로 변경등 을 지원합니다.

더 이상 사용하지 않는 파라미터가 있거나 파라미터 순서를 바꿔야하는 함수가, 호출하는 코드가 너무 많아 수정하기 어려운 경우에도 간단히 삭제 가능합니다.

3. 다양한 코딩스타일 자동적용을 지원합니다.

인덴트, 코드정렬, 괄호 스타일, 어트리뷰트 정렬, 코드 사이 빈 줄의 갯수, 파라미터 사이의 띄어쓰기 규칙, 줄바꿈, 널체크 등의 자동 적용을 지원합니다. 자세한 사항은 https://www.jetbrains.com/help/rider/Settings_Code_Style_CSHARP.html 를 참조하세요

3. 쉬운 사용법

튜토리얼

에디터 내에 반응성 튜토리얼을 내장하고 있으며, Alt+Enter만 알고있으면 대부분의 동작을 검색하여 쉽게 사용할 수 있습니다.

4. 다양한 유니티 기능 제공

컴포넌트가 사용되는 씬, 프리팹 표시
SerializeField가 어느 씬,프리팹에 어떤 값으로 저장되었는지 표시

리샤퍼에서도 제공하지 않는 다양한 유니티 기능들을 제공합니다.

5. 그 외 기능들

www.jetbrains.com/ko-kr/rider/features/

 

Features - Rider

Rider helps you develop .NET, ASP.NET, .NET Core, Xamarin or Unity applications on Windows, Mac, or Linux. It provides rich editing support and code insight for languages used in .NET development

www.jetbrains.com

https://blog.jetbrains.com/kr/2017/12/rider-%EC%99%80-unity-%EA%BF%80%EC%A1%B0%ED%95%A9/

 

Rider 와 Unity 꿀조합! | JetBrains 코리아

Rider 와 Unity 꿀조합! C # 및 Unity 용 크로스 플랫폼 IDE Rider 는 C # 및 .NET 개발자를 위한 새로운 IDE 입니다.  크로스 플랫폼에서 실행되며 유니티 게임 엔진을 위한 막강한 지원이 제공됩니다.  Rider를 이용한 Unity3D 게임을 개발 하는 방법은 아래 비디오에서 확인해주세요. Windows, Mac 또는 Linux에서 모두 지원됩니다. 강력한 크로스 플랫폼 IDE JetBrains Rider는 Windows,

blog.jetbrains.com

https://www.jetbrains.com/ko-kr/rider/whatsnew/

 

What's New in Rider

What's new in recent JetBrains Rider updates

www.jetbrains.com

https://www.jetbrains.com/rider/compare/rider-vs-visual-studio/

 

Rider vs. Visual Studio - Compare | JetBrains Rider

.NET IDE based on the IntelliJ platform and ReSharper. Supports C#, ASP.NET, ASP.NET MVC, .NET Core, Unity and Xamarin

www.jetbrains.com

제트브레인에서 직접 제시하는 장점들은 위의 링크를 참조하세요.

 

-단점

유료입니다.

본인의 코드가 형편없다면 엄청난 수의 경고를 보게 됩니다.

'Unity' 카테고리의 다른 글

Unity에서 .Net 4.x 사용하기  (0) 2019.12.11