[Refactoring] #1 유니티 C# 리팩토링 규칙
- 변수와 메서드 이름
- 의미 있는 이름을 사용하기
- 변수와 메서드의 이름은 코드의 가독성을 높이는 데 중요하다.
- 이름이 무엇을 나타내는지 명확하게 표현하기
- 중복 코드 제거
- 중복 코드를 최소화하기
- 비슷한 동작을 하는 코드를 찾아서 함수로 추출하고 해당 함수를 재사용
- 클래스 분리
- 하나의 클래스가 너무 많은 역할을 수행하지 않도록 분리하기
- 각 클래스는 특정 역할을 명확하게 정의해야한다.
- 의존성 주입 (Dependency Injection)
- 코드를 테스트하거나 유지보수하기 쉽게 만들기 위해 의존성 주입을 사용하기
- 필요한 객체를 직접 생성하는 대신 의존성을 주입받는 방식을 선호하기
- 상수 사용
- 코드 내에서 동일한 값을 여러 번 사용하는 경우 해당 값을 상수로 정의하고 사용하기
- 네임스페이스와 정적 클래스 사용
- 관련된 클래스와 함수를 네임스페이스로 그룹화하고, 동작이 유사한 함수를 정적 클래스로 묶어서 사용하기
- 주석 작성
- 코드에 주석을 추가하여 다른 개발자가 코드를 이해하고 사용하기 쉽도록 도와주기 - 주석은 코드의 의도나 중요한 정보를 설명하는 데 사용한다.
- 선택문 리팩토링
- switch문을 사용할 때 각 case를 별도의 함수로 추출하고, 객체 지향 디자인 패턴을 고려하여 코드를 개선하기
- 클래스 멤버 순서
- 클래스 내부의 멤버(변수, 메서드)를 일정한 순서로 정렬하면 코드의 가독성을 높일 수 있다.
- 주로 public 멤버, private 멤버, 속성 등을 순서대로 나열한다.
- 테스트 주도 개발 (Test-Driven Development, TDD)
- 테스트 주도 개발을 통해 코드를 작성하면 더 품질 높은 코드를 유도할 수 있다. - 코드가 예상대로 동작하는지 확인하는 테스트 케이스를 먼저 작성하고, 그 후에 코드를 구현한다.
- 코드 정리 도구 사용: Unity에서는 코드 정리 도구를 사용하여 자동으로 리팩토링을 수행할 수 있다.
- Visual Studio 및 Visual Studio Code와 같은 통합 개발 환경에서도 코드 정리 기능을 활용한다.
- 성능 최적화
- 리팩토링을 할 때 성능에도 주의한다.
- 불필요한 반복문이나 비효율적인 알고리즘을 개선하여 성능을 향상시킬 수 있다.
- 문서화
- 코드에 주석을 달고, 클래스 및 메서드에 설명을 추가하여 다른 개발자들이 코드를 이해하기 쉽도록 도움을 준다.
- 코드 리뷰
- 다른 개발자들과 코드 리뷰를 수행하여 피드백을 받고 코드 품질을 향상시킬 수 있다.