[TIL] 미니프로젝트- JAVA로 메모장 구현

조성현·2022년 11월 23일
0

Today I Learned [요약]

1. 팀원들과 협업하여 메모장 프로젝트를 완성했다.

2. 처음으로 동료들과 함께 깃&깃허브를 활용하여 협업을 해보았다.

3. 모든 케이스를 테스트해보고, 코드리뷰와 리팩토링도 진행했다.

4. project github repository 링크


Today I Learned [상세]

1일차 미니프로젝트 - 메모장 구현하기

1-1. 일단 기획부터 시작!

노션을 활용하여 과제의 요구사항 구현을 위한 기획을 진행했다.

  • 어레이리스트에 메모를 저장 / 입력, 삭제, 수정의 네이밍 컨벤션 논의 등
  • 분업에 대한 논의 (메모 클래스와 메모리스트를 우선적으로 함께 만든 뒤 분업하기로 결정)

깃&깃허브 협업을 위해 깃허브 데스크탑을 사용했다.

  • 터미널로 push해보는 연습을 하긴 했지만, 협업과정에서 실수를 할까 무서워서 편한 길을 택했다.
  • 이번 프로젝트가 끝나면 기필코.... 터미널을 활용한 깃 활용도 능숙하게 연습하리라 다짐했다..

1-2. 팀원들과 함께 하나씩 과제를 헤쳐나갔다.

  • 분업보다는 협업에 중심을 둔 프로젝트이기도 했고, 내일부터 시작될 메인프로젝트에 앞서 어떤 식으로 코드를 작성하면 될지를 정하는 차원에서 프로젝트 진행방식을 결정하였다.

    팀원 한 명이 코드를 작성하면 다른 팀원들은 그것을 지켜보면서, 혼자서 해결하기 어려운 경우나 사전에 협의한 방향으로 코드가 흘러가지 않을 때에만 조언을 주는 식으로 진행하였다.

  • 각자 파트를 나눠 진행하는 것이 오히려 효율면에서 더 안좋은 상황이라고 판단했기에 위와 같은 방식으로 진행하였고, 실제로 좋은 결과와 팀원들의 코드 작성에 대한 막연한 두려움을 부수는 목표를 달성했다. (본 프로젝트에서의 분업을 위한 좋은 준비과정이 되었다고 생각한다.)


2. 처음으로 동료들과 함께 깃&깃허브를 활용하여 협업을 해보았다.

  • 약간의 에러(git ignore 부분을 만지는 과정에서 java 코드자체가 ignore 되는? 이슈로 새로 repository를 열었다.)가 있었지만,
  • 모든 팀원들이 여러번 푸쉬를 해보았고 커밋 메세지에 직관적인 메세지를 담는 연습을 하는 등 본격적인 협업을 위한 깃&깃허브 초석을 다졌다.

3. 모든 케이스를 테스트해보고, 코드리뷰와 리팩토링도 진행했다.

팀 내 에이스가 있다는 사실에 감사

  • 자바를 딥하게 공부하다 오신 팀원분이 있어서, 많은 도움이 되었다.
  • 가장 큰 도움은 팀원들이 스스로 할 수 있도록 기다려주신 것이라 생각한다.
  • 가능한 모든 변수들에 대한 예외처리를 진행하고, 5명이 동시에 무한 테스트를 진행했다.
  • 그 이후 코드리뷰와 리팩토링을 진행하며, 내일부터 진행 될 프로젝트에서는 하드코딩이 아닌 조금 더 가독성 좋고, 수정 확장에 용이한 코드를 작성하기로 약속했다.

리팩토링 중 가장 와닿은 부분은 하드코딩에 대한 내용이었다.

  • 이전에는 sout 안에 문자열을 직접 입력하여 출력되던 부분들을 따로 빼내어 정리하다니...
  • 메서드, 변수에 대해서만 신경을 쓰고 문자열 출력부분에 대해서는 전혀 생각하지도 못하고 있어서, 더 놀라웠고 깨닫는 바가 많았다.
  • 내일부터 본 프로젝트를 진행하는 동안, 스스로에게 수정, 확장, 가독성 등의 키워드를 던지며 자체적인 리팩토링을 병행하는 연습을 해야겠다고 다짐하는 계기가 되었다.

이번 프로젝트에서도 모든 팀원분들이 낙오없이 완성했다는 점에 가장 큰 만족과 의의를 두고 싶다. 모든 것에 감사하다.

profile
맛있는 음식과 여행을 좋아하는 당당한 뚱땡이

0개의 댓글