BEST
개발 · 프로그래밍

/

개발 · 프로그래밍 기타

Readable Code: 읽기 좋은 코드를 작성하는 사고법

이 강의를 통해 클린 코드 원칙에 대한 깊은 이해를 하고, 객체 지향 사고 방식에 입각한 깔끔한 코드를 작성할 수 있게 됩니다. 클린 코드와 객체 지향이 궁금한 분, 코드를 정말 잘 짜고 싶은 모든 분들을 위한 강의입니다.

(5.0) 수강평 55개

수강생 918명

Thumbnail

초급자를 위해 준비한
[백엔드, 클린코드] 강의입니다.

이런 걸
배워요!

  • 읽기 좋은 코드를 작성하기 위한 사고방식

  • 지켜야 하는 이유부터 깊게 이해하는 클린 코드 원칙

  • 코드 레벨에서 맛보는 객체 지향 패러다임, SOLID 원칙

  • Value Object, 일급 컬렉션, Enum과 다형성 등 객체 지향 활용법

  • 엉망인 코드를 좋은 코드로! 점진적 리팩토링과 구조 설계

저 사람은 코드를 되게 잘 짜네.
어떻게 저런 코드를 작성하는 걸까? 🤔

어떤 사람의 코드를 보고 '와 잘 짰다' 라고 느낄 때가 있습니다.
우리가 '코드를 잘 짠다' 라고 표현하는 것은 사실 '코드가 잘 읽힌다' 라고 느끼는 것과 같은 맥락인데요.

결국 코드라는 것은, 남들이 보았을 때 가독성 있게 작성할 수 있느냐가 관건입니다.
단순히 코드 스타일을 잘 작성하는 것을 넘어서, 읽는 사람에게 잘 읽히도록 구조를 설계하는 역량이 핵심인 것이죠!

클린 코드(clean-code) 원칙, 들어는 봤는데
무슨 말인지, 왜 지켜야 하는지 잘 와닿지 않아요. 🧐

클린 코드는 로버트 C. 마틴(Robert C. Martin)이 저술한 동명의 책을 통해 널리 알려진 용어입니다.
코드의 유지보수성을 높이고, 협업을 용이하게 하며, 개발자들이 더 나은 코드를 작성할 수 있게끔 하는 여러 지침을 담고 있는데요.

다만 이런 지침들에 대한 깊은 이해 없이, 맹목적으로 지키기만 하는 법칙으로만 남아 강요되는 경우를 많이 보았습니다.
이 강의에서는 클린 코드 원칙을 내 것으로 만들기 위해 '추상(抽象)'이라는 기반 개념에서부터 출발하여, 좋은 코드를 작성하기 위한 사고방식을 하나씩 소개합니다.

객체 지향 프로그래밍, 개념을 배우기는 했는데
그래서 어떻게 적용하라는 걸까요? 😵‍💫

캡슐화, 추상화, 상속, 다형성, 그리고 SOLID 원칙까지.
객체 지향 개념을 면접 준비를 위해 달달 외우기만 하셨나요?

이론으로만 받아들인 개념은 코드 레벨에서 즉각적으로 나타나기 어렵습니다.
이 강의에서는 복잡하고 엉망인 코드를 조금씩 리팩토링 해나가면서, 객체 지향 패러다임을 어떻게 이해하고 적용해야 하는지를 코드 레벨에서 낱낱이 보여줍니다.

이 강의에서는 📖

읽기 좋은 코드를 작성하는 사고방식

단순히 클린 코드 원칙을 나열하면서 '~해라', '~하지 말아라' 하는 지침을 소개하는 강의가 아니라, 코드를 작성하는 내가 능동적으로 사고하면서 원칙을 적용할 수 있도록 이해를 기반으로 하여 설명합니다.

코드 레벨에서 맛보는 객체 지향 패러다임

[객체를 설계하는 접근법, SOLID 원칙]부터 [Value Object, 일급 컬렉션, Enum, 다형성] 등의 활용법까지.
지금까지 이론으로만 알아왔던 객체 지향에 대해 코드 레벨에서 자세하게 살펴봅니다.

엉망인 코드를 더 나은 코드로 리팩토링하는 경험

순수 자바로 만들어진 2개의 예시 프로젝트를 제공합니다.
엉망인 코드를 점점 더 나은 코드로 하나씩 리팩토링하면서, 실무에서도 적용할 수 있는 리팩토링 경험을 제공합니다.

머릿속에 남는 키워드 정리

첫 번째 섹션부터 마지막 섹션까지 흐름이 중요한 강의이기 때문에, 섹션별로 키워드 기반의 내용 정리를 제공합니다.
듣고 휘발되는 강의가 아니라, 여러분 머릿속에 남아 체화되는 강의가 되기 위함입니다.

상세한 설명과 장표, 직접 따라치며 이해하는 예시 프로젝트

주제별 핵심 포인트와 이해를 돕기 위한 여러 그림을 제시하고, 개념 설명 이후에는 예시 프로젝트를 통한 코딩을 진행합니다.
처음부터 끝까지 코드를 직접 따라 작성하고 리팩토링하면서 이해도를 높일 수 있도록 구성하였습니다.

이런 분들께
추천합니다 🙌🏻

백엔드 개발자로
취업을 준비하는 분

클린 코드와 객체지향에 대해
깊게 알고 싶은 분

깔끔하고 좋은 코드를
작성하고 싶은 주니어 개발자

커리큘럼을
확인해 보세요

