강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

개발 · 프로그래밍 기타

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

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

(4.9) 수강평 121개

수강생 1,526명

  • 박우빈
클린코드
이론 실습 모두
clean-code객체지향리팩터링

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

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

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

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

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

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

2

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

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

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

클린 코드(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 기본 문법을 알고, 프로그래밍을 해보신 분들

안녕하세요
입니다.

5,506

수강생

422

수강평

378

답변

4.9

강의 평점

5

강의

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

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

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

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

커리큘럼

전체

55개 ∙ (14시간 1분)

해당 강의에서 제공:

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

수강평

전체

121개

4.9

121개의 수강평

  • hyunzxn님의 프로필 이미지
    hyunzxn

    수강평 7

    평균 평점 4.7

    5

    100% 수강 후 작성

    Sau bài giảng thử nghiệm, bài giảng này là một bài giảng rất hay, cảm giác như được giảng dạy bởi một lập trình viên giỏi và một người bạn thân. Tôi không theo chuyên ngành (chuyên ngành nghệ thuật tự do) và tôi luôn nhớ những gì giáo sư đã nói với tôi ở trường đại học về những yếu tố tạo nên một bài luận hay và một câu trả lời hay. Ý tưởng là nó nên được viết từ quan điểm của người đọc chứ không phải của người viết. Tôi luôn muốn kết hợp nguyên tắc này vào mã của mình khi nghiên cứu phát triển và chuẩn bị cho công việc. Bài giảng này dường như đã thừa nhận suy nghĩ của tôi không sai. Đồng thời, đó là một bài giảng thực sự rõ ràng, chỉ rõ những gì tôi cần cải thiện để trở thành một nhà phát triển giỏi hơn. Nếu bạn chỉ sử dụng Java, Kotlin hoặc một ngôn ngữ hướng đối tượng khác và sử dụng Spring, bạn sẽ nói: "Tôi đang phát triển hướng đối tượng". Đây là khóa học tôi đặc biệt giới thiệu cho những ai có suy nghĩ như vậy. Đối với những người cảm thấy rằng các nguyên tắc SOLID và nguyên tắc hướng đối tượng mà họ đã nghiên cứu trước đây không được áp dụng tốt vào mã của họ, tôi có thể tự tin nói rằng đây là một bài giảng sẽ thực sự mở rộng tầm mắt của họ. Ngoài phần hướng đối tượng, nó còn chứa câu trả lời rõ ràng cho câu hỏi loại mã nào dễ đọc, như tiêu đề bài giảng đã gợi ý. Nó chứa rất nhiều thông tin hữu ích trong quá trình cộng tác và đọc lại code đã viết trước đó. Sau khi nghe bài giảng, tôi nghĩ mình đã hiểu được phần nào tại sao các nhà phát triển lại thấy việc đặt tên khó khăn đến vậy. Nếu bạn thấy việc đặt tên quá dễ dàng thì nên tham gia bài giảng này! cười Không cần phải nói, nội dung bài giảng rất xuất sắc, những lời giải thích trong mỗi chương đều được giải thích ngắn gọn, dễ hiểu, không có những chi tiết không cần thiết. Tôi nghĩ đó thực sự là một bài giảng hay. Tôi thực sự khuyên bạn nên nghe nó!

    • wbluke
      지식공유자

      La bàn hỏng~! Wow, một bài đánh giá kỹ lưỡng như vậy 🥲 Tôi không thể diễn tả được rằng tôi đã hạnh phúc như thế nào khi đọc bài đánh giá trong lúc làm thêm giờ. Tôi thực sự rất vui vì những điều mình muốn truyền tải đã được truyền tải rõ ràng haha. Cảm ơn bạn và sẽ hỗ trợ bạn trong chặng đường học tập sau này ☺️

  • regolego님의 프로필 이미지
    regolego

    수강평 2

    평균 평점 5.0

    5

    7% 수강 후 작성

    Sau bài giảng về mã kiểm tra lần trước, tôi cảm thấy rằng Nó được cấu trúc để tăng cường sự hiểu biết, với những giải thích rõ ràng, không có chi tiết không cần thiết và ví dụ phù hợp với tình huống phù hợp. Tôi đã bỏ cuộc vài lần khi đọc cuốn Clean Code của Robert Martin. Lần này, sau khi xem bài giảng này, tôi sẽ lấy lại được sức mạnh và đọc kỹ nó. Cảm ơn Hãy tiếp tục cho những bài giảng hay!

    • wbluke
      지식공유자

      Ôi Patrasche của tôi, ôi! Cảm ơn các bạn luôn ủng hộ hết mình haha ​​​​🙇

  • lyt12282592님의 프로필 이미지
    lyt12282592

    수강평 14

    평균 평점 5.0

    5

    100% 수강 후 작성

    Tôi luôn quan tâm đến mã sạch và cố gắng viết mã dễ đọc. Tuy nhiên, sau khi nghe bài giảng này, tôi có thể cảm thấy rằng 'tôi chỉ mới bắt đầu bước chân vào lĩnh vực mã sạch'; Từ bài giảng test code đến bài giảng này, nó thực sự đã giúp tôi củng cố năng lực của mình. Dựa trên những gì đã học được, tôi dự định sẽ thực hiện quá trình tái cấu trúc các dự án đã hoàn thành trước đó để tích lũy kinh nghiệm. Cảm ơn bạn vì bài giảng thật tuyệt vời! Tôi đang mong chờ bài giảng tiếp theo!

    • wbluke
      지식공유자

      Dongpal~! Tôi rất vui vì mọi điều tôi muốn nói đã được truyền tải tốt haha. Tôi hy vọng rằng chúng tôi có thể tiếp tục tạo ra mã tốt dựa trên những gì chúng tôi đã học được lần này. Cảm ơn bạn đã đánh giá có giá trị của bạn! ☺️

  • dbcksrla4023님의 프로필 이미지
    dbcksrla4023

    수강평 6

    평균 평점 5.0

    5

    58% 수강 후 작성

    2 năm trước, tôi đã viết một đoạn mã khi mới vào nghề và thấy tức giận nên muốn refactor nhưng không biết phải làm sao. Vì vậy, tôi đã xem khóa học về mã thử nghiệm và thấy rất ấn tượng nên đã tin tưởng và học tập. Nhưng tôi tự hỏi tại sao mình lại xem khóa học này bây giờ... Gần đây tôi bị kiệt sức nhưng nhờ khóa học này mà giờ tôi thấy thú vị hơn khi refactor và phát triển. Khi nhìn lại bản thân và chỉ đơn giản là định nghĩa chức năng ở mức độ cụ thể, tôi thấy xấu hổ vì nghĩ rằng `Mình có thể làm được đến mức này không?` Tôi sẽ xóa bỏ kinh nghiệm hiện tại và bắt đầu học lại từ đầu với tư cách là người mới vào nghề. Cảm ơn bạn. Khi có khóa học tiếp theo, vui lòng thông báo cho tôi, dù là thông báo hay bất cứ thứ gì khác. Vui lòng, vui lòng.

    • wbluke
      지식공유자

      dbcksrla~! Ôi trời, tôi nghĩ những cảm xúc này kết hợp với nhau và trở thành động lực tốt để viết code hay 😊 😊 Tôi cũng vậy! 😆😆 Cảm ơn bạn đã đánh giá chi tiết khóa học, mình sẽ cố gắng hơn nữa để suy nghĩ về khóa học tiếp theo 😊 😊 😊 Chúng tôi sẽ hỗ trợ bạn trên chặng đường tương lai ☺️

  • qkrrldus93님의 프로필 이미지
    qkrrldus93

    수강평 11

    평균 평점 4.9

    5

    100% 수강 후 작성

    Tôi đã mua nhiều khóa học trên Inflearn, nhưng không khóa học nào có chất lượng cao như khóa học của Toby và Kim Young-han. Khi học lập trình hướng đối tượng qua sách, tôi không hiểu lắm, nhưng khi thực hành và thực hiện từng bước quá trình refactoring, tôi thấy dễ hiểu hơn. Tôi vẫn còn gặp khó khăn ở một số phần, vì vậy tôi cần phải luyện tập liên tục để có thể thực hiện refactoring mà không cần xem lại. Nhưng sau khi nghe khóa học, tôi thấy rất hữu ích. Tôi thích khóa học này đến nỗi đã mua trước khóa học 'Test code', và khi hoàn thành bài tập refactoring, tôi sẽ bắt đầu học khóa học test. Cảm ơn vì đã cung cấp khóa học tuyệt vời

    • wbluke
      지식공유자

      Giyeon Pak ơi~! Thật không biết phải nói gì về lời khen ngợi tuyệt vời này 😊😊😊 Cảm ơn bạn đã để lại đánh giá chi tiết về khóa học! Tôi sẽ tiếp tục ủng hộ bạn trong hành trình sắp tới ☺️

월 ₩232,600

5개월 할부 시

₩55,000

박우빈님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!