Skip to content

개발 환경 및 기술 스택

양철주 edited this page Nov 1, 2021 · 6 revisions

개발 환경 및 기술 스택

개발 환경

  • Android Studio
    • Gradle JDK - 11

기술 스택

  • 비동기 처리 : Coroutine
  • 네트워크 : Retrofit
  • DI : Hilt
  • Database : Room ORM
  • 이미지 : Glide
  • 버전 관리: Git, Github

아키텍쳐

MVVM

협업에 필요한 것들

협업 도구

  • Git, Github, Slack, Zoom

브랜치 전략

  • Git-flow 적용
    • master(main) 브랜치 : 배포를 담당하는 브랜치로 배포가 가능한 상태가 되면 이 브랜치에 develop 브랜치를 합친다.
    • develop 브랜치 : 개발을 담당하는 브랜치로 이 브랜치를 기준으로 각자 작업한 기능을 합친다.
    • feature 브랜치 : 기능 단위로 개발 담당하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 합친다. 예시

코딩 스타일

  • 코틀린 파일

    • 작성 완료 후 꼭!! 할 것
      • Ctrl+Alt+L : Kotlin Style Guide Reformat
      • Ctrl+Alt+O : Unused Import 제거 및 정렬
  • 패키지 구조

    • Activity / Fragment 단위로 분할 후 기능 별로 분할
  • File naming

    • Kotlin File
      • [기능 명][컴포넌트 명] ex) LoginActivity.kt, TravelViewHolder.kt
    • XML File
      • [컴포넌트 명]_[기능 명] ex) activity_login.xml
      • item_[컴포넌트 명]_[기능 명] ex) item_recycler_travel.xml
  • XML naming

    • xml id: tv_name, et_name
    • drawable
      • ic_name.xml / ic_name.png
      • img_name.png
      • bg_close_btn.xml
    • string.xml
      • <-- SomeActivity --> 형태의 주석 작성
      • tv_title
    • color.xml
      • 형용사 + 색상 ex) dark_red
    • style.xml
      • <style name="MainActivityEditText">
      • <style name="[특징]EditText">
  • Gradle

    • 버전이 중복되는 dependency 추가 시 def some_version = "x.x.x" 와 같이 정의
    • Dependency 작성 시 상단에 주석 작성
  • Function naming

    • 불러올 때: loadData
    • 생성할 때: createData
    • 수정할 때: updateData
    • 삭제할 때: deleteData
    • 확인할 때: isOK(Boolean)
    • 초기화 할 때 : initData
    • 데이터의 종류: Enum Class
    • Null 포함 가능한 반환 타입 : getSomethingOrNull()
  • Variable naming

    • const 변수 UPPER_SNAKE_CASE

Commit Convention

ex) #1 [Feature] 데이터 불러오기 기능 추가

  • Feature : 기능개발
  • Fix : 버그 수정
  • Refactor : 리팩토링
  • Test : 테스트 코드 추가
  • Docs : Readme 수정
  • Chore : 빌드 스크립트 수정, 기타 변경사항 등

변경 이력

  • 2021-10-28 13:44 최초 작성
  • 2021-10-28 13:45 기술 스택에 이미지 추가
  • 2021-10-28 17:55 코딩 컨벤션 디테일 추가