Inflearn English brand logo
Inflearn English brand logo
BEST

Readable Code: Mindset for Writing Readable Code

Through this course, you will gain a deep understanding of clean code principles and be able to write clean code based on object-oriented thinking. This course is for anyone curious about clean code and object-orientation, and everyone who truly wants to write good code.

(5.0) 94 reviews

1,356 students

clean-code
oop
Refactoring
Thumbnail

This course is prepared for Basic Learners.

What you will learn!

  • Mindset for Writing Readable Code

  • Clean Code Principles: Deep Dive into the 'Why'

  • Object-Oriented Paradigm, SOLID Principles at the Code Level

  • Value Object, First-Class Collection, Enum, and Polymorphism, etc., Object-Oriented Usage Methods

  • Bad Code to Good Code! Incremental Refactoring and Structural Design

2

That guy is really good at writing code.
How do you write code like that? 🤔

There are times when I look at someone's code and think, 'Wow, that's well-written.'
When we say that the code is well written, it is actually in the same context as feeling that the code is well readable.

Ultimately, the key to code is whether it can be written in a readable way for others to see .
Beyond simply writing good code style, the key is the ability to design a structure that makes it easy for readers to read!

I've heard of the clean code principle.
I don't really understand what you're saying or why you should follow it. 🧐

Clean code is a term popularized by Robert C. Martin in his book of the same name.
It contains several guidelines that increase the maintainability of code, facilitate collaboration, and help developers write better code.

However, I have seen many cases where these guidelines remain as rules that are blindly followed without a deep understanding of them.
In this lecture , we will introduce the basic concept of 'abstraction' to make the clean code principle our own , and then introduce the mindset for writing good code one by one.

I learned the concept of object-oriented programming
So how do I apply it? 😵‍💫

Encapsulation, abstraction, inheritance, polymorphism, and SOLID principles.
Did you just memorize object-oriented concepts to prepare for the interview?

Concepts accepted only in theory are difficult to immediately manifest at the code level.
In this lecture, we will show you step by step how to understand and apply the object-oriented paradigm at the code level while refactoring complex and messy code little by little.

In this lecture 📖

A mindset for writing readable code

This is not a lecture that simply lists clean code principles and introduces guidelines such as "Do this" and "Do not do this." Rather, it explains the principles based on understanding so that the person writing the code can actively think and apply them.

A taste of the object-oriented paradigm at the code level

From [Approaches to designing objects, SOLID principles] to how to use [Value Objects, first-class collections, Enums, polymorphism], etc.
We will take a detailed look at object orientation, which we have only known in theory so far, at the code level.

Experience refactoring messy code into better code

We provide two example projects written in pure Java.
It provides practical refactoring experience by refactoring messy codes into better codes one by one.

Organize keywords that remain in your head

Since this is a lecture where the flow from the first section to the last section is important, we provide keyword-based content organization by section.
This is not a lecture that you just listen to and forget, but a lecture that stays in your head and is internalized.

Detailed explanations, charts, and example projects that you can follow along and understand.

We present key points and several illustrations for each topic to help with understanding, and after explaining the concepts, we proceed with coding through an example project.
It is structured so that you can increase your understanding by following the code from beginning to end and refactoring it yourself.

To these people
I recommend it🙌🏻

As a backend developer
People preparing for employment

About clean code and object orientation
For those who want to know more deeply

Clean and good code
Junior developer who wants to write

The curriculum
Check it out

Q&A 💬

Q. Is player knowledge required?

Since this course is taught in pure Java, you only need to be familiar with basic Java grammar.
Grammar of Java 11 or higher is sufficient, and it would be good to learn together even if you come across content you don't know well. 🙂

Q. I’m curious about the practical environment!

In order to show you how to develop in practice as closely as possible, we use the IntelliJ Ultimate license by default.
I'm using macOS, but I applied the IntelliJ shortcut plugin for reference for those using other operating systems.
Please refer to the published lecture for more details. :)

Q. Can I take any section I want first, regardless of the order?

This lecture shows you code that gradually develops within one large flow, and since the later content builds on the previous content, I recommend learning sequentially from the first lecture. :)

Preview Course Reviews

* The course review below is a course review of the knowledge sharer's test code lecture.

★★★★★

24/01/09 It was tough.
I can't tell you how lucky I am to be able to take such a great lecture. I didn't know where to start or how to study, but I'm so grateful that I was able to organize everything through the lecture. I felt that not a single lecture was recorded carelessly, and that this lecture was made with sincerity. I want to take and learn more lectures in the future. I hope you will continue to record many good lectures. Thank you!!!!

- le***

