Skip to content

Commit 36f2da9

Browse files
committed
Review: GG Code Review
1 parent 50cd58b commit 36f2da9

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed
+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# 팩맘 코드 리뷰
2+
3+
프로젝트에서 진행한 협업자 우연님의 밀린 코드 리뷰
4+
5+
## SoundSystem
6+
7+
사운드 매니저를 싱글톤으로 두는 게 좋을지 궁금합니다.
8+
9+
지금 SoundSystem을 어떤 구조로 수정해야 하는지 알려주세요
10+
11+
저는 각 시스템마다의 정보만 인스펙터를 통해 적어주고 알아서 파싱해서 저장해두고 사용되는 스크립트에서 접근해서 사용하는 방법을 생각 중 입니다..
12+
13+
계속 고민해봐야할 시스템이라 어떤 방향이든 계속 생각해보겠습니다. (지금은 조금 문제가 있다고 생각)
14+
15+
## 코드 구조 궁금한 점 (피드백?)
16+
17+
인스펙터로 주입하는 방식은 같은 프리팹 내에서만 하는 게 좋은 것 같습니다.(저도 수정 예정)
18+
19+
다른 레벨이라면 코드를 통한 참조로 연결해보는 것도 도전해보면 좋을 것 같아요
20+
21+
### PMGameController
22+
23+
*PMGameController.cs 70번째 줄*
24+
```cs
25+
private void AssignController()
26+
{
27+
pacmom.gameController = this;
28+
29+
for (int i = 0; i < dusts.Length; i++)
30+
{
31+
dusts[i].gameController = this;
32+
}
33+
34+
foreach (Transform coin in coins)
35+
{
36+
coin.GetComponent<Coin>().gameController = this;
37+
}
38+
39+
foreach (Transform vacuum in vacuums)
40+
{
41+
vacuum.GetComponent<Vacuum>().gameController = this;
42+
}
43+
}
44+
```
45+
46+
이런 DI 과정은 좋은 데 PacMom의 경우에도 이미 인스펙터로 지정된 상태이더라구요
47+
48+
PacMom에선 이를 인스펙터로 노출하지 않고 Controller 입력받는게 좋을 것 같은데, 이렇게 구현하신 목적이 궁금합니다!
49+
50+
반대로 Dust의 경우엔 런타임에 잘 할당되는 것 같아서 궁금합니다.
51+
52+
구조가 간단해서 Controller에서 전체를 관리한다고 하면 관리받는 대상은 관리하는 사람을 모르는 게 좋을 것 같습니다.
53+
54+
### PM Sprite Controller
55+
56+
각 Sprite 컨트롤러를 인터페이스로 만들어서 관리하면 더 좋을 것 같다.
57+
58+
추상적인 말이긴 한데 이 부분이 중복성을 인터페이스로 묶어서 만들어보면 도움이 되실 것 같아서 추천드립니다.
59+
60+
### Timer
61+
62+
위 내용과 같이 Timer도 마찬가지로 서로 의존성을 가지고 있는 것 보다 Gm에서 주입을 통해 넣어주는게 좋을 것 같아요
63+
64+
### PlayerInput
65+
66+
이 부분은 이후 설정창 때문에 제가 추가 작업을 통해서 Input을 하나로 둬야 합니다. (저번 작업 이어서)
67+
68+
++ 설정창을 구현 예정인지 궁금합니다.
69+
70+
### PMUIController
71+
72+
저는 인스펙터에 3가지 관리자를 두기보다 다 따로 네이밍을 하는게 좋다고 생각하는데 어떠신가요?
73+
74+
or UI쪽에 달아주는 것도 좋을 것 같아요 (성격에 맞춰서)
75+
76+
### Rapley
77+
78+
처음 public 부분 캡슐화되면 좋을 것 같습니다. (movement안쪽처럼)
79+
80+
## 정리
81+
82+
전체적으로 서브 시스템이라 구조를 탄탄하게 굳이 가져가지 않아도 좋지만, 지금처럼 리팩터링을 통해 이후 작업할 시스템에 대해서 좋은 구조를 고민해보는 것도 좋은 것 같습니다.

0 commit comments

Comments
 (0)