언제 어디서든 책과 사람을 이어주는 공간, 마루 온라인 독서 토론 플랫폼 마루를 만나보세요.
[책을 읽고 사람과 잇다] 책을 통해 다양한 사람들이 모여 밀도 있는 대화의 시간을 만들어 나갑니다.
[언제나, 어디서나] 국내 최초 온라인 독서 토론 전문 플랫폼 마루는 멀리 떨어져 있어도 마음을 잇는 법을 제시합니다.
[소통하는 독서의 즐거움] 독서 후의 여운을 사람들과 함께 나누면서 진정한 자아를 찾는 공간 여기는 마루입니다.
-
🕍 Architecture
- Android App Architecture base on MVVM
-
📙 Components
- ViewModel
- DataBinding
- Navigation
- ..ing
-
이현우
- SOPT 26th Android Part 수료
- SOPT 27th Android Part
- OUNCE 어플리케이션 Android Lead 개발자
- MARU 어플리케이션 Android Lead 개발자/서비스 기획자
우리는 잇습니다, 책과 사람을
일 벌이기 주의: 이 사람에게 프로젝트를 마구잡이로 던지지 마시오.
-
박세란
- SOPT 26th Android Part 수료
- SOPT 27th iOS Part
- Mongle 어플리케이션 Android 개발자
- MARU 어플리케이션 Android 개발자
- ALGOALGO 디스코드 봇 Server 개발자
- 여기어때 정보보안실 사내프로그램 개발 인턴 (server)
- 더 나은 Android 어플리케이션 개발을 위해 Android Jetpack && MVVM pattern를 공부하고 있습니다. 🌱
벌레를 열심히 잡는편입니다. MARU 벌레들도 맡겨주세요.
취급주의 : 음악이 끊기면 곤란합니다. 그리고 주기적으로 술 마셔주셔야 합니다.
type: subject
body(optional)
footer(optional)
- feat: 새로운 기능
- fix: 버그 수정
- docs: 문서 수정
- style: 스타일 변경(코드 변경 X)
- refactor: 리팩토링
- test: 테스트 코드 추가/테스트 리팩토링
- chore: updating build tasks, package manager 설정
- Subject는 50글자를 넘어가면 안된다
- 첫 시작은 대문자로 해야한다
- 마지막에 마침표(.)를 찍으면 안된다
- 어떤 변경점이 있는지 설명한다
- 명령조를 사용한다
- 부연 설명이나 커밋의 이유를 설명할 때만 사용
- Not How, Explauin What and Why
- 윗 부분과 1줄의 공백 필요
- 각 라인은 72자 초과 불가
- Issue Tracker IDs를 적을 때 사용
MARU는 Google의 Kotlin Coding Style Guide를 따릅니다
다음과 같은 순서 클래스를 구성합니다
- Property 선언과 초기화 블럭(intializer blocks)
- 추가적인 생성자
- 메소드 정의
- 컴패니언 오브젝트(Companion object)
- 패키지의 이름은 항상 소문자로 하고, 밑줄을 사용하지 않습니다
- 두 개 이상의 단어를 한 번에 사용하는 것을 금지합니다
- Pascal Case
open class SampleName { /* ... */ }
object MoreSampleName : SampleName() { /* ... */ }
- Camel Case
val initList = mutableList<SampleData>()
fun getList: List<SampleData>() { /* ... */ }
- Upper Snake Case
- 상수는 companion objet에 넣어 보관합니다
companion object {
const val MAX_COUNT = 8
}
Tab 키를 써서 Indenting 합니다
괄호 뒤에 한 칸을 띄우고 사용합니다
if (elements != null) {
for (element in elements) {
// ...
}
}
- Control문(if/while/for)
- 한 칸 띄어씁니다
- 생성자/Method
- 붙여씁니다
if (isSpacing == true) { /*...*/ }
fun isSpacing() { /*...*/ }
- 변수의 타입/함수 리턴 타입 결정
- 콜론을 앞에 붙인다
- 상속받은 클래스/인터페이스 구분
- 한 칸 띄어쓴다
fun isSpacing(): Boolean { /*...*/ }
class MainActivity : AppCompatActivity()
라이브러리 | 목적 |
---|---|
Retrofit2 | 서버 통신 |