CS지식

[노개북챌린지] CleanCode TIL 3장 함수

차빛 2022. 2. 22. 12:32
반응형

DAY 5

범위 : 3장. 함수

 

 

▶ 책에서 기억하고 싶은 내용

** 포트란 : 1950년대 말에 IBM의 존 배커스(John Backus) 외 6명의 전문가가 완성한 최초의 고급프로그래밍 언어 중 하나, 알골과 함께 과학계산용으로 주로 사용되며 매우 간결하고 엄격한 구문형식을 가지고 있다.

https://namu.wiki/w/%ED%8F%AC%ED%8A%B8%EB%9E%80

 

** PL/1 : Programming Language One의 약어

 

프로그래밍 초창기에는 시스템을 루틴과 하위 루틴으로 나눴고, 포트란과 PL/1 시절에는 시스템을 프로그램, 하위프로그램, 함수로 나눔.

 

현재는 함수만 남았으며, 어떤 프로그램이든 함수가 기본이다.

 

이 장에서는 함수를 만드는 규칙에 대해 설명하고 있다.

 

▶ 작게 만들어라

작게 만드는게 보기도 좋고 간결하다. 

 ** if/else/while문에 들어가는 블록은 한줄이어야한다는 의미.

 ** 중첩구조가 생길만큼 함수가 커서는 안된다는 뜻

 

한가지만 해라

1장에서 설명했듯이 하나의 기능만하는게 좋다. 

 ** 함수당 추상화 수준은 하나로!

 ** 위에서 아래로 코드 읽기 : 내려가기 규칙

 

 서술적인 이름을 사용하라

 

 함수 인수

 ** 함수에서 이상적인 인수 개수는 0개 (무항)

 ** 3개 이상은 가능한 피하는게 좋다.

 

 부수효과를 일으키지 마라

 

명령과 조회를 분리하라

 ** 함수는 수행하거나 답하거나 둘 중 하나만 해야한다.

 

오류코드보다  예외를 사용하라

 ** if문을 써서 오류코드를 반환하는 것보다 try/catch와 같은 예외문을 사용하는게 코드가 깔끔

 

반복하지 마라

 ** 중복은 소프트웨어에서 모든 악의 근원

 

 구조적 프로그래밍

 ** 에츠허르 데이크스트르(Edsger Dijkstra) 구조적 프로그래밍 원칙

 **  정적 프로그램(프로그래머가 디자인하는 행위. 코딩)과 동적 프로세스(기계가 동작하는 것) 사이의 격차를 최대한 줄여 프로그래밍과           프로세싱 사이의 간극을 최소한으로 한다는 것

 

 오늘 읽은 소감은?  떠오르는 생각

함수는 한가지일만 해야한다. 아직 주니어지만 일하다보면 시니어들도 안지키는 경우가 있다.

언제든 예외가 발생한다. 실무에서도 꼭 한가지만 하는건 아닌거같지만 코드의 가독성을 높이고 중복을 줄이는데는 함수는 한가지 일만 해야하고 짧아야 좋은 것 같다.

try / catch 문을 이용해서 예외처리는 실제로 잘 지켜지고 있는 것 같고, 나 또한 그렇게 하려고 노력중이다.

 



 

 

반응형