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 문을 이용해서 예외처리는 실제로 잘 지켜지고 있는 것 같고, 나 또한 그렇게 하려고 노력중이다.
'CS지식' 카테고리의 다른 글
#개발공부 : 리액트에서 key를 쓰는 이유/필요한 이유? (0) | 2022.06.07 |
---|---|
#개발공부 : 컴파일러와 인터프리터 (0) | 2022.05.31 |
[노개북챌린지] CleanCode TIL 복습 / 최애 TIL (0) | 2022.02.21 |
[노개북챌린지] CleanCode TIL 2장 의미 있는 이름 (0) | 2022.02.21 |
[노개북챌린지] CleanCode TIL 1장 깨끗한 코드 (0) | 2022.02.19 |