개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.02.23
오늘 읽은 범위
3장 함수
책에서 기억하고 싶은 내용을 써보세요.
작게 만들어라
블록과 들여쓰기
중첩 구조가 생길만큼 함수가 커져서는 안된다.
한 가지만 해라
함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야한다.
함수 당 추상화 수준은 하나로
함수가 확실히 '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.
switch문을 사용할 때는 다형성(polymorphism)을 이용하면 저차원 클래스에 숨기고 절대로 반복하지 않을 수 있다.
서술적인 이름을 사용하라.
길고 서술적인 이름이 짧고 어려운 이름보다 좋다.
함수 인수
이상적인 개수는 0개다. 다음은 1개고, 다음은 2개다. 3개는 가능한 피하는 편이 좋다. 4개 이상은 특별한 이유가 필요하다.
부수적인 효과를 일으키지 마라
만약 시각적인 결합이 필요하다면 함수 이름에 분명히 명시한다.
명령과 조회를 분리하라
함수는 객체 상태를 변경하거나 아니면 객체 정보를 반환하거나 둘 중 하나다.
오류 코드보다 예외를 사용하라
오류 코드를 반환하면 호출자는 오류 코드를 곧바로 처리해야한다는 문제에 부딪힌다.
반복하지 마라
코드가 미묘하게 달라 중복이 금방 드러나지 않더라도 중복은 문제다.
결론
프로그래밍의 기술은 언제나 언어 설계의 기술이다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
공감하는 내용이 있고 모르는 내용도 있다. 최대한 많은 실습을 하면서 전부 몸으로 체득해야겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
NULL