강의

멘토링

커뮤니티

BEST
Programming

/

etc. (Programming)

Readable Code: 読みやすいコードを書くための考え方

この講義を通して、クリーンコード原則について深く理解し、オブジェクト指向の考え方に基づいたきれいなコードを書けるようになります。クリーンコードとオブジェクト指向に興味がある方、コードを本当にうまく書きたいすべての方に向けた講座です。

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

学習した受講者のレビュー

こんなことが学べます

  • 読みやすいコードを書くための考え方

  • 守るべき理由から深く理解するクリーンコードの原則

  • コードレベルで味わうオブジェクト指向パラダイム、SOLID原則

  • Value Object、ファーストクラスコレクション、Enumや多態性など、オブジェクト指向活用法

  • 悪いコードを良いコードへ!漸進的リファクタリングと構造設計

2

あの人はコードを作るのによく絞ります。
どのようにそのようなコードを書くのですか? 🤔

ある人のコードを見て「とよく織る」と感じる時があります。
私たちが「コードをよく織る」と表現するのは、実際には「コードがよく読まれる」と感じるのと同じコンテキストです。

結局コードというのは、他人が見たときに読みやすく書くことができるかがカギです。
単にコードスタイルをうまく書くことを超えて、読者によく読めるように構造を設計する能力が重要なのです!

クリーンコード(clean-code)原則、聞いたことがあるのに
何を言うのか、なぜ守らなければならないのかよく触れません。 🧐

クリーンコードは、Robert C. Martinが書いた同名の本を通して広く知られている用語です。
コードのメンテナンス性を高め、コラボレーションを容易にし、開発者がより良いコードを書くことができるようにするいくつかのガイドラインが含まれています。

ただ、このような指針についての深い理解なしに、盲目的に守るだけの法則だけに残って強制される場合を多く見ました。
この講義では、クリーンコードの原則を私のものにするために「抽象」という基盤概念から出発し、良いコードを作成するための考え方を一つずつ紹介します。

オブジェクト指向プログラミング、概念を学ぶことはしたが
それで、どのように適用するのですか? 😵‍💫

カプセル化、抽象化、継承、多型、そしてSOLID原則まで。
オブジェクト指向の概念をインタビューの準備のために毎月覚えていましたか?

理論としてのみ受け入れられる概念は、コードレベルで即座に現れることは困難です。
このレッスンでは、複雑でめちゃくちゃなコードを少しずつリファクタリングしていきながら、オブジェクト指向のパラダイムをどのように理解して適用するかをコードレベルで一括で示します。

この講義では📖

読みやすいコードを書く考え方

単にクリーンコードの原則を列挙しながら「~しろ」、「~しないで」という指針を紹介する講義ではなく、コードを作成する私が積極的に思考しながら原則を適用できるように理解に基づいて説明します。

コードレベルで味わうオブジェクト指向パラダイム

[オブジェクトを設計するアプローチ、SOLID原則]から[Value Object、一級コレクション、Enum、多型性]などの活用法まで。
これまでの理論でしか知られていないオブジェクト指向について、コードレベルで詳しく見てみましょう。

混乱したコードをより良いコードにリファクタリングする経験

純粋なJavaで作られた2つのプロジェクト例を提供します。
めちゃくちゃなコードをより良いコードに一つずつリファクタリングしながら、実務でも適用できるリファクタリング体験を提供します。

頭の中に残るキーワードの整理

最初のセクションから最後のセクションまでの流れは重要な講義であるため、セクションごとにキーワードベースのコンテンツクリーンアップを提供します。
聞いて揮発される講義ではなく、皆さん頭の中に残って体化される講義になるためです。

詳細な説明と帳票、直接従い理解するプロジェクト例

テーマ別の重要なポイントと理解を助けるためのいくつかの図を提示し、概念の説明の後に、例示的なプロジェクトを通じてコーディングを行います。
最初から最後まで、コードを直接作成してリファクタリングしながら、理解度を高めるように構成しました。

こんな方へ
おすすめです🙌🏻

バックエンド開発者として
就職準備の方

クリーンコードとオブジェクト指向について
深く知りたい方

きれいで良いコード
作成したいジュニア開発者

カリキュラム
確認してください

Q&A 💬

Q. 選手の知識が必要ですか?

この講義は純粋なJavaでのみ行われますので、基本的なJava文法についてのみよく知っておいてください。
Java 11以上の文法であれば十分で、ひょっとよく分からない内容が出ても、一緒に学習していけばいいと思います。 🙂

Q. 実習環境が気になります!

実務で開発したものとできるだけ同じことを示すために、基本的にIntelliJ Ultimateライセンスを使用します。
macOSを使用していますが、他のオペレーティングシステムをお使いの方が参考になるようにIntelliJショートカットプラグインを適用しました。
詳しくは公開された講義をご覧ください。 :)

Q. 順番に関係なく、希望のセクションを先に受講してもいいですか?

この講義では、一つの大きな流れの中で徐々に発展していくコードをお見せし、前の内容に基づいて後ろの内容を続けていくので、最初の講義から順次学習することをお勧めします。 :)

