Today I Learned!/Computer Science14 읽기 좋은 코드가 좋은 코드다 (14) - 테스트와 가독성 The Art of Readable Code, written by Dustin Boswell et al. We’re going to focus on the readability aspect of tests and not get into whether you should write test code before writing real code ("test-driven development”) or other philosophical aspects of test development. __01. 읽거나 유지보수하기 쉽게 테스트를 만들어라 Test code should be readable so that other coders are comfortable changing or adding tests. __02.. 2022. 8. 23. 읽기 좋은 코드가 좋은 코드다 (13) - 코드 분량 줄이기 The Art of Readable Code, written by Dustin Boswell et al. 프로그래머가 배워야 하는 가장 중요한 기술은 언제 코딩을 해야 하는지 아는 것이다. ★ 가장 읽기 쉬운 코드는 아무것도 없는 코드다. __01. 그 기능을 구현하려고 애쓰지 마라 - 그럴 필요가 없다 프로그래머는 대개 프로젝트에 정말로 필요한 기능이 얼마나 있는지 과대평가하는 경향이 있다. 또한 어떤 기능을 구현하는 데 필요한 노력을 과소평가하는 경향도 있다. 이는 조잡한 프로토타입을 구현하는 시간을 지나치게 낙관적으로 에측하고, 그 코드를 장차 유지보수하고, 문서를 만들고, 코드 베이스에 새로운 '무게'를 더하는데 얼마나 많은 시간이 필요한지를 완전히 잊어버리게 한다. __02. 요구.. 2022. 8. 23. 읽기 좋은 코드가 좋은 코드다 (12) - 생각을 코드로 만들기 The Art of Readable Code, written by Dustin Boswell et al. 복잡한 생각을 다른 사람에게 설명할 때 중요하지 않은 자세한 내용 때문에 듣는 사람을 혼동시키는 일이 종종 있다. '쉬운 말'로 자신의 생각을 지식이 부족한 사람에게 전달하는 기술은 매우 중요하다. 여기에는 설명할 내용을 걸러서 요지만 뽑아내는 능력이 요구된다. - 코드도 마찬가지로 '쉬운 말'로 작성되어야 한다. 이 장에서 설명할 코드를 더 명확하게 만드는 간단한 과정은 다음과 같다. 코드가 할 일을 다른 사람에게 설명하듯이 '쉬운 말'로 묘사하라. 이 설명에 들어가는 핵심적인 단어와 문구를 포착하라. 설명과 부합하는 코드를 작성하라. __01. 논리를 명.. 2022. 8. 22. 읽기 좋은 코드가 좋은 코드다 (11) - 한 번에 하나씩 The Art of Readable Code, written by Dustin Boswell et al. 한 번에 여러 가지 일을 수행하는 코드는 이해하기 어렵다. ★ 한 번에 하나의 작업만 수행하게 코드를 구성해야 한다. (코드를 '탈파편화(Defragmenting)'하라.) 하나의 함수는 오직 한 가지 작업만 하게 하는 것이 좋지만, 큰 함수를 독자적인 논리적 영역들로 재구성하는 것 만으로 가독성에 도움이 된다. 코드가 한 번에 한가지 일만 수행하게 하는 절차는 다음과 같다. 코드가 수행하는 모든 '작업'을 나열한다. 이때 작업은 아주 간단한 일일수도 있고, 아주 모호한 일일수도 있다. 이러한 작업을 분리하여 서로 다른 함수로 혹은 적어도 논리적으로 구분되는 영역에 놓을 수 있는 코드로 만들어라. _.. 2022. 8. 22. 읽기 좋은 코드가 좋은 코드다 (10) - 상관없는 하위문제 추출 The Art of Readable Code, written by Dustin Boswell et al. 큰 흐름과 관계가 적은 하위 문제를 적극적으로 발견해서 추출하라. 주어진 함수나 코드 블록을 보고, 스스로에게 질문하라. "상위 수준에서 본 이 코드의 목적은 무엇인가?" 코드의 모든 줄에 질문을 던져라. "이 코드는 직접적으로 코드가 해결하기 위한 목적을 위해서 존재하는가? 혹은 그 목적을 위해서 필요하긴 하지만 그 자체와 직접적으로 상관없는 하위 문제를 해결하는가?" 만약 본래 목적과 직접적으로 관련되지 않은 하위 문제를 해결하는 코드의 분량이 상당히 많으면, 이를 추출해서 별도의 함수로 만들어라. 이렇게 추출된 코드는 자신이 호출되는 이유를 알 필요가 없어야 한다. __01. 소개를 위한 예: .. 2022. 8. 22. 읽기 좋은 코드가 좋은 코드다 (9) - 변수와 가독성 The Art of Readable Code, written by Dustin Boswell et al. 변수를 잘못 사용하면 다음과 같은 문제가 있다. 변수의 수가 많을수록 기억하고 다루기 더 어려워진다. 변수의 범위가 넓어질수록 기억하고 다루는 시간이 더 길어진다. 변수값이 자주 바뀔수록 현재값을 기억하고 다루기가 더 어려워진다. __01. 변수 제거하기 가독성에 도움되지 않는 변수는 제거하는 것이 좋다. It isn’t breaking down a complex expression. It doesn’t add clarification—the expression datetime.datetime.now() is clear enough. It’s used only once, so it doesn’t co.. 2022. 8. 22. 읽기 좋은 코드가 좋은 코드다 (8) - 거대한 표현을 잘게 쪼개기 The Art of Readable Code, written by Dustin Boswell et al. ★ 거대한 표현을 더 소화하기 쉬운 여러 조각으로 나눈다. __01. 설명 변수 거대한 표현을 쪼개는 가장 쉬운 방법은 작은 하위 표현을 담을 '추가 변수(extra variable)'을 만드는 것이다. // Here is an example: if line.split(':')[0].strip() == "root": ... //Here is the same code, now with an explaining variable: username = line.split(':')[0].strip() if username == "root": ... 추가 변수는 하위 .. 2022. 8. 22. 이전 1 2 다음