Skip to content

SungbinYang/readable-code

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readable Code

Intro

  • 강의소개
  • 강의구성
  • 강의에서 사용할 용어들
  • 예시 프로젝트 소개

추상(抽象)

  • 우리가 클린 코드를 추구하는 이유
  • 프로그램의 정의
  • 추상과 구체
  • 이름 짓기
  • 메서드와 추상화
  • 메서드 선언부
  • 추상화 레벨
  • 매직 넘버, 매직 스트링
  • 키워드 정리

논리, 사고의 흐름

  • 뇌 메모리 적게 쓰기
  • Early return
  • 사고의 depth 줄이기
  • 공백 라인을 대하는 자세
  • 부정어를 대하는 자세
  • 해피 케이스와 예외 처리
  • 키워드 정리

객체 지향 패러다임

  • 추상의 관점으로 바라보는 객체 지향
  • 객체 설계하기 (1)
  • 객체 설계하기 (2)
  • SOLID
  • SRP: Single Responsibility Principle
  • OCP: Open-Closed Principle
  • LSP: Liskov Substitution Principle
  • ISP: Interface Segregation Principle
  • DIP: Dependency Inversion Principle
  • 키워드 정리

객체지향 적용하기

  • 상속과 조합
  • Value Object
  • 일급 컬렉션
  • Enum의 특성과 활용
  • 다형성 활용하기
  • 숨겨져 있는 도메인 개념 도출하기
  • 키워드 정리

코드 다듬기

  • 주석의 양면성
  • 변수와 메서드의 나열 순서
  • 패키지 나누기
  • 기능 유지보수하기 (1) - 버그 잡기
  • 기능 유지보수하기 (2) - 알고리즘 교체하기
  • IDE의 도움 받기
  • 키워드 정리

리팩토링 연습

  • 연습 프로젝트 소개
  • 리팩토링 (1) - 추상화 레벨
  • 리팩토링 (2) - 객체의 책임과 응집도
  • 리팩토링 (3) - 관점의 차이로 달라지는 추상화
  • 키워드 정리

가억하면 좋은 조언들

  • 능동적 읽기
  • 오버 엔지니어링
  • 은탄환은 없다
  • 키워드 정리

Outro

  • 마무리하며

About

[Readable Code: 읽기 좋은 코드를 작성하는 사고법] 강의 예제 Repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%