-
Notifications
You must be signed in to change notification settings - Fork 1
[AN] 코드 컨벤션
Hyeyeon Gong edited this page Aug 4, 2024
·
3 revisions
-
PascalCase, 명사 또는 명사구로 시작
// Travel.kt // TravelActivity.kt // VisitFragment.kt class Travel { ... } class TravelActivity { ... } class VisitFragment { ... }
-
Dto
-
ResponseBody에 사용될 때
: data 이름 + Responsedata class TravelResponse(...)
-
RequestBody에 사용될 때
: data 이름 + Requestdata class TravelRequest(...)
-
그 외
: data 이름 + dtodata class TravelVisitDto(...)
-
-
Client
-
서비스명 + Client
object StaccatoClient { ... }
-
-
ApiService
-
카테고리명 + ApiService
interface TravelApiService { ... }
-
-
DataSource
-
interface
: 카테고리명 + DataSourceinterface TravelRemoteDataSource { ... }
-
implementation
: 카테고리명 + source 타입 + DataSourceclass TravelRemoteDataSource() { ... }
-
-
Repository
-
interface
: 카테고리명 + Repositoryinterface TravelRepository { ... }
-
implementation
: 카테고리명 + Default + Repositoryclass TravelDefaultRepository() { ... }
-
-
Handler
-
화면명 + Handler
// ex) TravelFragment.kt에 사용되는 Handler interface TravelHandler { ... }
-
-
UiModel
-
화면명 + UiModel
// ex) TravelFragment.kt에 사용되는 UiModel data class TravelUiModel(...)
-
-
ViewModel
-
화면명 + ViewModel
data class TravelViewModel(...)
-
-
Mapper
-
카테고리명 + Mapper
data class TravelMapper(...)
-
-
-
camelCase, 동사 또는 동사구로 시작, 요약이 아닌 풀네임으로 작성
override
public
-
private
- 공용 private 함수를 맨 아래에 위치
companion object
-
@GET
fun getXXX(...)
-
@POST
fun postXXX(...)
-
@DELETE
fun deleteXXX(...)
-
@PUT
fun putXXX(...)
-
@GET
- 단수
fun getXXX(...)
- 복수
// 조건을 걸어 일부만 가져올 때 fun getXXXs(...) // 전부 가져올 때 fun getAllXXXs(...)
- 단수
-
@POST
fun addXXX(...) or fun createXXX(...)
-
@DELETE
fun deleteXXX(...)
-
@PUT
fun updateXXX(...)
-
서버에서 데이터를 불러올 때
fun fetchXXX(...)
-
camelCase, 명사 또는 명사구로 시작, 요약이 아닌 풀네임으로 작성
val userName = "user"
-
UPPER_SNAKE_CASE(모두 대문자), 밑줄로 단어 구분, scalar 값은 const 변경자 사용
const val NUMBER = 5 val NAMES = listOf("Alice", "Bob") val EMPTY_ARRAY = arrayOf()
- 🫶 WooDangTang!Tang! HuruHuru~ Pair