단순 개발 공부

[공부] 코드 나누는 방법

모리선생 2023. 6. 11. 23:44
728x90

해당 공부는 더코딩파파님의 '코드 나눌 때 widget'만 사용해야되나' 를 참고한 것입니다. 개발자라는 직업을 통해 꾸준히 배우면서 클린코드를 달성해 동료 개발자와 사용자들이 어려움없이 납득하며 사용할 수 있는 앱을 개발하는 날을 꿈꾸고 있습니다.

 

그럼 공부 시작!

 

코드를 나눌때, 우리는 어디서 나눌지 잘 모른다. 그럼 두가지를 생각 해보면 된다.

  1. 코드 재사용 범위
  2. Rerendering(화면에 어떻게 보일지 계산 후 화면을 구성하는 것)의 범위

더 코딩파파님의 말씀에 따르면 코드 재사용의 범위는 프로그래머의 재량에 있다고 하지만 Rerendering의 범위를 규정하고 이를 생각해 만드는 것은 프로그래머의 숙련도와 생각의 깊이에 따라 반영이 된다고 한다.

 

그럼 코드를 나눌때 무엇을 써야할까?

Extract Method? 아니면 Extract Widget?

 

Method의 경우에는 Helper를 사용하므로 내용이 훨씬 깔끔해진다.

(해당 부분은 직접 코드를 작성해서 한번 시행 해보려고 한다: 이미지 추가 예정)

 

근데 이렇게 보기가 좋다고 이야기가 다 되는 것은 아니라고 한다. Helper를 사용하는 경우 Rerendering이 build 전체에 실행이 된다. 하지만 여기에다가 상태관리 툴인 provider의 consumer를 사용을 하면 helper안에서 해당 내용을 감싸므로써 해당 부분의 상태만 따로 관리 할 수 있는 상태가 된다.

출처: 더코딩파파 - Helper를 사용시 좋아요를 눌렀을때 해당 helper내의 전체가 Re building이 된다.

그렇다면, 어떤 조합이 좋을까?

  1. Widget?
  2. Helper + 상태관리툴?

이러한 경우에는 어떤 방식으로 작성을 했을때, 본인이 코드를 더 쉽게 관리를 할 수 있는지를 생각해보고 진행을 해본다고 한다.

 

이렇게 까지 공부를 듣고 나니 본인은 클론 코딩을 진행했을때, 더 짧고 간결하게 코드를 관리하기 위해서 widget을 더 많이 사용하였던것 같다. 그 이유는 코드가 길어지면 길어질 수록 가독성이 떨어지게 되고 해당 함수가 어떤 의미를 나타내는지 단번에 확인이 불가 했기 때문이다.

 

하지만, 또 다르게 생각을 해보면 여러가지 기능이 얽히고 섥혀 있는 앱의 경우에는 Helper와 상태관리 툴을 통해서 상태관리 한번으로 여러가지 상태를 단번에 파악하고 변경된것을 반영할 수 있도록 하는 것이 좋을 수도 있다. (저자는 아직까지 복잡한 기능의 어플을 작성하지 못하여, 이러한 방법에는 익숙하지 못한걸 수도 있다.)

 

여튼 helper와 widget 두가지 방법을 적절하게 사용하면서 어플을 제작해본 뒤 나에게 맞는 시나리오를 그때 그때 만들어 보아야겠다.

 

출처: 더코딩파파

https://youtu.be/vVHEHutcC7E

728x90

'단순 개발 공부' 카테고리의 다른 글

[개인앱] 진전상황  (0) 2023.06.07
[공부] 디버깅이란?  (0) 2023.06.01
[개발] 공부 전략 짜기  (2) 2023.05.17