오늘은 유니티 게임개발 입문주차가 끝이나고 게임개발 숙련주차에 들어갔다. 조원이 바뀌어서 간단하게 인사 후, 간단한 규칙을 정하고 바로 지급 받은 강의를 듣기 시작했다. 확실히 입문주차 강의에 비해서 많이 어려웠고, 양도 엄청 많았다. 오늘 강의를 들으면서 내용을 다음과 같이 정리했다. 그리고 챌린지반 특강이 있었는데 함께 정리했다.
강의 내용
캐릭터 스텟 만들기 (ScriptableObject)
항상 객체지향을 사용해서 각각 스텟을 변수로 할당했지만, 훨씬 메모리를 절약할 수 있는 방법이다.
https://kkln2486.tistory.com/164
싱글톤
클래스의 인스턴스가 오직 하나만 존재하도록 보장하는 패턴이다. 정말 자주 쓰는 내용이므로 정리했다.
https://kkln2486.tistory.com/166
Object Pool
오브젝트를 미리 생성하고, 삭제하지 않고 재사용해서 최적화하는 방법
https://kkln2486.tistory.com/167
특강 내용
안좋은 코드란?
1. 이상한 이름
- 명확한 이름이 떠오르지 않는다면 설계가 잘못되었을 수 있다는 것을 명심
- 이름을 잘 짓는 것은 아주 중요
2. 중복 코드
- 똑같은 구조의 반복은 최악임
3. 긴 함수
- 짧은 함수와 좋은 이름의 조합이 최고
- 짧은 함수는 재사용성도 좋고, 코드를 이해하고 공유하기도 쉬움
- 하나의 함수에서 길게 모든걸 처리하는 것보다는 짧은 함수를 여러개를 호출하는 구조가 좋음
4. 전역 변수의 남용
- 전역 변수는 어디서나 변경이 가능해서, 변경 시점을 추적하기 힘들고, 디버깅을 어렵게 만들고, 버그의 원인이 됨
- 전역변수를 사용해야만 할 경우, 변수를 캡슐화하는 것을 습관화 해야함
5. 주석의 남용
- 주석을 사용하지 않고, 코드만으로 명확하게 이해되는게 더 좋음
- 주석이 필요한 상황일 경우, 주석이 필요없는 코드로 먼저 바꾸는게 우선임
오늘의 회고
확실히 숙련주차에 돌입했다는 느낌이 들었다. 강의의 양과 난이도가 엄청 올라갔다! 모든 내용을 정확히 이해하고 넘어가기에는 다음주 제출인 개인과제 완료까지 힘들다고 생각했다. 그래서 최대한 강의를 듣는 것에 집중을 하고, 개인과제 후, 부족한 부분에 대해서 다시 공부하는 방향으로 계획을 잡았다. 오늘 강의는 전체적으로 기존의 간단한 방법을 최적화, 메모리 절약 방법으로 진행하여서 어려웠지만 중요한 내용이라고 생각했다. 특히, ScriptableObject, Object Pool은 앞으로도 많이 사용할 내용이었다. 내용이 너무 어려워서 아직 완벽하게 이해하지 못해서 나중에 다시 내용을 추가할 예정이다. 그리고 오늘 있었던 챌린지 특강 내용이 내가 정말 부족했던 부분이라는 생각이 들었다. 앞으로 코드를 작성할 때, 긴 함수를 최대한 줄이고 함수의 숫자를 늘리고 중복 코드를 최대한 줄이는 연습을 하도록 하겠다!
'Unity_2기 내일배움캠프 TIL' 카테고리의 다른 글
Unity_2기 6주차 (231212) (1) | 2023.12.12 |
---|---|
Unity_2기 6주차 (231211) (0) | 2023.12.11 |
Unity_2기 5주차 (231207) (1) | 2023.12.07 |
Unity_2기 5주차 (231206) (0) | 2023.12.06 |
Unity_2기 5주차 (231205) (1) | 2023.12.05 |