★★★★★

This lecture really scratched my itch when it came to testing. Since I was studying alone and had no place to get feedback on test code, I was looking through several project repos from IT clubs or educational programs and was worried about how to write test code. This lecture was really helpful. Now that I have some idea of the direction and method, I just need to learn it myself and make it my own. Thank you for the great lecture. I could feel that you put a lot of thought into preparing the lecture. Thank you.

- Ja***

★★★★★

I always had a lot of concerns about testing while writing production code, but I learned it really enjoyably because it was explained easily with code. I think it is a great lecture that provides excellent absorption that even those who know nothing about testing can understand! Thank you for the great lecture😊😊

- si***

★★★★★

Of all the lectures I took in 2023, this was the most helpful and recommended lecture to those around me . In many spring lectures, they talked about the importance of test code and only used a rough assertThat, but this lecture contained only the content I wanted, such as various tools and how to use them.

- ri***

★★★★★

★ ☆ ★ A lecture that you have to leave a review for! ★☆★ I always feared tests and felt they were difficult, so I didn't write one. However, now I know that tests are not that difficult and scary. I hope that others can take this lecture and overcome their fear of tests. Woobin's lectures are easy to focus on and easy to understand. I wonder if you are planning other lectures. Thank you.

- Nul***

★★★★★

No matter how hard I searched, I had a hard time finding a basic lecture on why Test Code should be written, its definition, necessity, and how to apply it in practice. I think this is where my search ended up.
This lecture is so basic and practical, and I think it is the best lecture I have ever taken, out of all the expensive and trendy lectures.
thank you

- this***

Recommended for
these people!

Who is this course right for?

  • People interested in a mindset based on Clean Code

  • People who have only rote-memorized object-oriented concepts from text so far

  • Everyone who really wants to write good code!

Need to know before starting?

  • Those who know basic Java syntax and have programming experience

Hello
This is wbluke

5,106

Students

334

Reviews

361

Answers

4.9

Rating

5

Courses

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

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

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

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

More

Curriculum

All