Q&A 💬

Q. 선수 지식이 필요한가요?

이 강의는 순수 자바로만 진행되기에, 기본적인 자바 문법에 대해서만 잘 알고 계시면 됩니다.
자바 11 이상의 문법이면 충분하고, 혹 잘 모르는 내용이 나오더라도 같이 학습해나가면 좋을 것 같아요. 🙂

Q. 실습 환경이 궁금해요!

실무에서 개발하는 것과 최대한 동일하게 보여드리기 위해 기본적으로 IntelliJ Ultimate 라이센스를 사용합니다.
macOS를 사용하고 있는데, 다른 운영체제를 사용하시는 분들이 참고하실 수 있도록 IntelliJ 단축키 플러그인을 적용했어요.
자세한 내용은 공개된 강의를 참고해 주세요. :)

Q. 순서 상관 없이 원하는 섹션을 먼저 수강해도 될까요?

이 강의는 하나의 큰 흐름 안에서 점차 발전해가는 코드를 보여드리며, 앞 내용을 기반으로 뒷 내용을 계속 이어나가기 때문에, 첫 강의부터 순차적으로 학습하시는 것을 추천합니다. :)

수강평 미리 보기

* 아래 수강평은 지식공유자의 테스트 코드 강의에 대한 수강평입니다.

★★★★★

24/01/09 완강했습니다.
정말 너무너무너무 좋은 강의를 들을 수 있어서 얼마나 다행인지 모르겠습니다. 어디서부터 어떻게 시작하고 어떻게 공부해야될지 몰랐었는데 강의를 통해 정리가 되었다는 점이 너무나도 감사하게 다가옵니다. 단 한개의 강의도 대충 찍으신게 없고 정성들여 이 강의를 만들었다는 것이 느껴졌습니다. 앞으로 더욱더 많은 강의들을 수강하고 배우고 싶어집니다. 앞으로도 좋은 강의 많이 찍어주셨으면 좋겠습니다. 감사합니다!!!!

- le***

★★★★★

테스트 관련해서 가려운 곳을 정말 벅벅 긁어주시는 강의 였습니다. 혼자 공부하는데 테스트 코드 관련해서 피드백을 받을 수 있는 곳이 없다보니 IT동아리나 교육프로그램의 프로젝트 레포 여러개를 뒤져가면서 테스트 코드는 어떻게 짜야할지에 대한 고민을 하고 있었는데 강의 통해서 정말 도움이 많이 됐습니다. 이제 방향과 방법을 어느정도 알았으니 스스로 익히고 제것으로 만들어야하는 단계가 남았네요. 좋은 강의 감사드립니다. 강의 준비를 엄청 신경써서 하신게 느껴졌습니다. 감사합니다.

- Ja***

★★★★★

항상 프로덕션 코드를 작성하면서 테스트에 대한 고민이 많았는데, 코드와 함께 쉽게 알려주셔서 정말 재미있게 학습했습니다. 테스트에 대해 아예 모르시는 분들도 이해할 수 있을만큼 뛰어난 흡수력을 제공하는 좋은 강의라고 생각합니다! 좋은 강의 감사합니다ㅎㅎ

- si***

★★★★★

2023년 들은 모든 강의중에 가장 도움되고 주변에 알리고 싶은 강의였습니다. 여러 스프링 강의에서 테스트코드의 중요성을 말하고, 대략적인 assertThat만 사용하였는데, 여러 도구와 도구 사용 방법과 같이 제가 원하던 내용만 들어가 있는 강의였습니다.

- ri***

★★★★★

★ ☆ ★ 수강평을 남길 수밖에 없는 강의! ★☆★ 항상 테스트가 두렵고, 어렵게 느껴져 작성하지 않았습니다. 하지만, 이제는 테스트가 그렇게 어렵고 두려운 존재라는 게 아니라는 걸 알게 되었습니다. 다른 분들도 이 강의를 수강하시고 테스트에 대한 두려움을 이겨내시면 좋겠습니다. 우빈님의 강의가 집중도 잘되고 이해하기 쉽게 잘 설명해 주시네요. 다른 강의도 계획 중이신지 궁금합니다. 감사합니다.

- 눌***

★★★★★

Test Code를 왜 짜야하는지 그 정의와 필요성 그리고 실제로 실무에 어떻게 적용해야 할지 기본이 되는 강의를 아무리 찾아도 찾기 힘들었는데 그 탐색의 도착지가 여기였던 것 같습니다.
너무나도 기본과 실무에 필요한 강의, 비싸고 트렌디한 많은 강의보다도 이 강의가 지금까지 들어본 최고의 강의였던 것 같습니다.
감사합니다.

- 이***

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 클린 코드를 기반으로 하는 사고법이 궁금하신 분들

  • 그동안 객체 지향 개념을 텍스트로 달달 암기하기만 하신 분들

  • 코드를 정말 잘 짜고 싶은 모든 분들!

선수 지식,
필요할까요?

  • Java 기본 문법을 알고, 프로그래밍을 해보신 분들

안녕하세요 ☺️
몰입을 즐기는 개발자, 박우빈입니다.

  • (현) 캐치테이블(와드) 소프트웨어 엔지니어

  • (전) 우아한형제들 소프트웨어 엔지니어

  • 우아한테크코스 3기, 4기 리뷰어 / 우아한테크캠프pro 1기 리뷰어 / 그 외 다양한 리뷰어 활동

커리큘럼

전체

55개 ∙ (14시간 1분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!