독서6 Clean Code 제 5장. 형식 맞추기 오늘 읽은 범위 : 5장. 형식 맞추기 책에서 기억하고 싶은 내용 타인이 내 코드를 읽을때 어수선해보인다면 그 사람은 프로젝트의 다른 측면도 똑같이 무성의하게 처리했을거라고 생각할것이다. 개발자라면 형식을 깔끔하게 맞춰 코드를 짜야한다. 형식을 맞추는 목적 코드 형식은 중요하다. 코드 형식 자체는 의사소통의 일환이며 개발자의 일차적 의무이다. 코딩 스타일과 가독성 수준은 유지보수와 확장성에 지대한 영향을 끼친다. 원활한 소통을 장려하는 코드형식 적절한 행 길이 유지 반드시 지킬 엄격한 규칙은 아니지만 바람직한 규칙으로 삼으면 좋겠다. 일반적으로 작은파일이 큰 파일보다 이해하기 쉽다. 적은 코드의 양으로도 커다란 시스템을 구축 할 수 있다. 신문 기사처럼 작성 잘짜여진 코드는 신문기사와 비슷하게 작성되어있.. 2022. 3. 1. Clean Code 제 4장. 주석 오늘 읽은 범위 : 4장. 주석 책에서 기억하고 싶은 내용 코드만이 자기가 하는일을 진실되게 말한다. 주석은 나쁜 코드를 보완하지 못한다 표현력이 풍부하고 깔끔하며 주석이 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 코드로 저지른 난장판을 주석으로 수습하려는건 깨끗한 코드를 위한 좋은 습관이 아니다. 주석은 코드에 저지른 실패를 만회하기위한 수단이 아니다. 대표적인 나쁜 주석 항목들을 읽으면 왜 나쁜 주석이라 말하는지 이해할 수 있을것 같다. 혼잣말을 주절거리는 주석 같은 이야기를 반복하는 주석 오해의 여지가 있는 애매한 내용을 담은 주석 의무적으로 다는 불필요한 주석 히스토리를 기록하는 주석 좋은 이름을 쓰지 않은 코드를 설명하는 주석 닫는 괄호에 다는 주석 (발전된 IDE.. 2022. 2. 25. Clean Code 제 3장. 함수 오늘 읽은 범위 : 3장. 함수 책에서 기억하고 싶은 내용 함수를 만드는 규칙 작게 만들어라 각 함수가 하나의 이야기를 표현하다. 각 함수가 너무도 멋지게 다음 무대를 준비했다. 이것이 핵심이다. 함수는 한가지 일만 수행해야 하고, 그 함수는 이후에 어떤함수를 실행시킬지에 대한 여지를 남겨두고 있어야한다. 책을 읽는것처럼 흐름을 예측할 수 있게 함수를 작은단위로 만들어야 한다. 블록과 들여쓰기 if문 / else문 / while 문 등에 들어가는 블록은 한줄이어야한다. 중첩구조가 생길 만큼 함수가 커져서는 안된다는 말이다. 블록 내의 그 한줄은 내부 로직을 설명하는 적절한 명명법으로 별도의 메서드로 사용한다면 코드를 이해하기에 더욱 쉬워질것이다. 한 가지만 해라 함수는 한가지를 해야한다. 그 한가지를 잘.. 2022. 2. 23. Clean Code 제 2장. 의미 있는 이름 오늘 읽은 범위 : 2장. 의미 있는 이름 책에서 기억하고 싶은 내용 소프트웨어에서 이름은 어디나 쓰인다. 많이 사용하므로 이름을 잘지으면 여러모로 편하다. 여느 코드 개선 노력과 마찬가지로 이름 역시 나름대로 바꿨다가는 누군가 질책할지도 모른다. 그렇다고 코드를 개선하려는 노력을 중단해서는 안된다. 아래 규칙을 사용하여 코드 가독성을 높히는 연습을 해보자. 이름을 잘 짓는 간단한 규칙 클래스 이름: 동사는 사용하지 않으며 명사나 명사구가 적합하다.(애매하거나 중의적인 명사는 노노) 메서드 이름: 동사나 동사구가 적합하다. 생성자를 오버로딩할때는 static factory method를 사용한다. Complex fulcrumPoint = new Complex(23.0); Complex fulcrumPoi.. 2022. 2. 20. Clean Code 제 1장. 깨끗한 코드 오늘 읽은 범위 : 추천사 ~ 1장. 깨끗한 코드 책에서 기억하고 싶은 내용 추천서 / 들어가면서 사소한 곳에서 발휘하는 정직은 사소하지 않다. 사소한 것은 중요하다. 세세함에 주의 를 기울이는 태도는 그 어떠한 비전보다 전문가에게 더더욱 필수적이 자질이 되었다. 전문가는 작은 실무부터 실력을 쌓고 신뢰를 얻어야 한다. 아주 사소한 것들이 전체의 매력을 깎아먹기 때문이다. 깨끗한 코드가 중요한 이유도 바로 이 이유이다. 내가 작성한 코드에 대해 정직하자! 5S 법칙 정리(정렬) ⇒ 코드에서 적절한 명명법을 사용하자 정돈(체계화) ⇒ 코드는 누구나 예상하는 위치에 있어야한다. 청소(광내기) ⇒ 과거 이력이나 미래의 바람을 기억한 주석 문과 같은 불필요한 건 제거하자 청결(표준화) ⇒ 일관적인 구현 스타일과.. 2022. 2. 19. 사례를 통해 배우는 SRP 목표 한개의 클래스로 문제를 구현해보고, 프로젝트를 진행하면서 바뀌는 요구사항이나 유지보수에 대응하며 기존 구조의 한계가 무엇인지 확인한다. 이를 통하여 SRP(단일책임원칙)을 배운다. 요구사항 30-01-2017,-100,asd 30-01-2017,500,dsa ... 은행 입출금 내역의 총 수입과 총 지출은 각각 얼마인가? 결과가 양수인가 음수인가? 특정 달엔 몇 건의 입출금 내역이 발생했는가? 지출이 가장 높은 상위 10건은 무엇인가? 돈을 가장 많이 소비하는 항목은 무엇인가? KISS(Keep it short and simple)원칙을 이용해 한개의 클래스로 구현하자. 내용 // 입출금 내역 합계 계산 package com.studyjava.chapter2; import java.io.IOExce.. 2021. 7. 24. 이전 1 다음