• [C++ 프로젝트] 채팅 프로그램 프로젝트 CHATBOX [4] 회고편

    2023. 11. 3.

    by. KAEY


    c++, Socket, SQL을 활용하여 채팅프로그램 만들기

     

    [C++ 프로젝트] 채팅 프로그램 프로젝트 CHATBOX [1] 설계편  [ 해당 게시글 링크 ] 

    [C++ 프로젝트] 채팅 프로그램 프로젝트 CHATBOX [2] 개발편  [ 해당 게시글 링크 ]  

    [C++ 프로젝트] 채팅 프로그램 프로젝트 CHATBOX [3] 발표편  [ 해당 게시글 링크 ]

    [C++ 프로젝트] 채팅 프로그램 프로젝트 CHATBOX [4] 회고편  [ 해당 게시글 링크 ]     ⬅️현재 게시물

     

     


    이전에 준비했던 C++ 프로젝트를 모두 다 정리했고 마지막으로 프로젝트를 마무리하면서

    그동안 내가 느끼고 아쉬웠던 부분, 다음엔 이런 점을 유의해서 진행하면 좋겠다 싶은 부분을 따로 회고한다.

    기간이나 시간이 나름 길었음에도 실제로 설계&구현하는 부분에서 많은 시간을 소비해서

    코드를 다듬고 축약하는 과정이 필요하다는 것은 인지했지만 실철하지 못한게 아쉽고 그 부분이 많다.

     

     


     

    서버가 클라이언트가 보낸 요청에 대한 정보를 판단할 때, 보면 "n" 의 형식을 가지고

    문자열의 형태로 처리하고 있었다. 이 부분을 enum을 통한 정의로 명시적인 수정을 했어야만 했다.

    보기에도 명시적으로 무슨 기능을 하는지 한 눈에 판단할 수 있었을 것 같기에 굉장히 아쉬운 마음이다.

    상수로 다루는 것이 좀 더 좋다는 피드백을 받았다.

    이는 enum 을 통해 관리하면 코드의 유지 보수에 있어서 enum 을 업데이트 하는 과정만 있으면 되므로

    리팩토링 및 유지보수에 뛰어난 효과를 가지게 될 것 이기 때문이다.

     

     

     

     

    클라이언트 부분도, 서버 부분도 양쪽 모두 비슷한 결을 가진 코드들이 분명 존재했다.

    이는 프로젝트를 하면서도 계속 가시박힌 것 처럼 계속 신경이 쓰였는데, 결국 프로젝트 발표 준비를 조금

    길게 하는 과정에서 뒤로 미뤄 버렸다. 하지만 시간을 분배하자니 2명이서 진행한 프로젝트여서 시간도 부족했고

    프로젝트를 '완성' 해놓는 것이 최우선 목표였기에 어쩔 수 없이 우선 순위에서 코드 축약이 후순위가 되었다.

    서버도 클라이언트도 유사한 기능, 코드를 가진 함수들을 정리했다면 분명 코드가 눈에 띄게 많이 줄었을 것이다. 

     

     

     

     

    C++에서 SQL로 데이터를 보내는 과정이 다 끝나고 메모리를 초기화해서 메모리를 관리해줬어야 했다.

    그러나 delete stmt , con 등 이 부분을 다루는 것이 미흡해서 간혹 빼먹거나 빨리 초기화해서 종종

    코드에 오류가 나고는 했었다. 이 부분 또한 짚고 넘어가야 했던 부분.

     

     


     

    발표 부분에서 ERD 부분을 설명하는 과정에서 명시적으로 글로 풀어냈었다.

    그러나 내가 발표를 할 때 예상되는 청중이 개발에 대한 지식이 어느 정도 있음을 간과하고 너무나 많은 글로 풀어내서

    오히려 한 눈에 보기 어렵게 가독성을 해쳤다. 이 부분은 확실하게 내가 놓친 부분이라 굉장히 아쉽다.

     

     

     

    이 부분 역시 채팅이 실시간으로 이루어지는 부분을 글로 풀어 놓은 부분이다.

    내가 정말 애정을 갖고 프로젝트를 진행했었고 핵심적인 부분이기에 명시적으로 다 풀었으나,

    지금 돌이켜보면 확실하게 도식화하여 가독성 및 전달력을 높였어야 했다.

    도식화해서 발표했다면, 청중의 지식을 고려하지 않더라도 어느 정도 확실한 정보 전달을 기대할 수 있었을 것 이다.

     

     


    시간과 여유가 된다면 앞서 코드 부분에서 아쉬웠던 점들을 손 봐보고 싶은 욕심도 생긴다.

    물론 항상 완벽할 순 없다. 완벽이란 기준이 계속 변화하고 그 변화에 맞추어서 계속 다가가기만 하면 된다.

    발표를 할 당시에는 내 프로젝트가 완벽에 (내 기준) 가깝다고 생각했지만

    피드백을 받은 이후에는 프로젝트에 미흡한 부분이 많았구나라는 생각을 정말 많이 했다.

     

    조금씩 성장해가면서 꾸준히 발전하다보면 오늘보다 더 나은 내일의 내가 되리라.

     

     


     

    댓글 (비로그인 댓글 허용하지 않습니다.)