독서(35)
-
(클린코드) 2장. 의미 있는 이름
클린코드 2장, 의미 있는 이름 챕터를 정리한 글이다. 오른 쪽에 유명한 통계가 있다. 개발자들이 가장 힘들어 하는 것은 바로 '이름 짓기' 이다. 왜 이름 짓기가 가장 힘들어 하는 일일까? 그냥 a,b,c,d 로 이름을 지으면 안 될까? for 문에서는 i, j, k를 사용해서 처리하며 안 될까? 클린코드 2장에서 어떻게 하면 이름을 잘 지을 수 있는지에 대해 알아보자. 의도를 명확히 밝혀라 모두가 공감할 만한 제목이다. 의도를 명확히 밝힌 클래스명, 변수명은 가독성을 올려줌으로서 (명확하지 않은 것에 비해) 이해하는 시간을 훨씬 줄여준다. 그럼 어떻게 '의도를 명확히' 밝힐 수 있을까? 책에서는 이에 대한 수단으로 다음과 같은 굵직한 질문에 대답해야한다고 한다. '변수(혹은 함수나 클래스)의 존재 이..
2022.03.04 -
(클린코드) 1장. 깨끗한 코드
먼저 클린코드, 클린아키텍처를 쓴 Uncle Bob 에게 감사하며 이 글을 시작한다. 클린코드 1장에서는 '코드'에 대해서 알아보고, 좋은 코드와 나쁜 코드에 대해서 알아본다. There Will Be Code 이 파트에서는 코드의 중요성에 대해 말한다. 코드는 요구사항의 디테일한 부분을 나타내기 때문에, 코드를 신경쓰지 않을 수 없다는 것이다.(반드시 코드를 신경써야 한다!) Bad Code 여기서 인상깊은 예시가 등장하는데 바로 80년대 킬러 앱에 관한 예시이다. 이 킬러앱은 초기에는 정말 잘 나갔으나, 이후에 사용자가 많아지자 급격하게 서비스를 종료하게 된 앱이다. 저가가 말하는 이 앱이 서비스를 종료한 이유는 바로 시장에 반응하기 위해서 코드를 대충 작성했기 때문이다! 결론은 코드를 보는 안목을..
2022.02.20 -
(코드 컴플리트2) 25 - 27장 회고
*12.29일에 진행한 코드숨 코드 컴플리트2 스터디 회고글입니다. 오늘은 25에서부터 27장에 관해 스터디를 진행했다. 각 장 모두 제각각의 주제가 있지만 '모두 성능을 어떻게 하면 높일 것인가?' 에 대한 답으로써 작성된 글이 아닐까? 📕 성능이 뭘까? 그럼 성능이 뭘까? 사실 가장 기초적이면서도 지나치기 쉬운 질문이다. 책에서는 성능에 대해서 명확하게 뭐라고 설명하지는 않지만, 성능에 관해서 아주 좋은 비유를 들어준다. 디지털 카메라에서 사진 한 장 한 장을 옮기는 속도가 아무리 빠르다 해도, 탐색기를 사용해서 한 번에 여러장씩 선택해서 옮기는 것 보다 효율적일 수는 없다. 나는 이런 점을 미루어 봤을 때 성능은 사용자가 체감하는 속도와 효율성이라고 생각했다. 이 부분에 대해서 윤석님은 '성능이란 ..
2021.12.30 -
(코드 컴플리트2) 10장 변수 사용 시 고려할 사항 - 2
코드 컴플리트 10장에서 우리는 '변수'에 대해 알아보고 있었고, 이 글은 변수의 범위부터 시작한다. 📕 선생님, 범위는 어디까지예요??!! 책은 변수의 '범위'를 변수의 명성이라고 말한다. 인기 스타를 상상해보자. 티비의 이 채널에도 나오고, 저 채널에도 나오면 유명하다고 할 수 있지 않을까? 변수도 그런 셈이다. 이 루틴에도 나오고, 저 루틴에도 나오고, 코드 상단에 선언돼서, 하단에 가서도 사용되는 것이 명성이라고 생각한다. 그럼 이 범위를 왜 나눠야 할까? 예전 원시적인 언어에서는 모든 변수가 전역 변수였다. 모든 변수가 전역 변수이면 변수가 프로그램이 종료될 때까지 메모리를 점유하고 있고, 개발 중 여러 실수를 유발할 수 있는 문제점들을 안고 있는 등 여러 문제가 발생했다. 현재 C++, 자바에..
2021.11.30 -
(코드 컴플리트2) 10장 변수 사용 시 고려할 사항 - 1
코드를 작성하다 보면 많은 어려움과 직면하게 된다. 어떻게 아키텍처를 설계할까, 어떻게 루틴을 설계할까 등등. 이번 장에서는 위의 문제보다는 간단하면서도, 해결하기 까다로운 '변수'라는 변수를 다뤄본다. 3부 변수 파트에는 변수 사용 시 고려할 사항, 변수 이름의 기능, 기본 데이터형, 특이한 데이터형 등 이렇게 4가지 파트로 나눠져 있고, 이 글에서는 첫 번째 파트인 '변수 사용 시 고려할 사항'에 대해서 다뤄보려 한다. 📕 변수가 뭘까? 변수를 직역하면 "변하는 수"이고, 사전적 정의는 "어떤 관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수."이다. 두 설명에서 공통되는 것은 '변한다'라는 성질이다. 이렇듯 변수는 변하는데, 어떻게 변하며, 언제 변하며, 무엇 때문에 변하는지가 프로그래밍에서 ..
2021.11.30