受講評のプレビュー⭐️

* 以下の受講評は知識共有者のテストコード講義に対する受講評 定です。

★★★★★

24/01/09 頑張りました。
本当にとても良い講義を聞くことができてどれほど幸いなのかわかりません。どこからどのように始めて、どのように勉強しなければならないのか分からなかったのですが、講義を通じて整理になったという点がとても感謝しています。ただ一つの講義も大体撮られたことがなく、丁寧にこの講義を作ったことが感じられました。今後さらに多くの講義を受講して学びたくなります。これからも良い川のたくさん撮っていただきたいです。ありがとうございます!!!!

- le***

★★★★★

テストに関して、かゆいところを本当にすっかり掻いてくださる講義でした。一人で勉強するのにテストコードに関してフィードバックを受けることができるところがないので、IT部門や教育プログラムのプロジェクトレポのいくつかを遅らせながら、テストコードはどのように組むべきかについて悩んでいましたが、講義を通して本当に助けがたくさんなりました。今、方向と方法をある程度知ったので、自分で身につけ、私のものにする必要がある段階が残っていますね。良い講義ありがとうございます。講義の準備をすごく気にしてくださったように感じました。ありがとうございます。

- Ja***

★★★★★

いつもプロダクションコードを書いている間、テストに悩んでいました。テストについて全く分からない方も理解できるほど優れた吸収力を提供する良い講義だと思います!良い講義ありがとうございます😊😊

- si***

★★★★★

2023年は、すべての講義の中で最も役に立ち、周りに知らせたい講義でした。私はいくつかの春の講義でテストコードの重要性を話し、おおよそのassertThatだけを使っていました。

- ri***

★★★★★

★☆★受講評を残すしかない講義! ★☆★ 常にテストが怖くて、難しく感じられて書いていません。しかし、今はテストがそれほど難しくて恐ろしい存在ではないということを知りました。他の方々もこの講義を受講し、テストに対する恐れを打ち負かしてほしいと思います。ウビン様の講義が集中も上手く理解しやすくよく説明してくれますね。他の講義も計画中なのか気になります。ありがとうございます。

- ヌル***

★★★★★

Test Codeをなぜ織るのか、その定義と必要性、そして実際に実務にどのように適用すべきか、基本となる講義をいくら探しても見つけにくかったが、その探索の到着地がここであったようです。
あまりにも基本と実務に必要な講義、高価でトレンディな多くの講義よりも、この講義が今まで聞いた最高の講義だったようです。
ありがとうございます。

- この***

こんな方に
おすすめです

学習対象は
誰でしょう?

  • クリーンコードを基盤とした考え方に興味がある方

  • これまでオブジェクト指向の概念をテキストで丸暗記するだけだった方々

  • コードを本当にうまく書きたい全ての皆さん!

前提知識、
必要でしょうか?

  • Javaの基本文法が分かり、プログラミング経験のある方々

こんにちは
です。

5,392

受講生

406

受講レビュー

374

回答

4.9

講座評価

5

講座

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

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

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

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

カリキュラム

全体

55件 ∙ (14時間 1分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

115件

4.9

115件の受講レビュー

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

    受講レビュー 6

    平均評価 4.7

    5

    100% 受講後に作成

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

    • 박우빈
      知識共有者

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

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

    受講レビュー 2

    平均評価 5.0

    5

    7% 受講後に作成

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

    • 박우빈
      知識共有者

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

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

    受講レビュー 14

    平均評価 5.0

    5

    100% 受講後に作成

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

    • 박우빈
      知識共有者

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

  • dbcksrla님의 프로필 이미지
    dbcksrla

    受講レビュー 6

    平均評価 5.0

    5

    58% 受講後に作成

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

    • 박우빈
      知識共有者

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

  • Giyeon님의 프로필 이미지
    Giyeon

    受講レビュー 11

    平均評価 4.9

    5

    100% 受講後に作成

    인프런에서 여러 강의를 구입했었는데, 토비님과 김영한님 만큼 수준높은 강의였습니다. 객체지향 코드를 책으로 배울때는 이해가 잘 가지 않았지만 실습을 통해서 하나씩 리팩토링 과정을 수행하니 좀 더 이해하는데 쉬웠던거 같습니다. 아직은 어려운 부분이 있어서 계속 반복하면서 안보고 리팩토링 할 수 있을때까지 연습이 필요한 것 같지만.. 강의를 듣고 나서 정말 큰 도움이 되었습니다. 너무 마음에 들어서 '테스트 코드'강의도 미리 구매해두었구, 리팩토링 연습이 끝나면 테스트 강의도 진행할 예정입니다. 좋은 강의 제공해주셔서 감사합니다

    • 박우빈
      知識共有者

      Giyeon Pak 님~! 아이고 몸둘 바 모르겠는 극찬이시네요 ㅎㅎㅎ 상세한 수강평 너무 감사드려요! 앞으로의 여정도 응원하겠습니다 ☺️

¥6,815

wblukeの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!