본문 바로가기

clean code

Clean Code : (3) 함수 프롬스의 SWDEVLAB 함수 프로그래밍 초창기에는 시스템을 루틴과 하위 루틴으로 나누었습니다. 포트란과 PL/1 시절에는 시스템을 프로그램, 하위 프로그램으로 나누었습니다. 지금은? 함수만 살아남았습니다. 어떤 프로그램이든 가장 기본적인 단위가 함수입니다. 이번 포스팅을 하며 함수를 잘 작성하는 방법을 숙지합니다. 작게 만들어라 함수를 만드는 첫째 규칙은 작게! 입니다. 함수는 만드는 두번째 규칙은 더 작게! 입니다. 이 규칙은 근거를 대기 곤란하고, 작을수록 더 좋다는 증거나 자료를 제시하기도 어렵습니다. 저자는 40년간 개발을 하며, 1000줄의 함수, 100~200줄의 함수, 20~30줄의 함수를 모두 작성하는 경험을 했지만 작은 함수가 좋다고 확신하고 있습니다. 80년대에는 함수가 한 화면을 넘.. 더보기
Clean Code : (2) 의미 있는 이름 프롬스의 SWDEVLAB 의미 있는 이름 소프트웨어에서 이름은 어디나 쓰입니다. 변수, 함수, 인수, 클래스, 패키지 그리고 소스파일과 디렉토리에도 이름을 붙입니다. 이렇듯 많이 사용하므로 이름을 잘 지으면 여러모로 편합니다. 이번에는 이름을 잘 짓는 간단한 규칙을 몇가지 살펴봅니다. 의도를 분명히 밝혀라 좋은 이름으로 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많습니다. 변수(혹은 함수나 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이 됩니다. int d; // 경과 시간 (단위: 날짜) 여기서 이름 d는 아무 의미도 드러내지 않습니다. 경과 시간이나 날짜라는 느낌이 안듭니다. 측정하려는 값과 단위를 표현하는 이름이.. 더보기
Clean Code : (1) 깨끗한 코드 프롬스의 SWDEVLAB 깨끗한 코드 이 책을 읽는 이유는 두 가지가 있습니다. 첫째, 프로그래머이기 때문에 .. 둘째, 더 나은 프로그래머가 되고 싶기 때문에 .. 코드를 최대한 다양한 각도에서 살펴보고 사방으로 돌리고 안팎으로 뒤집으며 꼼꼼히 따져봅니다. 코드가 존재하리라 자동으로 코드를 작성해주는 시대가 다가오고 있지만, 코드가 사라질 가망은 없습니다. 코드는 요구사항을 상세히 표현하는 수단이기 때문입니다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍입니다. 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심해야 합니다. 요구사항에 더욱 가까운 언어를 만들 수도 있고, 요구사항에서 정형 구조를 뽑아내는 도구를 만들 수도 있습니다. 하지만 어느 순간에는 정밀.. 더보기
Clean Code : (0) 서론 프롬스의 SWDEVLAB Clean Code : 서론 요즘 다른 공부를 하느라 IT 서적을 좀 멀리한 듯 싶습니다. 다시 힘을 내어, Clean Code를 읽으며 포스팅을 꾸준히 다루어볼까 합니다. 서론 장인 정신을 익히는 과정은 두 단계로 나뉩니다. 바로 이론과 실전입니다. 첫째, 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 합니다. 둘째, 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 합니다. 깨끗한 코드를 작성하는 방법은 배우기 어렵습니다. 단순히 원칙과 패턴을 안다고 깨끗한 코드가 나오지 않습니다. 고생을 해야 합니다. 스스로 연습하고 실패도 맛봐야 합니다. 남들이 시도하다 실패하는 모습도 봐야 합니다. 그들이 넘어지고 일어서는 모습도 봐야 합니다. 결정을 내리느라 고민하.. 더보기