
개인 프로젝트를 C# 콘솔창으로 작성하다보니 코딩 줄이 끝도없이 늘어나기 시작했다.

대충 100줄을 넘어간 시점부터 뭔가 문제가 있다 싶어서 나름 생각을 했던 것은 본문에 들어가는 기능들을 다 함수로 빼는 것이었다.

이렇게 하고 완성된 함수를 비쥬얼 스튜디오를 이용해 숨겨놓고 다른 함수를 작업하곤 했지만, 근본적으로 코드 작성 중 위 아래로 계속 왔다갔다 하는 시간이 늘어나는 현상을 막을 순 없었다.
그러다가 콘솔 프로젝트도 하나의 네임스페이스 안에서는 스크립트 분리가 가능하다는걸 알게됬다. 유니티 프로그램에선 스크립트를 늘리는 것을 많이 해봤는데 그게 콘솔 작업을 하는 도중에도 가능할줄은... 전혀 생각지 못했다.

이렇게 스크립트를 늘리고 그 안에서 코드 작성을 해도 연결이 가능했다. 물론 아직 완벽하게 이해한 건 아니고, 객체를 생성이 필요한 클래스만 빼놓으려고 노력했다.

다른 사람들이 작성한 프로젝트를 보니 정말 대부분의 스크립트는 잘게 쪼개져 있었다. 확실히 내가 작성한 코드보다 읽기 편했기에, 내 코드도 수정을 해보려 했지만 이번에 작성한 프로젝트는 이미 너무 코드가 얽혀있어서 스크립트 쪼개는 작업이 쉽지가 않았다.
결국 많이 수정 못하고 제출.
앞으로 코드를 작성할 때는 설계부터 작성을 할 때 계속해서 스크립트를 쪼개는 생각을 가져가야 할 것이다. 이 때 많이 들었던 개념이 떠올랐는데,
단일책임의 원칙
< 객체는 단 한개의 책임(기능)을 가져야 한다 >
객체 지향 프로그래밍에 나오는 SOLID 원칙 중 S에 해당하는 단일 책임 원칙이다.
단일 책임 원칙을 적용하며 프로그래밍을 하면, 코드간의 결합이 느슨해져서 유지보수에 편리하고 코드를 읽기 편하다고 배웠는데 이번에 프로젝트를 하며 이게 어떤 느낌인지는 확실히 알게 되었다.