컴퓨터의 발전으로 인해 내 머릿속 저장장치는 거의 박살난 상태와 다름없다.
(걍, 적어놓지 않으면 다 까먹는다는 뜻....)
프로젝트의 폴더구조에 대해서 몇날며칠을 골머리를 앓다가 걍 모르겠고, 누군가가 잘 만든 구조를 흉내내자는 마음이 들었다. 클린아키텍쳐 mvvm 등등 주워들은것은 많지만 이해하고 있는것은 아무것도 없다. 아직 내가 다가갈 영역이 아니라 생각해서 자세히 알고싶은 마음도 없었다. 그러나 폴더구조를 고민하려면 이런 디자인패턴에 대해서 어느정도는 좀 공부해야할 필요가 있다고 느꼈다.
일단 그걸 하나하나 공부해서 개발을 할 시간은 없다. 빠르게 가보자!
내가 아는 개발 방식은 MVC , MVVM 두개 밖에 없는데 둘다 플러터에서는 써본적도 없거니와.. 내가 직접 A to Z 폴더와 파일을 만들어본적도 없어서 막막했다. 그냥 쉽고빠르게 일단 구글링을 돌려서 타인들이 추천하는 방식으로 폴더를 만들어버리기로 마음 먹었다. (지금 살짝 졸려서 복잡하게 생각하고 싶지 않음)
내가 참고한 폴더구조 잘 정리해놓은 블로그 글_1
내가 참고한 폴더구조 잘 정리해놓은 블로그 글 _2
일단 lib폴더 안에 들어가야할 폴더들은 이렇다.
lib
- models
- screens
- service
- utils
- widgets
main.dart
저번 수업시간에 강사님이 파일구조에 대해서 강조를 하신 내용이 있는데 (이것도 메모해둔것 같은데 메모한것을 잃어버렸다. 🥲)
정확히는 기억이 나지 않지만, 정리해보자면
"한 클래스당 파일 하나!"
"기능은 가능하면 쪼개서 클래스화 시키기"
"본인 나름의 논리대로 폴더를 구조화시켜서 일관성있게 작업하기"
말고도 더 있던것 같은데... 되게 짧게 기억난다...
고라우터..2.0? (검색해보니 페이지 연결 방식인것 같다. 지금은 다루지 말고 추후에 공부해서 정리한 다음 글을 올리기로 하겠다.)
이렇게 잘까먹는 나를 위해 블로그에 주절주절이긴해도 매번 글을 올리기로 또 한번 다짐한다.
글을 쓰면서 자꾸 생각을 정리하게 되니까 블로그를 쓴다는것은 참 좋은것 같다.
각 폴더에 대한 쓸모들을 정리해보겠다. 위에서도 말했지만 어느 누군가들이 잘 정리한 폴더구조를 따라할것이다. 나는 아직 이게 Mvvm인지 Mvc인지 잘 정리된 구조인지 모르겠다. 그저 시행착오를 겪어야 할 뿐.
아직 플러터를 다 배운것도 아니고, 화면만 조금 만들 줄 아는 단계라서 모르는것들은 그냥 일단 과감하게 제쳐두고 왜?라는 질문을 조금 뒤에 품기로 하고, 무작정 만들어봤다.
나는 이제 이 일관성을 잘 지키며 개발을 하면 된다.
폴더구조를 만드는것, 이름을 짓는것, 폰트를 지정하고, 색상을 선택하고, 주석을 다는 것 모든것이 정해진 답이 없기에 답답하고 낯설기만 하다.
매번 설명을 듣고 가이드라인을 지시받아도 온전한 내것이 아니다보니 자꾸 까먹게 된다......
잊지않기 위해 열심히 기록해야한다는 것을 또 한번 느꼈다.
++썸네일은 내가 제일 좋아하는 짤😌