반응형
이번 Unity에서 코드 작성을 위한 스타일 가이드에 대해 강의를 해주셔서 영상을 보고
내용을 한번 정리해보았습니다.
https://www.youtube.com/watch?v=eoJLowmz5zU&t=938s
1. 깨끗한 코드란 무엇인가?
- 가독성과 유지보수성: 코드는 읽기 쉽고 이해하기 쉬워야 함.
- 일관된 스타일과 규칙: 이름 짓기와 코드 구조를 일정하게 유지.
- 최소한의 주석 사용: 주석 없이도 코드가 명확하게 이해될 수 있도록 작성.
2. 주요 원칙
1. KISS 원칙 (Keep It Simple, Stupid)
- 간단한 해결책을 지향하며 불필요한 복잡성을 피함.
- 이미 제공되는 API나 기능을 적극 활용
// 복잡한 구현 (비효율적 코드)
void RotateManually(GameObject obj, float angle)
{
Quaternion rotation = Quaternion.Euler(0, angle, 0);
obj.transform.rotation = rotation;
}
// 간단한 Unity API 사용 (KISS 원칙)
void RotateUsingUnityAPI(GameObject obj, float angle)
{
obj.transform.Rotate(Vector3.up, angle);
}
* Quaternion을 직접 계산할 필요 없이 transform.Rotate 메서드를 활용해 더 간단하게 구현
2. YAGNI 원칙 (You Aren't Gonna Need It)
- 미래에 필요할지 모를 기능을 미리 구현하지 않음.
- 현재 필요한 기능에 집중.
// 비효율적인 경우: 미래에 사용할 수 있을 것 같은 코드 작성
public class PlayerInventory : MonoBehaviour
{
private List<string> items = new List<string>();
// 아직 사용되지 않는 기능 미리 구현
public void RemoveItem(string item)
{
if (items.Contains(item))
{
items.Remove(item);
}
}
}
// 필요한 경우에만 기능 구현
public class PlayerInventory : MonoBehaviour
{
private List<string> items = new List<string>();
// 현재 필요한 기능만 구현
public void AddItem(string item)
{
items.Add(item);
}
}
* 사용되지 않는 기능을 미리 작성하는 대신 현재 필요한 기능만 구현
3. 일관성 유지
- 같은 문제에 대해 동일한 접근 방식을 사용.
- 팀원들이 합의한 스타일 가이드를 따라야 함.
// 비일관적인 코드 (혼란 발생 가능)
public class Player : MonoBehaviour
{
public int player_hp; //스네이크 케이스
public int MaxHealth; //파스칼 케이스
public void jump() // 소문자로 시작
{
// ...
}
}
// 일관성 있는 코드 (가독성 향상)
public class Player : MonoBehaviour
{
public int MaxHealth; // 파스칼 (public은 파스칼! 이런식으로 규정)
private int currentHealth;
public void Jump() // 파스칼케이스
{
// ...
}
}
3. 네이밍 규칙
- Camel Case: 로컬 변수와 매개변수에 사용
- Pascal Case: 클래스와 메서드 이름에 사용
항목 | 표기법 | 예시 |
클래스 / 메서드 | PascalCase | PlayerController, Jump() |
public 변수 | PascalCase | MaxHealth |
private 변수 | camelCase | currentHealth |
인터페이스 | I 접두사 | IInteractable, IDamageable |
- Booleans: 상태를 명확히 표현하는 동사로 시작 (동사형 접두사 사용 → is / has / can )
bool isRunning;
bool hasKey;
bool canJump;
- .. 등등
오늘은 여기까지
이번 포스팅에서는 C# 스타일 가이드 E-Book과 Unity에서 제공해준 유튜브 영상을 통해
깨끗한 코드는 무엇인지 또 주요 원칙은 뭐가 있는 지에 대해 알아보았다.
다음 포스팅도 이어서 C# 스타일 가이드 E-Book과 Unity에서 제공해준 유튜브 영상을 통해
알아둬야 할 내용들을 정리해보자
반응형
'Unity 개발 > 기술 향상' 카테고리의 다른 글
[Unity Error] TextMeshPro 한글 깨짐 Unicode value \uD55C was not found in the [LiberationSans SDF] font asset (1) | 2024.10.27 |
---|---|
[Unity] 깔끔한 코드 작성을 위한 스타일 가이드 (2) (4) | 2024.10.27 |
[Unity] Google STT (Speechs-To-Text) 적용 해보기 (0) | 2024.10.25 |
[Unity] 모바일 앱과 웹 간의 소켓 통신 방법 및 예제 (0) | 2024.10.23 |
[Unity] DLL 만들기 (2) (1) | 2024.10.21 |