✔ 코드리뷰로 피드백주기
- code review는 PR한 내역에서 댓글을 달면서 리뷰를 남기는 방식을 많이 사용한다.
[code review]
🔴 🔴
(issue) (Review)
↓ [Fork]
🔴 → 🔴 → ↓ ↑ → 🔴
(commits) (PR) (Merge)
🔴
(Revise Commits)
- code review하는 이유?
1. 코드의 품질을 높일 수 있다.
2. 다른 사람의 눈으로 버그를 빠르게 발견할 수 있다.
3. 서로의 지식을 나누면서, 더 나은 방법을 찾아낼 수 있다.
-> 내가 만든 코드가 아니라 팀의 코드의 품질을 높인다.
- 이런 코드 리뷰문화를 소개하는 것은 개발팀의 문화를 보여주고, 사용자에게 닿는 프로덕트 즉, 코드의
퀄리티를 높이면서, 개선해나가고 있다는 것을 알리는 것입니다.
- 조직마다 코드 리뷰하는 스타일이나 분위기가 조금씩 다르다. 모여서 한 자리에서 라이브로 리뷰하는 곳
도 있다.
✔ Github 이용한 코드 리뷰
- Git과 Github을 사용하게되면 서로 피드백을 주고 받으면서 코드리뷰하는 것이 간단해진다.
- 각자의 작업공간이 분리되어 있어서 코드 리뷰 후 수정도 쉽다.
- Gihub PR페이지를 통해 댓글로 리뷰를 주고 받을 수 도 있다.
[Github Code Review]
→→→→→→→→→→→→→→→→→→→→→→ 🔴 (main branch << Merge)
↗
↗
→→ 🔴 →→→→→→ 🔴 →→→→→→
(cmit01) ↑ (cmit02) ↓
[PR01] [PR02]
1. 기능 추가 1. 최종본
2. Merge
- PR후 다시 추가하고 그리고 최종적으로 PR관리자에게 승인받은 뒤에 코드리뷰 권한을 가진 관리자만
코드를 리뷰할 권한이 있다.
✔ gitignore
- 공유하거나 공개되면 안되는 파일들은 공개된 repo 즉, 공개 Github repo에 올리면 큰일납니다. Git이 마치 이런 파일들을
없는 것처럼 무시하게 하는 설정이 바로 .gitignore 입니다.
- 파일명을 .gitignore로 만들고 여기에 Git이 무시해야할 파일 또는 폴더이름을 적어주면 된다. 그리고 나서 내 프로젝트의
최상위 폴더에 저장하면 끝난다!
- .gitignore 파일로 내가 중요한 파일을 .gitignore에 넣으면 git에서는 .gitignore파일은 말그대로 무시라는 것이기 때문
에 중요한 파일은 git에 나타나지 않는다! 그래서 이것을 잘 활용하면 프로젝트때 문제 없이 개발할 수 있다!
✔ README
- README는 프로젝트나 software사용할때 먼저 읽어야하는 정보를 적어두는 파일이다.
- Github 프로젝트에서도 README.md를 만들어 프로젝트 소개글을 적어둔다. 프로젝트의 어마어마하게 많은 파일들을 하나씩
다 읽어 볼 수 없으니 정말 중요한 것만 소개하면 최고!
- md : mark down이라는 형식의 파일로 작성한다는 뜻이다!
- markdown : 서식이 적용된 텍스트 파일이다. 보통 텍스트 편집기로도 사용할 수 있지만, markdown문법을 제공하는 편집기
를 사용하면 서식이 어떻게 적용되는지 한눈에 볼 수 있다.
✔ 오픈소스
- Python, Go, Javascript, Spring, React, Django, Spark, Hadoop등 널리 쓰이는 많은 프로그래밍 언어와 기술들이 모두
오픈소스이다.
- Git은 Linux를 개발할때 협업하는 툴로 태어났다. Git도 오픈소스중 하나이다!
- Open source란 누구나 프로젝트를 사용하고, 수정하고, 배포할 수 있는 프로젝트를 의미한다.
- open source를 사용하면 좋은점은 프로젝트가 가진 생태계를 넓힐 수 있다.
- 프로젝트에 관심있는 사람들이 참여한다면, 적은 규모로 개발했을 때보다 빠르게 프로젝트를 개선시킬 수 있다.
- 버그를 빠르게 고치고 개선할 수 있고 또는 다른 시각으로 버그를 찾으니깐 다양한 방식으로 여러 버그를 찾고 고칠 수
있다는 장점이 있다.
- 그리고 조직의 개발력을 널리 홍보할 수 있다. 프로젝트 ㅋ코드가 공개가 되니깐 조직의 기술력을 잘 보여 줄 수 있다!
- 많은 사람들이 프로젝트에 contribution(기여)하면서 발전시켜나가는 것이 바로 Open source의 매력이다!
- Open source는 단 공짜가 아니다! 라이선스가 따로 있습니다! 꼭 재배포를 할 때에는 원본 라이선스와 똑같은 라이센스를
사용해야하던가, 비영리적 용도로만 사용해야한다!
- 소프트웨어에서 많이 ㅆ의는 라이선스로는 Apache License, GNU, MIT 등이 있다.
- 실제로 Open source를 사용하기 전에 이 라이선스를 제대로 이해하고 사용하는 것이 중요하다!
✔ 오픈소스 contribution(기여)
- 프로젝트의 bug report(신고) - 동작하지 않는 것을 issue에 적기
- bug report하는 issue에 해결 답변 달기 - 종종 프로젝트 사용할 때 잘 안되는 것들을 도움받기 위해 issue에 적는 경우
있다. 만약 내가 해결했던 내용이라면 댓글을 달아주면 좋다. 질문자 뿐만 아니라 그 글을 보는 다른 사람들도 도움이 될
수 있다.
- 기술 문서화 - 오타 수정, 서식 수정, 기술을 설명하는 문서 작서엥 참여
- 번역하기 - 주로 영어를 한글로 변역하는 프로젝트가 많다. translation 할 사람을 구할 때, 한국어 번역 제가 할게요!
하고 지원하면 된다.
- 버그 코드 수정
- 새로운 기능 추가
- 프로젝트에서 필요로 하는 자료 모으기
- 프로젝트 행사 운영 기획에 참여하기
- 그리고 프로젝트가 필요로하는 모든 것들!!
- 어떤 컨트리뷰션이 필요한지는 주로 issue에서 확인한다. help wanted, good first issue(good first issue)라고 알려준다
- 각 기술마다 오늘은 전 세계적으로 우리 프로젝트에 기여하는 날! 하고 행사를 열기도 한다. 이렇게 집중적으로 기여하는
것을 sprint라고 한다.
- 프로젝트에 상관없이 여러 프로젝트에 오픈소스 컨트리뷰션을 같이 하는 행사를 가지기도 한다. 전 세계적으로 가을에 하는
헥토버페스트(Hacktoberfest)가 유명하고, 한국에서는 'sprint seoul', 'pycon korean sprint', 'open source contributone'
등이 정기적으로 열리고 있다.
'Git' 카테고리의 다른 글
💻Git 3주차 총정리(1)💻 (0) | 2021.11.21 |
---|---|
💻Git 2주차 총정리💻 (0) | 2021.11.14 |
💻Git 1주차 - 총정리💻 (0) | 2021.11.10 |