스터디/Flutter+Dart

Flutter 폴더작명 (Folder Naming)

Dalmangyi 2019. 9. 9.

우리는 대부분 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 : 컴포넌트들을 위한 폴더

 


 

별것도 아닌거지만.. 생각보다 많이 찜찜했는데

이번기회에 정리할 수 있어서 좋았습니다.

 

더 좋은 네이밍이나 빠진게 있다면 댓글 부탁드립니다.

 

 

 

댓글