개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.02.19
오늘 읽은 범위
1장. 깨끗한 코드
책에서 기억하고 싶은 내용을 써보세요.
프로그래밍 - 기계가 실행할 정도로 상세하게 요구사항을 명시하는작업
코드 - 요구사항을 상세히 표현하는 언어.
나쁜 코드는
개발 속도를 크게 떨어뜨린다.
팀 생산성이 떨어진다. → 인력추가 → 코드해독 → 이해불가 → 생산성 압박 → 나쁜 코드를 더많이 양산 → 생산성이 0에 근접 →
새시스템 설계 → 비용소모
프로그래머- 좋은 코드를 사수하는 책임
사용자의말을 그대로 따르는 행동은 전문가 답지 못하다.
나쁜 코드는 엉망인 상태로 인해 속도가 늦어져 기한을 놓친다.
코드를 깨끗하게 유지하는 습관이 기한을 맞추는 유일한 방법
- 코드는 논리가 간단해야 버그가 숨어들지 못함.
의존성을 최대한 줄여야 유지보수가 쉬워짐
오류는 명백한 전략에 의거해 철저히 처리
나쁜 코드는 나쁜코드를 유혹한다. - 나쁜코드를 고치면서 더 나쁜 코드를 만든다.
깨끗한 코드는 한가지에 집중 - 의존성을 최소화, 정의는 명확하게
깨끗한 코드는 단순하고 직접적.
가독성이 좋을 것.
설계자의 의도를 숨기지 않을것.
사실에 기반 할 것.
작성자가 아닌 사람도 읽기 쉽고, 고치기 쉬울것
의미있는 이름을 붙일 것.
테스트케이스를 생성하고 통과 해야함
코드를 주의깊게 작성할 것.
중복 줄일것
시스템 내 모든 설계아이디어 표현.
클래스, 메서드, 함수등을 최대한 줄일 것.
표현력 높일 것.
초반부터 간단한 추상화 고려하기.
코드를 독해하느라 고민 할 필요가 없어야 함.
읽으면서 짐작한 대로 돌아가야 함.
코드가 그 문제를 풀기위한 언어처럼 보여야 함.
새코드를 짜면서 기존 코드를 읽음 → 읽기쉬운 코드가 매우중요 → 읽기쉬운 코드는 새 코드를 짜기도 쉽다.
시간이지나도 언제나 깨끗하게 유지해야 함.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
중복되는 코드가 많았고, 해결하는 방법 또한 모래성 쌓듯이 대충 급하게 성긴 함수를 사용한 과거를 반성하게 된다.
코드 작성할 때 정리, 표현력 등을 최대한 습관화 해서 깨끗한 상태를 유지 해야겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
// 르블랑의 법칙? (LeBlanc's Law states) - "Later equals never" is used in the context of software development, but may be applied more broadly to other areas. The law is attributed to Dave LeBlanc.