55 lectures ∙ (14hr 1min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

94 reviews

5.0

94 reviews

  • 비가싫어요님의 프로필 이미지
    비가싫어요

    Reviews 6

    Average Rating 4.7

    5

    100% enrolled

    테스트 강의에 이어 이번 강의까지 정말 개발 잘 하는 사수, 친한 형이 알려주는 느낌이 드는 아주 좋은 강의였습니다. 저는 비전공(문과 계열)자인데요, 대학에서 좋은 글과 좋은 답안은 어떤 것인가에 대해 교수님이 해주신 말씀이 늘 기억에 납니다. 바로 쓰는 사람이 아니라 읽는 사람 입장에서 써야 한다는 것이었습니다. 이 원칙을 현재 개발을 공부하고 취업을 준비하는 과정에서도 늘 코드에 녹여내고 싶었습니다. 이 강의는 이런 제 생각이 틀리지 않았다는 걸 인정해 준 것 같은 강의입니다. 동시에 제가 더 나은 개발자가 되기 위해 보완해야 할 부분이 무엇인지 명확히 제시해준 정말 명쾌한 강의입니다. 단순히 자바, 코틀린 혹은 다른 객체지향 언어를 사용하고 스프링을쓰면 '난 객체지향적으로 개발 중이야' 라고 생각하시는 분들께 정말 강추드리는 강의입니다. 혹은 이전에 공부한 SOLID 원칙, 객체지향원칙 등이 코드에 잘 적용되어 있지 않다고 느끼는 분들이 들으면 시야가 정말 트이는 강의라고 감히 말할 수 있을 거 같습니다. 객체지향적인 부분 뿐 아니라 강의 제목처럼 읽기 쉬운 코드는 어떤 것인가에 대한 명쾌한 답이 담겨져 있습니다. 협업하는 과정, 그리고 이전에 작성한 코드를 다시 읽는 과정에서 도움이 될 만한 내용이 정말 많이 담겨져 있습니다. 강의를 듣고 나니 왜 이렇게 개발자들이 이름 짓기를 어려워 하는 지 조금은 이해가 가는 것 같습니다 이름 짓기를 너무 쉽게 하고 계시다면 이 강의를 들으셔야 합니다! ㅎㅎ 강의에서 다루는 컨텐츠는 당연히 말할 것도 없이 너무 훌륭하고, 각 챕터에서 설명 역시 군더더기 없이 너무 깔끔하고 이해가 잘 되게 설명해주십니다. 정말정말 좋은 강의라고 생각합니다. 꼭꼭 들어보시는 걸 추천드립니다!

    • 박우빈
      Instructor

      부서진 나침반 님~! 아니 이렇게 정성스러운 수강평이라니 🥲 야근하는 도중에 수강평 내용을 보고 얼마나 기뻤는지 모릅니다. 제가 전달드리고 싶었던 내용이 명확하게 잘 전달된 것 같아 정말 기쁘네요 ㅎㅎㅎ 감사드리며, 앞으로의 학습 여정도 응원하겠습니다 ☺️

  • 파트라슈님의 프로필 이미지
    파트라슈

    Reviews 2

    Average Rating 5.0

    5

    7% enrolled

    지난 번 테스트코드 강의에 이어 느끼지만, 군더더기 없는 명료한 설명, 적재적소에 걸맞는 예시까지 이해도를 높이는 구성입니다. 로버트마틴의 클린코드를 읽다가 몇번 포기했기도 했는데, 이번에 이 강의 보고 다시금 힘을 얻어 정독해보려합니다. 감사합니다. 계속 좋은 강의 부탁드려요!

    • 박우빈
      Instructor

      아이고 파트라슈님 멍멍! 언제나 전폭적인 지지 감사합니다 ㅋㅋㅋ 🙇

  • 동팔이님의 프로필 이미지
    동팔이

    Reviews 14

    Average Rating 5.0

    5

    100% enrolled

    이전부터 클린코드에 관심이 많았고 읽기 좋은 코드를 작성하려고 노력했습니다. 하지만 이 강의를 듣고 저는 '클린 코드에 살짝 발만 담근 정도였구나'라는걸 느낄 수 있었습니다. 테스트 코드 강의부터 이번 강의까지 저의 역량 강화에 정말 많은 도움을 받았습니다. 배운것을 기반으로 이전에 완성했던 프로젝트를 리팩토링 해보며 체득해보는 과정을 가져보려고 합니다. 정말 좋은 강의 감사합니다! 다음 강의도 기대하고 있겠습니다!

    • 박우빈
      Instructor

      동팔이 님~! 제가 드리고 싶었던 내용들이 다 잘 전달된 것 같아 기쁘네요 ㅎㅎㅎ 모쪼록 이번에 얻어가신 것들을 기반으로 앞으로도 좋은 코드 같이 만들어나가면 좋겠습니다. 소중한 수강평 감사드려요! ☺️

  • 하승수님의 프로필 이미지
    하승수

    Reviews 6

    Average Rating 5.0

    5

    56% enrolled

    강의 내용 너무 좋고 다 좋은데... 타이핑이 진짜 너무 빠르세요 치고 있으면 갑자기 다른 곳에 가있고 이러니 계속 멈춰가면서 따라 치는데 뭔가 계속 너무 빨리빨리 진행이 되어서 내가 뭘 하고 있는 건지 몸에 와닿지 않는 느낌이 드네요

    • 박우빈
      Instructor

      하승수 님~! 아이고 강의 시간을 최대한 줄여보려고 하다보니.. 다음 강의에는 조금 더 신경써 보겠습니다! 수강평 감사드리며, 앞으로의 여정도 응원하겠습니다 ☺️

  • dbcksrla님의 프로필 이미지
    dbcksrla

    Reviews 5

    Average Rating 5.0

    5

    58% enrolled

    2년전 제가 신입 시절에 작성한 코드를 보고 열이 받아서 리팩토링을 할려고 하는데 답이 없네요.. 그래서 테스트 코드 강의를 너무 인상깊게 봐서 믿음을 갖고 공부중인데 왜 이걸 지금 봤나 원망스럽네요... 요즘 번아웃 왔는데 덕분에 리팩토링 하면서 요즘 개발하는 시간이 재밌어졌어요 구체적 수준에서 단순히 기능을 정의하는 자신을 되돌아봤을 때 `이정도면 좀 하는거 아닌가?` 라고 생각했던 자신이 부끄러워졌습니다. 그냥 지금부터 경력 지우고 0년차 라는 마인드로 다시 공부하겠습니다. 감사합니다. 다음 강의 나오면 제발 알림이든 뭐든 연락주세요 제발제발

    • 박우빈
      Instructor

      dbcksrla 님~! 아이고 이런 마음들이 모여서 코드를 잘 작성하고자 하는 좋은 원동력이 되는 것 같아요 ㅎㅎ 저도 마찬가지고요! ㅋㅋ 상세한 수강평 감사드리고, 다음 강의는 열심히 또 고민해보도록 하겠습니다 ㅎㅎㅎ 앞으로의 여정도 응원하겠습니다 ☺️

Similar courses

Explore other courses in the same field!

$42.90