나는 이렇게 본다/Clean Code 6

원활한 소통을 장려하는 코드 형식은 무엇일까?

제목 : 클린 코드 저자 : 로버트 C. 마틴 범위 : 5장 형식 맞추기 기억하고 싶은 것 '돌아가는 코드'가 전문 개발자의 일차적인 의무라 여길지도 모르겠다. 하지만 이 책을 읽으면서 생각이 바뀌었기 바란다. 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다. 원활한 소통을 장려하는 코드 형식은 무엇일까? 대부분 200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다. 신문기사 처럼 작성하라 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 저차원 함수의 세부 내역이 나온다. 개념은 빈 행으로 분리하라. 타당한 근거가 없다면 서로 밀집한 개념은 한 파일에 속해야 마땅하다. 연관성이란 한 개념을 이해하는 데 다른 ..

주석은 언제나 실패를 의미한다.

제목 : 클린 코드 저자 : 로버트 C. 마틴 범위 : 4장 주석 기억하고 싶은 것 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해 주석을 사용한다. 의도를 표현할 능력이 있다면 주석은 거의 필요하지 않으리라. 자신이 저지른 난장판을 주석으로 설명하려 애쓰는 대신에 그 난장판을 깨끗이 치우는 데 시간을 보내라! 좋은 주석이란? 법적인 주석 정보를 제공하는 주석 (예 : 추상 메서드가 반환할 값 설명) 그럼에도 가능하다면, 함수 이름에 정보를 담는 편이 좋다. 의도(목적)를 설명하는 주석 의미를 명료하게 밝히는 주석 결과를 경고하는 주석 중요성을 강조하는 주석 나쁜 주석이란? 함수나 변수로 표현할 수 있다면 주석을 달지 마라 배너는 눈에 띄며 주의를 환기한다. 그러므로 반드시 필요할 때..

함수를 어떻게 짜죠?

제목 : 클린 코드 저자 : 로버트 C. 마틴 범위 : 3장 함수 기억하고 싶은 것 작게 만들어라! 함수를 만드는 첫째 규칙은 '작게!'다. 20줄도 길다. 들여 쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 함수는 한 가지를 해야 한다. 그 한 가지를 잘해야 한다. 그 한 가지만을 해야 한다. 한 가지란 무엇인가? 지정된 함수 '이름' 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다. 확인하는 방법, 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다. 함수 당 추상화 수준은 하나로! 근본 개념 세부 사항 ex) getHtml() .append("\n") 추상화 수준을 일관되게 적용할 것 위에서 아래로 추상화 수준이 낮은 함수가 위치한..

의미 있는 이름

제목 : 클린 코드 저자 : 로버트 C. 마틴 범위 : 2장 의미 있는 이름 기억하고 싶은 것 그릇된 정보를 피하라 서로 흡사한 이름을 사용하지 않도록 주의한다. 의미 있게 구분하라 (읽는 사람이 차이를 알도록 이름을 지어라) 연속적인 숫자를 덧붙인 이름은 의도적인 이름과 정반대다. 요지는 zork라는 변수가 있다는 이유만으로 theZork라 이름 지어서는 안 된다는 말이다. 주의 : info, data, variable, table 등 발음하기 쉬운 이름을 사용하라 검색하기 쉬운 이름을 사용하라 긴 이름이 짧은 이름보다 좋다. 검색하기 쉬운 이름이 상수보다 좋다. 이름 길이는 범위(스코프) 크기에 비례해야 한다. 전역변수나 상수는 검색하기 쉬운 이름이 바람직하다. 자신의 기억력을 자랑하지 마라 문자 하..

깨끗한 코드야말로 더 빨리 가는 유일한 방법

제목 : 클린 코드 저자 : 로버트 C. 마틴 범위 : 1장 깨끗한 코드 기억하고 싶은 것 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심한다. 우리 모두는 좋은 코드가 중요하다는 사실을 안다. 왜? 오랫동안 나쁜 코드에 시달려왔으니까. 회사가 망한 원인은 바로 나쁜 코드 탓이었다. 나중에 손보겠다고 생각한 경험이 있다. (중략) 나중은 결코 오지 않는다. 나쁜 코드가 쌓일수록 팀 생산성은 떨어진다. 그러다가 마침내 0에 근접한다. 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다. 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다. 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. 깨끗한 코드는 한 가지를 제..

소프트웨어는 80% 이상이 '유지보수'다

제목 : 클린 코드 저자 : 로버트 C. 마틴 범위 : 추천사 ~ 들어가면서 기억하고 싶은 것 소프트웨어는 80% 이상이 소위 "유지보수"다. 사소한 것에 정직해야 한다. (중략) 자신에게 정직하라는 뜻이다. 깨끗한 코드를 작성하는 방법은 배우기 어렵다. (중략) 고생을 해야한다. 떠오르는 생각이나 질문 유지보수를 즐길 수 있어야 개발을 더 즐길 수 있겠구나 자신에게 정직한 것은 코드 외에 삶에서도 정말 중요한 것 같다 이론을 배우면 반드시 코드로 구현해보자. 반드시! 더 알아보고 싶은 것 인터페이스는 무엇이고, 인터페이스가 프로그램이라는 것은 어떤 의미일까? 참고 : https://enjoyplaying.tistory.com/33 설계가 코드 속에 존재한다는 것은 어떤 의미일까?