Day 1: Team Ground Rule - boostcampwm-2021/android05-boomerang GitHub Wiki
๊ฐ๋ฐํ๊ฒฝ
- Android Studio Arctic Fox 2020.3.1. Patch 3.
- JDK 1.8
- Android SDK
- max: 30
- min: Not Yet
Team Ground Rule
- ๋ฏธํ ๋ฐฉ๋ฒ: Zoom ํ์์ค 37
- ์ง๊ฐ ๊ด๋ฆฌ: ์๋ฌด๋ ์ง๊ฐ์ ํ์ง ์์ ๊ฒ์ด๋ค -ํธ์คํธ๋ผ๋ค๋ฌด์ค's ์์ธ -
- ๋ฐฉํฅ์ฑ: ํ์ ์ค์ฌ!!
ํผ๋๋ฐฑ ๋ฐฉ์
- ํผ๋๋ฐฑ์ ์นญ์ฐฌ๋ถํฐ! (ex. Pull Request ๋ฆฌ๋ทฐ)
- ์๋๋ฐฉ ์๊ฒฌ์ ์กด์ค!
์ฝ๋ ๋ฆฌ๋ทฐ
- ์ปจ๋ฒค์ ๊ท์น ๋ฆฌ๋ทฐํ๊ธฐ
- ์ฝ๋์์ ์๋๊ฐ ๋๊ปด์ง์ง ์๋๋ค๋ฉด ์ธ๊ธ ๋ฐ ๋ณธ์ธ์ ์๊ฐ ์์ฑํด์ ๋ฆฌ๋ทฐํ๊ธฐ
- ๊ถ๊ธํ ๋ถ๋ถ์ ์์ ๋กญ๊ฒ ๋ฌผ์ด๋ณด๊ธฐ
๋ฐ์ดํฐ ์์ง ๋ฐฉ์
๋ฐ์ดํฐ: ์ ๋ณด์ ์ฑ๊ฒฉ์ ์๋ฏธํ๋ค (Database์ฉ ๋ฐ์ดํฐ๊ฐ ์๋๋ค) ๊ณ ๋ คํ ์ฌํญ: ์ ๋ขฐ์ฑ
์ ๋ขฐ์ฑ์๋ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํด์
- ๊ตฌ๊ธ ๊ณต์๋ฌธ์ ํ์ฉ
- ๊ตฌ๊ธ ์๋๋ก์ด๋ ์ ํ๋ธ ์ฑ๋ ๋์์ ํ์ฉ
- ๊ตฌ๊ธ Medium ๊ธ ํ์ฉ
- ๊ตฌ๊ธ Github ํ์ฉ
- ์ฝํ๋ฆฐ ๊ณต์๋ฌธ์ ํ์ฉ
- Stackoverflow ํ์ฉ (๋ค์์๊ฒ ๊ฒ์ฆ๋ ์ ๋ณด, ์๊ฐํ์ง ๋ชปํ ์ ๋ณด)
์ด์ ๋ฌธ์ํ ๋ฐ ๋ฐ๋ชจ ์ค๋น
๋ชฉ์์ผ 5์์ ์ฝ๋ํ๋ฆฌ์ง์ ๋ค์ด๊ฐ๋ค 30๋ถ ~ 1์๊ฐ ๋ด 1์ฃผ๊ฐ ๊ฒช์ ์ด์๋ฅผ ๋ฌธ์ํํ๋ค 30๋ถ ~ 1์๊ฐ ๋ด ๋ฐ๋ชจ ๋์์ ์ดฌ์ ๋ฐ ์๊ธฐํ ๋ถ๋ถ ์ ๋ฆฌํ๋ค
์ด์ ์ ๋ต
์ด์๋ Task ๋จ์ ๊ด๋ฆฌ
PR & Commit ์ ๋ต
PR์ ํ์คํฌ ๋จ์ ์์ฑ ๋ชจ๋ PR์ ๋ฆฌ๋ทฐ์์ฒญ Merge๋ ์์ฑ์๊ฐ!
PR ์ ๋ชฉ
- ์ด์์ ๋ฒํธ ๋ช ์ํ๊ธฐ
- PR ์ ๋ชฉ๊ณผ ์ด์ ์ ๋ชฉ ๋์ผ์ํ๊ธฐ
GitHub ๋ธ๋์น ์ ๋ต
Branch ์ข ๋ฅ:
- master(==main):
- ํ ์ฃผ๋ง๋ค release๋ฅผ ๊ฑฐ์ณ ๋ฐ๋ชจ์์์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ ํ๋ก์ ํธ๊ฐ ๋ค์ด์๋ ๋ธ๋์น
- ์ฃผ์ฐจ๋ณ tagging
- release:
- ์ถ๊ฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ฉ์ถ๊ณ ๋ฒ๊ทธ ์์ ํ master๋ก ๋ณด๋ด๋ ๋ธ๋์น
- naming: release/*
- develop:
- ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ด๋นํ๋ ๋ธ๋์น
- feature ๋ธ๋์น์ ๊ธฐ๋ฅ ๊ตฌํ ์ฌํญ๋ค์ ๋ชจ์ผ๋ ๋ธ๋์น
- feature:
- ์ธ๋ถ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- ๊ฐ feature ๋ณ๋ก ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ธ๋์น
- naming: feature/*
UI
๊ณ ๋ ค์ฌํญ: ์ ๊ทผ์ฑ, CustomView, MotionLayout
- Material Design ์ ์ฉ
Github ์ฌ์ฉ๊ท์น:
Backlog: Issue, Projects ํญ ํ์ฉ ํ๋ก์ ํธ ๊ด๋ฆฌ: Projects์ ์นธ๋ฐ๋ณด๋ ํ์ฉ
-
feat, fix, docs(READ ME), style(cmd+alt+L), refactor, test, build(gradle), chore(ํจํค์ง ๊ด๋ฆฌ), revert
Git Commit Template ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ Conflict๋ IDE์์ ํด๊ฒฐํ๊ธฐ -> Rebase, Merge ๋ ๋ฐฉ๋ฒ ํ์ฉํด๋ณด๊ธฐ
Naming Convetion
Android Studio์์ Warning์ ๋ ๋ ค์ฃผ์ง ์๋๋ก~~
XML Convention
UI Component | Naming Rules | Example |
---|---|---|
View | snake_case | TextView: tv |
ViewGroup | snake_case | LinearLayout: container |
ex) [์ปดํฌ๋ํธ]_ [ํ๋ฉด]_ [๊ธฐ๋ฅ]_[item] btn_main_submit_id btn_main_submit_password
ํ์ผ๋ช | Naming Rules | Example |
---|---|---|
fragment_ | snake_case | fragment_[main] |
activity_ | snake_case | activity_[main] |
item_ | snake_case | item_[์ฐ๋ ๋ ์์ id] |
menu_ | snake_case | menu_[์ฐ๋ ๋ ์์ id] |
Drawable | naming Rules | Example |
---|---|---|
background | snake_case | background_[์ฐ๋ ๋ ์์ id] |
Coding Convetion
Method
ํจ์ Naming Rules |
---|
get -> return ๊ฐ ์กด์ฌํด์ผํจ |
set -> ์์ฑ/์ค์ ๋ฑ๋ก |
fetch -> from server |
load -> from db |
Boolean์ ๋ฆฌํดํ๋ ํจ์ -> is/has ๋ฌธ๋งฅ์ ์์์ ํ๋จ |
nullable -> [OrNull] |
Varaible
๋ณ์ Naming Rules |
---|
Boolean ํ์ -> is/has ๋ฌธ๋งฅ์ ์์์ ํ๋จ |