강의

멘토링

로드맵

BEST
Programming

/

etc. (Programming)

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.

(4.9) 114 reviews

1,451 learners

  • wbluke
클린코드
이론 실습 모두
clean-code
oop
Refactoring

Reviews from Early 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

5,362

Learners

396

Reviews

373

Answers

4.9

Rating

5

Courses

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

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

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

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

Curriculum

All

55 lectures ∙ (14hr 1min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

114 reviews

4.9

114 reviews

  • hyunzxn님의 프로필 이미지
    hyunzxn

    Reviews 6

    Average Rating 4.7

    5

    100% enrolled

    From the test lecture to this lecture, it was a really good lecture that felt like it was taught by a really good developer and a close older brother. I am a non-major (liberal arts major), but I always remember what the professor said in college about what makes a good article and a good answer. It was that it should be written from the perspective of the reader, not the writer. I always wanted to incorporate this principle into my code while studying development and preparing for employment. This lecture seems to have acknowledged that my thoughts were not wrong. At the same time, it is a really clear lecture that clearly shows me what I need to improve in order to become a better developer. This lecture is highly recommended to those who simply use Java, Kotlin, or other object-oriented languages and use Spring and think, "I'm developing in an object-oriented way." Or, if you feel that the SOLID principles and object-oriented principles that you studied before are not well applied to your code, I dare say that this lecture will really open your eyes. Not only the object-oriented part, but also the lecture title clearly answers what kind of code is easy to read. It contains a lot of helpful content for the collaboration process and the process of rereading previously written code. After listening to the lecture, I think I understand a little why developers have such a hard time naming. If you find naming too easy, you should listen to this lecture! ㅎㅎ The content covered in the lecture is, of course, excellent, and the explanations in each chapter are also very neat and easy to understand without any unnecessary details. I think it is a really, really good lecture. I highly recommend listening to it!

    • wbluke
      Instructor

      Broken Compass~! Wow, such a sincere course review 🥲 I can't tell you how happy I was when I saw the course review while working overtime. I'm so happy that the content I wanted to convey was clearly conveyed ㅎㅎㅎ Thank you, and I will support your future learning journey ☺️

  • regolego님의 프로필 이미지
    regolego

    Reviews 2

    Average Rating 5.0

    5

    7% enrolled

    Following the last test code lecture, I feel that it is a composition that increases understanding with clear explanations without unnecessary details and examples appropriate to the place. I gave up several times while reading Robert Martin's Clean Code, but after watching this lecture, I am motivated to read it again. Thank you. Please continue to give good lectures!

    • wbluke
      Instructor

      Oh my Patrasche, woof woof! Thank you for always supporting me wholeheartedly ㅋㅋㅋ 🙇

  • lyt12282592님의 프로필 이미지
    lyt12282592

    Reviews 14

    Average Rating 5.0

    5

    100% enrolled

    I've always been interested in clean code and have tried to write readable code. However, after listening to this lecture, I realized that I've only just begun to dabble in clean code. From the test code lecture to this lecture, I've really been able to improve my skills. Based on what I've learned, I'm going to try to refactor a previously completed project and learn from it. Thank you for the great lecture! I'm looking forward to the next lecture!

    • wbluke
      Instructor

      Dongpal-nim~! I'm glad that all the content I wanted to convey was conveyed well. ㅎㅎㅎ I hope that we can continue to create good codes together based on what you've learned this time. Thank you for your valuable review! ☺️

  • dbcksrla4023님의 프로필 이미지
    dbcksrla4023

    Reviews 6

    Average Rating 5.0

    5

    58% enrolled

    I got angry when I saw the code I wrote when I was a new employee 2 years ago and tried to refactor it, but I couldn't figure it out. So I watched the test code lecture and was impressed and started studying with confidence, but I regret not seeing it sooner... I've been burned out lately, but thanks to this, I've been enjoying developing lately while refactoring. When I looked back on myself simply defining functions at a specific level, I felt ashamed of myself thinking, `I'm pretty good at this, aren't I?` I'll just start studying from now on with the mindset of a 0-year employee and erase my career. Thank you. Please let me know when the next lecture comes out, whether it's a notification or something. Please, please.

    • wbluke
      Instructor

      dbcksrla~! Oh, I think these kinds of feelings come together to be a good driving force to write good code 😊😊 I feel the same way! 😆😆 Thank you for the detailed review, and I will think hard about the next lecture 😊😊😊 I will also support your future journey ☺️

  • longbright0804님의 프로필 이미지
    longbright0804

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    While watching the previous lecture, I got the feeling that you write code very cleanly and well, but I had no idea you would prepare it like this! It goes without saying that your explanations are simple and clear. This is a lecture that really scratches that itch for those parts that anyone who writes code has probably thought about at least once. While refactoring side projects and company projects, I had been focusing on writing code that "looks clean," but it was all an illusion. I was repeatedly doing completely groundless refactoring 🫠 But since I've learned it now, all that's left is to put what I learned here to good use! Thank you so much for the great lecture 👍

    $42.90

    wbluke's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!