강의

멘토링

로드맵

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,333

受講生

388

受講レビュー

367

回答

4.9

講座評価

5

講座

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

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

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

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

カリキュラム

全体

55件 ∙ (14時間 1分)

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

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

受講レビュー

全体

112件

4.9

112件の受講レビュー

  • hyunzxn님의 프로필 이미지
    hyunzxn

    受講レビュー 6

    平均評価 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 ☺️

  • longbright0804님의 프로필 이미지
    longbright0804

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    Khi xem bài giảng trước, tôi đã có cảm giác rằng anh viết code rất gọn gàng và tốt, nhưng không ngờ anh lại chuẩn bị kỹ lưỡng như thế này! Không cần phải nói về việc anh giải thích một cách đơn giản và rõ ràng. Đây là một bài giảng giải quyết thỏa đáng những phần mà bất kỳ ai viết code đều từng suy nghĩ ít nhất một lần. Khi refactor các side project và project công ty, tôi đã tập trung vào việc viết code "trông gọn gàng", nhưng tất cả đều chỉ là ảo tưởng thôi. Tôi đã liên tục refactor mà hoàn toàn không có căn cứ gì cả 🫠 Nhưng giờ đã học được rồi nên chỉ còn việc áp dụng tốt những gì đã học ở đây thôi! Cảm ơn anh rất nhiều vì bài giảng hay 👍

    ¥6,532

    wblukeの他の講座

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

    似ている講座

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