-
Notifications
You must be signed in to change notification settings - Fork 1
Project Team Rule
cptkuk91 edited this page May 21, 2022
·
2 revisions
- 팀원이 질문할 때에는 친절하고 적극적인 태도로 답변합니다.
- 팀원의 실패와 실수는 또 다른 도전의 기회고, 도전이 없다면 성공이 없습니다. 팀원의 도전과 성공을 항상 응원합니다.
- 하고 있는 일이 계획대로 흘러가지 않는다고 포기하지 않습니다.
- 힘든 순간 포기하지 말고 지금까지 배웠던 내용을 돌아보며, 계획한 기능에 대한 완성도를 높입니다.
- 존중과 배려를 기본으로 하며, 다른 팀원들의 말을 경청하고 원활한 의사소통을 항상 노력합니다.
회의 진행 시 솔직한 의견을 전달하고 소통합니다. 팀원 간 이견 발생 시 의사결정은 다수결로 진행합니다.
| 시간 | 일정 |
|---|---|
| 09:00 | Stand-Up 미팅 |
| 10:00 | Dev |
| 12:00 | 점심 시간 |
| 13:00 | Dev |
| 18:00 | 저녁 시간 |
| 21:00 | 코드 리뷰 |
| 21:30 | Dev |
-
최대 작업 상한선은 03:00 준수합니다.
-
휴식 규칙
- 50분 코딩, 10분 휴식
- 점심 시간: 12:00 - 13:00
- 저녁 시간: 18:00 - 21:00
- 주말(토, 일) 13:00 - 21:00
- Node (v16.14.2)
- NPM (8.5.0)
- React (18.0.0)
- react-router-dom (6.3.0)
- sass (7.0.1)
- dotenv (16.0.0)
- prettier (2.6.2)
- eslint (8.13.0)
- redux (4.2.0)
- Nodemailer (6.7.3)
기타 추가 예정입니다.
- 오전 Stand-Up 미팅에 작성한 Branch를 반드시 사용합니다.
- 전면 수정, 버전 변경, 폴더 이동, 파일 이름 변경은 반드시 팀원과 협의합니다.
- Commit 메시지는 아래 규칙을 따르며, 별로의 내용은 점심 시간, 저녁 시간 이후 팀원과 공유합니다.
| Type | Description | Alert |
|---|---|---|
| 수정 | [Client/Server] 수정: 설명 | ----- |
| 추가 | [Client/Server] 추가: 설명 | ----- |
| 삭제 | [Client/Server] 삭제: 설명 | ----- |
| 단순화 | [Client/Server] 단순화: 설명 | ----- |
| 전면 수정 | [Client/Server] 전면 수정: 설명 | 반드시 팀원과 상의 |
| 버전 변경 | [Client/Server] 버전 변경: 설명 | 반드시 팀원과 상의 |
| 이동 | [Client/Server] 이동: 설명 | 반드시 팀원과 상의 |
| 이름 변경 | [Client/Server] 이름 변경: 설명 | 반드시 팀원과 상의 |
-
var는 사용하지 않습니다.
-
변수명은 camelCase를 사용합니다. ex) adminLogin
-
파일명은 PascalCase를 사용합니다. ex) AdminLogout
-
ESLint
module.exports = {
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'prettier'],
extends: [
'airbnb', // or airbnb-base
'plugin:react/recommended',
'plugin:jsx-a11y/recommended',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
rules: {
'linebreak-style': 0,
'import/prefer-default-export': 0,
'import/extensions': 0,
'no-use-before-define': 0,
'import/no-unresolved': 0,
'react/react-in-jsx-scope': 0,
'import/no-extraneous-dependencies': 0,
'no-shadow': 0,
'react/prop-types': 0,
'react/jsx-filename-extension': [
2,
{ extensions: ['.js', '.jsx', '.ts', '.tsx'] },
],
'jsx-a11y/no-noninteractive-element-interactions': 0,
'@typescript-eslint/explicit-module-boundary-types': 0,
},
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
},
};
- Prettier
{
"singleQuote": true,
"semi": true,
"useTabs": false,
"tabWidth": 2,
"trailingComma": "all",
"printWidth": 80,
"arrowParens": "always",
"orderedImports": true,
"bracketSpacing": true,
"jsxBracketSameLine": false
}
| Type | Description | Alert |
|---|---|---|
| main | main | 가장 최신의 배포된 버전입니다. |
| dev | dev | Release 계획에 따라 기본 브랜치로 지정합니다. |
| feature | feature/이슈번호-이름 | dev 병합 전 사용합니다. |
| hotfix | hotfix/이슈번호 | 메인 병합에 사용, merge 전 반드시 팀원과 협의합니다. |
-
불필요한 PR 금지합니다. Compulsory PR Time: 21:00
-
줄 바꿈과 같은 사소한 변경 사항도 반드시 리뷰를 체크하고, comment를 작성합니다.
-
작업 중, PR 필요한 경우 팀원에게 리뷰 요청을 부탁합니다.
-
PR 작성 예시
[Client] / feature/1-branch-name to hotfix / 수정: 55번 줄 부터 57번 줄
[Server] / feature/2-branch-name to hotfix / 수정: 로그인 함수 수정
💬 GameStates
💭 Software Requirement