[클린코드] 에러 핸들링

안암어스 ver.2

<aside> 💡

[요약] 아키텍처는 소프트웨어를 요구사항 변화에 유연하도록 쪼개고 중복을 제거하기 위해 비슷한 조각끼리 묶은 결과이다. 코드 단위의 연결은 의존성 규칙에 근거한다.

</aside>

1부 소개

1장 설계와 아키텍처란?

설계와 아키텍처는 같다. 저수준의 세부사항과 고수준의 구조/결정 사항이 소프트웨어 전체 설계를 구성하기 때문이다.

소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다.

개발자는 클린한 소프트웨어 아키텍처를 학습하고 항시 코딩할 때마다 적용하려 노력해야 한다. 급하다고 대충짜면 오히려 느리다.

2장 두 가지 가치에 대한 이야기

소프트웨어를 클린하게 설계하고 구현하는 일이 비즈니스와 무관한 개발자의 자기만족으로 치부되지만, 클린 아키텍처는 비즈니스 성과에도 해당한다.

2부 벽돌부터 시작하기: 프로그래밍 패러다임

프로그래밍 기법(패러다임)과 프로그래밍 언어의 개념을 구분해야 한다.

프로그래밍 기법은 프로그래밍 언어에 무관하다. 하지만 프로그래밍 언어는 프로그래밍 기법을 편리하게 사용할 수 있도록 돕거나, 해당 프로그래밍 기법을 벗어나는 명령어를 제공하지 않음으로써 프로그래밍 기법을 강제로 적용시킨다.

이를테면, C로도 객체지향 프로그래밍 기법에 따라 코드를 작성할 수 있다. 반면, JAVA를 쓰면서도 객체지향 프로그래밍의 제약(e.g. 무분별한 public 변수 정의)를 위반하면 객체지향 프로그래밍을 적용했다고 볼 수 없다.

4장 구조적 프로그래밍