✔️CodingStyle 3

[Clean code] Chapter 12. Emergence (창발적 설계로 깔끔한 코드 구현하기)

Clean Code 클린 코드 - 로버트 C. 마틴 저 를 읽고, clean code 해설 강의를 통해 제가 이해한 바를 정리한 글입니다. 창발성이란 이 책에서 창발성이란 단어를 처음 접했다. 위키를 찾아보면 창발(創發)또는 떠오름 현상은 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 이라고 적혀있다. 즉, 작은 요소들의 상호작용의 반복이 전체 구조에 영향을 미치는 점을 창발성이라고 한다. 이번 챕터에서는 개발에서도 단순한 4가지 규칙을 반복하다 보면 Clean code, 우수한 설계가 나오게 된다고 하며 4가지 규칙을 소개한다. 1. 모든 테스트를 실행하라. 테스트의 중요성은 몇 번 반복해서 나왔다. [Clean code] Chapter..

[Clean code] Chapter 08. 경계

Clean Code 클린 코드 - 로버트 C. 마틴 저 를 읽고, clean code 해설 강의를 통해 제가 이해한 바를 정리한 글입니다. 여기서 말하는 경계라는 것은 우리 코드와 외부 코드의 구분이다. 오픈소스, 라이브러리를 사용하지 않는 프로젝트는 없다. 또한 개발을 하다 보면 시스템에 들어가는 SW를 직접 개발 하기보다 외부 코드를 우리 코드에 깔끔하게 통합해야 하는 일이 생긴다. 또한 외부 코드 사용시 해당 코드의 인터페이스 제공자와 사용자는 이런 경계에 있는 사람들이다. 인터페이스 제공자는 자신의 코드의 적용성을 최대한 넓히고자 하는 반면 사용자는 자신의 요구에 집중하는 인터페이스를 원한다. 이런 입장 차이가 시스템 경계에서 문제를 야기시킬 수 있다. 그래서 이 때 우리 코드와 외부 코드의 경계..

[Coding Style] Return Early Pattern

본 글은 Leonel Menaia의 “Return Early Pattern” 글을 번역한 것입니다. Return Early Pattern 프로그래밍에 대해 배우고 함수를 만들 때의 기본적인 사고방식은 '함수를 만들 때, 어떤 결과를 도출하기까지 어떤 조건에 맞는지 검사'해나가는 것이었다. public String returnStuff(SomeObject argument, SomeObject argument2){ if(argument1.isValide()){ if(argument2.isValide()){ SomeObject otherVal1 = doSomeStuff(argument1, argument2) if(otherVal1.isValid()){ someObject otherVal2 = doAnothre..