안녕 형들
7년차 앱 개발자고
안드로이드 네이티브 , 플러터 개발하고 있음.
첫 회사에서도 코드를 잘 짜야한다고 강조 했지만 , 정작 어떻게 코드를 잘 짜는지 알려주는 사람도 없고
그냥 버그 잘 고치고 기능 동작 잘 하는걸로 만족했는데
새 회사와서 앱은 혼자하는데 여기도 그냥 잘 돌아가면 그만인 수준 같은데 계속 욕심이남.
기존에는 주먹구구식으로 개발 변경 사항이 있으면 그전 코드 지우고 새로 했는데 앞으로는 대체 가능한 , 한 번도 안해본 테스트 코드도 짜보고 싶음.
곧 시작할 프로젝트가 앱 사이즈가 커서 주제에 안맞게 클린 아키텍처 적용 해보겠다고 새 프로젝트 구조 혼자 설계 해보고 있는데
이 구조 설계 자체가 쉽지않내.
클린 아키텍처를 바이블 처럼 생각해서 함정에 빠지는 사람들이 많은거 알고 있고 같이 개발하게될 사람들도 그런거 모를거라 그건 포기하고 그냥
기능 중심으로 분류해서 OOP 원칙만 지키자고 하면서 설계중임.
근데 여태 해본 앱 중엔 사이즈가 제일 큰 앱이라 , 어찌어찌 설계는 하고 있는데 참 쉽지않음.
좀 더 코드를 잘짜고 , 큰 프로젝트 설계도 하는 능력을 기르려면 뭐부터 해야하는거야 ?
제일 먼저 디자인 패턴과 잘짜여진 코드(유명 오픈소스) 보는게 젤 먼저 생각나는데
혹시 조언 해줄게 있는 사람 있으면 알려줘.
나이도 많은편이라 이미 늦은게 아닐까 싶지만 하는데 까지 해보고 더 수준 향상이 안되면 접을까 고민도 하고있음.
7년차인데 여태 뭐했음 ? 이라고 한심하게 생각하는 사람들도 있을거라고 생각하는데 너무 나쁘게만 보지말고 많은 조언 부탁해.
나도 날고싶어
클린 아키텍쳐 바이블로 쓰는거면 클린 아키텍쳐를 레이어에 맞게 구현하면 바이블로 생각하는거지 뭐 어떻게 쓰는건지 설계는 그냥 감각이라 그냥 어떤 설계에 맞냐에 따라 다르지 않나 클린 아키텍쳐 DTO,VO 방식은 요새 다 적용하고 있는거라
내가 좀 오해하게 쓴거 같은데 클린 아키텍처를 바이블로 내가 여긴다는 뜻이 아니라 , 사람들 중에 그걸 바이블로 생각해서 그걸 맹목적으로 많이 따라한다 이런 뜻이었음.
일단 의존성 자체를 단방향으로 함? UI->유스케이스->도메인->엔터티 이 방향으로 설계하는데, 이게 꼭 맞는 방향이라 확정할 수 없으니 니 스택이 뭐냐에 따라 다른거지
@글쓴 프갤러(112.149) 그럼 일단 너가 쓰는 프레임워크가 뭔데
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 야 안쪽팔리냐? 니는 비전공에 취업도 똑바로 못한 새끼가 뭔 앱개발자 7년차한테 훈수를 두려고 하냐 진짜 뇌에 질환있음?
@ㅆㅇㅆ(113.192) 프레임워크라고 물으니 뭐라고 말해야될지 모르겠는데 안드로이드 개발자니 언어는 자바/코틀린 , 안드로이드 SDK 이용하고 플러터는 다트 쓰지.
@ㅇㅇ(124.48) 나보다 잘 아는거 있음 배워야지 .. ㅋㅋㅋ
@글쓴 프갤러(112.149) 그럼 언어가 코틀린 중심이고, UI는 젯팩 컴포즈? 그럼 기본적으로도메인 잡고 하면되지 어려울게 있나
@글쓴 프갤러(112.149) 7년 살아남았음 잘하는거지. 근데 너무 어렵게만 생각하니까 어렵게 느껴지는거지 그냥 하던대로 하면되는거 아닌가 싶은데 난
@ㅆㅇㅆ(113.192) 너 그거 정신질환이야
@글쓴 프갤러(112.149) 도메인 모듈은 엔터티는 순수 코틀린으로 짜고, data는 안드로이드 프레임워크로 하면되지 않나? Layer는 어떻게 나눌거임?
@ㅆㅇㅆ(113.192) 그니까 UI그리고 , 기능 구현하는건 어렵지않아. 위에 썼지만 기능 구현에 어려움을 겪진 않음. 중복코드나 이런건 신경을 많이쓰지만 , 근본적인 문제는 확장에 닫혀있는 코드를 항상 작성해. 맨날 바쁘다 바쁘다 핑계 되면서 기능 변경되면 기존 코드 밀거나 손대서 수정하고 그랬었음. 근데 내 입장에서는 도메인이 뭐지 부터 시작하는거임. 도메인 데이터 프레젠테이션 레이어가 뭔지는 알겠는데 1.의존 방향이 한 방향 이라고 하는게 이해가 안됨. UI 버튼을 눌르면 DB를 읽어와서 화면에 표시하는 기능이 있다고 한다면 , UI에서 DB를 읽어오는 코드를 호출만 하고 그 너머서 DB에서는 뭐하는지 모르는거고 , 그 요청을 받은 DB는 UI쪽에서는 뭐하는지 모르는거고 그냥 데이터만 넘긴다 이정도로 알고있음.
@ㅆㅇㅆ(113.192) 이게 프로젝트 사이즈가 꽤 커서 이전 방식으로는 쇼당이 안날거 같더라고 7년 살아남은거고 나름 눈도 틔여서 새로운 기술을 빨리 배우는건 있는데 , 나름 가닥 있는 회사 갔으면 7년은 커녕 1달도 못버텼을듯
@ㅆㅇㅆ(113.192) 그러니까 도메인과 데이터 레이어가 어떻게 주고 받는지 이해가 잘 안됨. 도메인은 프레임워크에 대한 의존성이 없어야하고 , 실제 안드로이드 SDK를 사용해서 뭔가 하는건 데이터 레이어다 이정도만 알고있어
@글쓴 프갤러(112.149) 1. 일단 의존성 자체를 잘못이해하고 있음. 그냥 간단하게 생각하면 타임참조가 밖에서 안으로만 흐른다고 생각하셈
@글쓴 프갤러(112.149) 2. 도메인 데이터는 유스케이스가 포트(인터페이스)를 호출하면 데이터가 그 포트를 구현해서 실제 입출력을 하는거임.
@ㅆㅇㅆ(113.192) 1번 의존성 이야기 한걸 조금 눈높이 낮춰서 쉽게 말해줄수있음 ? 2. 버튼을 눌르면 usecase가 DB 가져오는걸 호출한다는거 아님 ? usecase가 인터페이스 호출하면 , 그 인터페이스가 구현된 data가 실제 입출력을 한다 이거 맞음 ?
@글쓴 프갤러(112.149)
https://gall.dcinside.com/board/view/?id=programming&no=2896689&page=1
기능 중심 분류는 훌륭한 자세야 암
진지하게 조언한다. 이렇게 너 혼자 질문글 올리고 너혼자 답변하는거 이거 진짜 뇌에 큰 문제 있는거야 니 가족들 생각해서라도 이런거 그만하고 현실을 좀 살아라
니 충분히 불쌍한 인생인거 알았으니 이제 안건들게 ㅇㅇ 그런데 이건 좀 고쳐라 진짜... 가족들 보기에 안창피하냐...?