전체 보기

C++ 협업할 때 주의할 점

작성일자
2023/05/19
태그
ETC
프로젝트
책 종류
1 more property

소프트웨어 공학 : C++ 협업

소프트웨어 공학 수업의 마지막 팀프로젝트는 C++로 협업을 해야 한다.
교수님께서 수업과 과제 내용은 저작권 이슈로 절대 블로그 같이 공유된 곳에 올리지 말라고 신신당부 하셔서 그 세부 내용은 올리지 못하지만
(교수님 수업 내용 정말 정말 좋고 학교 밖에서 절대 배우지 못할 설계 관련 내용들로 가득한데 많은 사람들과 나누지 못해 아쉽다,, 은삼 교수님 수업을 들을 수 있어 정말 행운이었다. 은삼 씨프, 은삼 객체, 은삼 디비, 은삼 소공 들은 사람 저에요,,ㅋㅋㅋㅋ 과제 한 번도 감점된 적 없었고 전부 에이쁠 받았다 ㅎㅎ 소공도 에이쁠 도전,,),
C++ 협업은 수업과 관련한 내용이 아니고 흔치 않은 일이니,,, 이에 대해 몇 가지 정리하겠다.

1. .gitignore할 것들!

v16/ x64/ v17/
Plain Text
복사
이 녀석들은 용량만 많이 잡아먹고 실행할 때 생기는 녀석들이라 올릴 필요가 하등 없다. 꼭 꼭 gitignore해주자! 실제로 이전에 혜영 교수님의 자료구조수업을 들을 때도 교수님꼐서 과제를 제출할 때 c++ 프로젝트 전체를 제출하되 저 폴더들은 삭제하고 내라하셨었다.

2. 실행은 어떻게?

v16, x64 폴더를 제외하고 남은 것들은 cpp, h 파일들과 sln 파일이 있다. 여기서 핵심은 sln 파일이다. 자바 프로젝트를 실행할 때 build.gradle을 열어 실행하듯 c++ 프로젝트는 sln을 열어 실행한다!
만약에 v143설치와 같은 에러가 난다면 아래 레퍼런스를 참조해 해결하자. 빌드했던 버전과 현재 실행하는 버전이 안맞아 발생하는 에러다.

3. 충돌 최대한 피하려면?

Entity는 한 사람이 다 짜두고 각자 나눠 작업하자. 이건 사실 c++프로젝트 뿐만 아니라 모든 프로젝트에 해당하는 이야기다. 충돌을 최소화하려면 모두가 함께 사용하는 Entity는 최대한 짜두고 시작하는 것이 좋다. 물론, 교수님께서 강조하신 건 인터페이스,,,,다. 인터페이스 역할을 할 클래스도 미리 짜고 시작하자. 물론 인터페이스 역할을 할 클래스가 무엇인진 미래 해당 수업을 수강하고 계신 여러분이 생각하고 정하면 된다. 화이팅!
아 추가적인 꿀팁 하나 더,,, visual studio는 다른 툴들과 달리 주석 단축키가 다르다,,
보통 shift+/ 를 누르면 드래그 한 영역 전체가 주석처리되는데,
visual studio에선 ctrl+k+c 이다 ㅋㅋ 주석을 해제할 땐 ctrl+k+u이다,,