Skip to content

Latest commit

 

History

History
35 lines (31 loc) · 3.65 KB

211006_첫팀프로젝트,lazy,가독성,성능고려,재사용성,고차함수와_반복문의_성능차이.md

File metadata and controls

35 lines (31 loc) · 3.65 KB

211006 첫팀프로젝트,lazy,가독성,성능고려,재사용성,고차함수와 반복문의 성능차이

TIL (Today I Learned)

10월 6일 (수)

학습 내용

오늘은 팀원들과 첫 프로젝트를 시작하였다. 어제 작성하였던 순서도를 팀원들과 함께 마무리 짓고, 프로젝트 STEP 1을 함께 구현해보았다. 가독성과 성능면을 고려하다가 새롭게 알게된 키워드들도 한번 훑어보게 되었는데, Swift에서 가장 신경쓰는 메모리 관련된 내용이라 깊게 공부해봐야겠다.  

문제점 / 고민한 점

  • 커밋을 어떤 방식으로 해야하는지 고민되었다.
  • 변수와 함수를 구현할 때 네이밍에 대해서 팀원들과 함께 고민해보았다.
  • 맥북 배터리가 고장나서 수리를 맡기는 바람에... 팀 프로젝트를 어떻게 진행해야 할지 막막했다.
  • 커밋 방식은 둘째치고 커밋 단위는 기능 단위로 해야하는 것이 아닌가...?
  • 가독성을 위해서 단위를 쪼개가며 변수를 여러개 생성하는 것이 좋은건지 성능을 위해서 한번에 작성하는 것이 나은건지 고민되었다. 두 가지를 충족시킬 순 없을까?
  • 함수를 작성하면서 재사용성, 변경가능성을 고려하여 파라미터를 작성하면 좋겠다는 생각이 들었다.
  • 제약사항 때문에 함수안에 또 다른 기능이 생긴다면 따로 함수로 빼면 좋을 것 같다.
  • 프로젝트를 하다가 다른 의견이 나왔고, 그 의견들 중 어느 것이 좋은 건지 모르는 상황이 닥쳐왔을 때 어떻게하면 좋을까?  

해결방법

  • 팀원들과 의논하여 요구사항대로 커밋을 작성해보기로 하였으나 이후 밥먹으면서 커밋은 기능단위로 쪼개야 좋다는 것이 생각이 나서 다시한번 의논 후 기능 단위로 쪼개기로 이야기했다.
  • 네이밍을 함께 고민해보며 제일 적절한 이름으로 네이밍을 해보았다.
  • 아이패드로 어찌저찌 모든 것을 해결 하였다. (플레이그라운드, 크롬 등...)
  • 변수의 가독성, 성능을 고민해보다가 Method Chaining이라는 키워드를 얻게 되었다. 그러나 찾아보니 Method Chaining을 하는것이 딱히 장점이 없는 것 같았다. 성능면에서도 같은 내용을 쪼개서 적는다 해도 별차이 없을 것 같다는 결론이 났다.
  • Method Chaining을 알아보다가 고차함수와 반복문의 성능을 비교하면 어떤 것이 더 빠른지 알아보았다. 결론은 엄청 큰 데이터를 다루는 것이 아니면 성능 면에서는 큰 차이가 없기 때문에 고차함수가 적절하다는 결론이 나왔다.
  • 프로젝트 요구사항을 충족 시키면서 함수의 재사용성을 고려하여 파라미터를 받는게 맞다는 생각으로 결론이 났다. 분명 실무에서도 재사용성을 고려하면서 코드를 작성해야될거기 때문이다. 한번 팀원들과 다시한번 이야기를 나눠봐야겠다.
  • 어떤 의견이 좋은지 모르는 상황이 온다면 두개다 구현해보고 리뷰어에게 물어보는 것이 방법이 될 것 같다!