우리는 대부분 Flutter 예제에서 main.dart에서 모든 코드를 작성하는 경우를 많이 봐 왔습니다
실제 프로젝트를 구현할 때는 dart 파일이 점점 많아져서 결국엔 폴더로 그룹화 시켜야 편하게 관리할 수 있는데. 폴더의 이름 짓기도 꾀나 어렵더라구요...
저는 위젯 폴더는 widgets, flutter에서 화면을 route라고 하니까 폴더 이름을 routes로 하고, 그 외는 utils, managers로 지었었는데..
막상 혼자만의 이름으로 짓자니 다른분과 협업하게 될경우 서로 어색한 사이가 될 수도 있겠다 라는 생각이 들더군요
그래서 큰 패키지의 프로젝트를 보면서 비교해보니, 폴더 이름에도 어느정도 틀이 있어서 그 틀을 간단히 소개해보고자 합니다
1. 네이밍 방법
GNU Naming 이란 네이밍 방법을 사용합니다. 모두 소문자를 이용하는게 특징이고 복합어 사이에는 '_'(언더스코어)를 사용합니다. (ex: main_frame, happy_house)
카멜 케이싱(CamelCasing, ex:mainFrame, HappyHouse) 을 자주 쓸 줄 알았는데 그게 아닌, GNU Naming 방식을 폴더와 파일 이름에 많이들 사용하고 있었습니다.
2. 폴더명
1) widgets : 화면마다 사용되는 위젯이 아닌, 주로 공통적으로 사용되는 위젯을 모아두는 폴더 이름
2) screens : 공통 위젯이 아닌, 화면 단위를 구성하는 모든것을 모아두는 폴더 이름. 주로 하위에 Activity나 ViewController에 해당하는 한 화면단위로 폴더를 더 만들어두는 것이 특징
3) blocs : BLoC 패턴 관련 폴더
4) streams : Stream 관련 폴더
5) provs : Provider 관련 폴더
6) assets : 외부 파일을 프로젝트에 포함시킬때 사용되는 폴더
7) i18n : 다국어 관련 파일이 담긴 폴더
8) models : 모델 관련 폴더
9) services : 싱글톤 패턴을 사용한 기능을 모아두는 폴더
10) utils : 잡다한 기능들을 위한 폴더
11) components : 컴포넌트들을 위한 폴더
별것도 아닌거지만.. 생각보다 많이 찜찜했는데
이번기회에 정리할 수 있어서 좋았습니다.
더 좋은 네이밍이나 빠진게 있다면 댓글 부탁드립니다.
'스터디 > Flutter+Dart' 카테고리의 다른 글
Flutter Database (SQLite) 사용하기 (2) - 좀 더 편하게! (BLoC, Json) (1) | 2019.09.11 |
---|---|
Flutter Database (SQLite) 사용하기 (1) (2) | 2019.09.10 |
Dart Quick Start 2 - 빠르게 한번쯤 훑고 지나가야하는 정보들 (11~20) (0) | 2019.08.30 |
Dart Quick Start 1 - 빠르게 한번쯤 훑고 지나가야하는 정보들 (1~10), Flutter개발전 필독 (0) | 2019.08.27 |
Flutter 런처아이콘(LauncherIcon) 안드로이드, 아이폰 동시에 간편하게 설정하기 (2) | 2019.08.20 |
댓글