클린 코드 특강
6. 가변 데이터(Mutual Data)
'데이터 불변성'
데이터가 생성된 후에는 데이터가 변경되는 것에는 신중을 가해야한다.
setter는 항상 조심해서 만들어야 한다. - 사용한다면 private
변수를 조회하는 함수와 변경하는 함수는 분리
변경안된다는 확신이 있는 변수는 setter를 아예 없애는 것도 방법
7. 뒤엉킨 변경(Divergent Change)
단일 책임 원칙 - 하나의 클래스는 하나의 기능만
샷건 수술: 변경이 필요할 때 여러 다른 클래스를 수정해야하는 상황
8. 기본형 집착(Primitive Obsession)
복잡한데이터를 단순한 기본형(int, float, string 등)에 과도하게 의존하는 경향
-> 복잡한 개념은 차라리 클래스나 구조체를 사용
변수의 클래스화 필요
9. 반복되는 Switch문 (Switch, If)
Switch, if문이 코드에 중복되는 문제
switch문은 현업에서 잘 쓰지 않음 -> 쓴다고 해도 리팩토링의 대상
- switch문은 좋지 않은 코드, 웬만하면 피하자
다형성을 활용하자
별도의 클래스로 정의, 인터페이스나 추상 클래스로 다루는 것이 더 좋음
10. 성의 없는 요소(Lazy Element)
너무 많은 것을 구현하려 하지 말자
굳이 필요없는 것을 만들 때.
예를 들어 인터페이스가 필요없는데, 구현을 다 해놓으면 시간 낭비
확장할 때는 좋지만 나중에 확장할 가능성이 없다고 하면 굳이 구현하지 말자
'내일배움캠프(Unity)' 카테고리의 다른 글
TMP_Text (0) | 2023.12.14 |
---|---|
람다함수 안 매개변수 문제 (0) | 2023.12.14 |
게임 개발 숙련 강의 정리2 (0) | 2023.12.11 |
TIL - 클린코드 특강, 게임 개발 숙련 강의 정리1 (1~2강) (0) | 2023.12.08 |
TIL - 코드리뷰 및 팀프로젝트 발표 (0) | 2023.12.07 |