강의

멘토링

로드맵

BEST
Programming

/

etc. (Programming)

コーディングで学習するリファクタリング

リファクタリングは、ソフトウェアエンジニアが備えなければならない基本的な素養の一つです。このレッスンでは、IntelyJとJavaを使用して、より実用的な方法でさまざまなコードの匂いとリファクタリング技術を説明し、直接練習することができます。

  • whiteship
실리콘밸리
시니어의 비법
Refactoring
Java
IntelliJ IDEA

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

こんなことが学べます

  • 合計24のコード臭と7つのリファクタリングカタログ

  • Javaのサンプルコードで表示して直接練習できる43のリファクタリング

  • IntelliJが提供するリファクタリング関連機能

単純な実装を超えて
より良いコードを作りたいすべての開発者に💌

リファクタリング

コードの機能は維持しながら、クラス、関数、フィールドなど、複数のプログラミング要素を変更することでより良い
コードで改善するプロセスまたはそのような技術を指します。
同じように動作するコードも、より理解しやすく柔軟にすることができます。

こんなコード

これにより、もう少し読みやすいコードを作成できます。

私たちはリファクタリング
学ぶべき理由

最初は変わらないようだった家庭と最善だと思っていたコードも時間が経ち、環境が変わり、技術が発展してみると「コードを一体なぜこんなに編んだの?」という話をしましょう。
リファクタリングでカバーされている合計24のコードの匂いで、そのようなコードを見つける方法と43を超えるリファクタリング技術を使用してコードを改善する方法を学ぶことができます。
大丈夫ですが、このレッスンの後にあなたのコードをもう一度見ているなら、きっとより良いコードで修正することができます。


コード生産
増やしたい場合

IntelliJ
インテリジェイのような統合開発環境(IDE)は、単純なエディタとは異なり、高度な演算と分析機能です。
コードのリファクタリングに役立ついくつかの機能を提供しています。
このレッスンで紹介する機能を活用することで、コードの生産性を向上させることができます。

リファクタリング
必要な人は?

基礎文法は学びました。
今何をすべきですか?

今より
より良い開発者として
成長したいですか?

より良いコードで
改善したいのですが

臭いのコード
どのように改善するか
知りたいなら?

インテリジェイ
もっとよく書きたいのですが

リファクタリング機能を100%
活用したいですか?

リファクタリング?
実際に見たいのですが

グローリーディングリファクタリング
見ないで
学びたいなら?

📢お知らせします

  • 円滑な講義の受講にはJavaプログラミング言語の理解が必要です。
  • JavaとIntelyを使用してリファクタリングを紹介していますが、特定の言語やIDEに依存するものではありません

コーディングで学ぶ
リファクタリング

このレッスンでは、合計24のコードの匂いと各匂いを解決するためのいくつかのリファクタリング技術を取り上げています。
各リファクタリング技術はIntelliJが提供する機能を積極的に活用し、あなたが直接練習するためのサンプルコードを提供しています。

  1. 奇妙な名前 (Mysterious Name)
  2. 冗長コード (Duplicated Code)
  3. 長い関数 (Long Function)
  4. 長いパラメータリスト(Long Parameer List)
  5. グローバルデータ(Global Data)
  6. 可変データ (Mutable Data)
  7. 混乱の変更 (Divergent Change)
  8. 散弾銃手術 (Shotgun Surgery)
  9. 機能偏愛(Feature Envy)
  10. データの束 (Data Clumps)
  11. 基本型こだわり(Primitive Obsession)
  12. 繰り返される swtich ステートメント (Repleated Swtiches)
  13. 繰り返し文 (Loops)
  14. 姓のない要素 (Lazy Element)
  15. 推測性一般化 (Speculative Generality)
  16. 一時フィールド(Temporary Field)
  17. メッセージチェーン(Message Chains)
  18. モデレーター(ミドルマン)
  19. インサイダー取引 (Insider Trading)
  20. 巨大なクラス (Large Class)
  21. 異なるインターフェイスの代替クラス (Alternative Classes with Different Interfaces)
  22. データクラス(Data Class)
  23. 継承の放棄 (Refused Beques)
  24. コメント(コメント)

すべての開発者の必読書
リファクタリング

リファクタリング 1999年に1版を出版し、2018年に2版が出ており、GoFの著書《デザインパターン》とともに
すべての開発者に推奨される必読書の1つです。
過去と今、そして今後も業務でいつでも役に立つ技術なので、ぜひ学習してください。

Refactoring(リファクタリング2版)
Amazonに基づく評価 4.7/5
オブジェクト指向ソフトウェアデザイン分野8位(2022.02基準)
すべての開発者に推奨されるおすすめの書籍の1つ

Martin Folwer
オブジェクト指向分析設計、UML、エンタープライズパターン、
極端なプログラミングに関するいくつかの執筆と発表で
有名なソフトウェアエンジニア

📢参考にしてください

    • この講義はマーティン・ファウラーの著書『リファクタリング』を参考にして作成しました。


この講義がリファクタリング本と違う点

  • リファクタリング本は、各コードの匂いを簡単に扱った後、カタログごとにリファクタリング技術を詳しく説明します。
    しかし、このレッスンでは、問題の認識と解決策が続くように、コードの匂いと各匂いを解決するのに役立つリファクタリング技術を詳しく説明した後、リファクタリングカタログを調べて復習する方法を使用しています。
  • また、リファクタリングの第2版では、サンプルコードがJavaScriptで書かれており、完全なサンプルコードを提供していませんが、このレッスンではJavaで書かれたサンプルコードを提供して、あなたが自分で練習できるように準備しました。

  • 最後に、本ではIDEを使用しないという仮定のもとでリファクタリング方法を説明しますが、現実的にJava開発者の90%に近い開発者がIDEを使用しているため、この講義ではインテリJの機能を積極的に活用し、より実用的なリファクタリングを紹介しています。

予想される質問 Q&A

Q. 開発者ならリファクタリングを必ず学ばなければなりませんか?

A. 「どうすれば動作すればいいのか」ではなく、「どうすればより良いコードで動作させることができるのか?」を悩む開発者であれば、リファクタリングを必ず学習しなければなりません。

Q. リファクタリングはいつすべきですか? 実務でリファクタリングをする時間がありません。

A. リファクタリングは時間を決めておいても良いし、新しいコードを作成する時や既存のコードを修正して機能を改善したり変更するときのように進めることもできます。パラメータ化」を使用すると、かなりの数の重複コードを削除し、もう少し読みやすいコードを作成して送信し、コードレビューを待っています。

Q. Java基礎だけ勉強した状態なのにこの講義を受講してもいいですか?

A. はい、Javaの基礎を学んだら、本講義を受講することができます。

Q. 講義の難易度ややり方が私に合うのか気になります。

A. この講義でプレビューで「理解しにくい名前」、「関数宣言を変更する」、「変数名を変更する」の授業を公開しておきました。

マイクロソフトのシニア開発者に学ぶリファクタリング!

「開発者として仕事をしてみると、一度はコードを「たわごと」に例える言葉を聞いたことがあるでしょう。これらのコードは業務処理を遅らせ、要求の変更に対処するのが難しくなります。
このようなコードをきれいで安全に整理する方法がリファクタリングであり、これにより、より読みやすく、変化に柔軟に対処可能な構造でコード変更が可能です

こんな方に
おすすめです

学習対象は
誰でしょう?

  • リファクタリングに初めて接する開発者または学生

  • より良いコードで改善する方法を学びたい開発者や学生

  • IntelliJをより活用して生産性を高めたい開発者や学生

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

  • Javaの基礎

こんにちは
です。

92,376

受講生

4,220

受講レビュー

2,010

回答

4.8

講座評価

20

講座

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

カリキュラム

全体

78件 ∙ (9時間 39分)

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

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

受講レビュー

全体

139件

4.9

139件の受講レビュー

  • eilhwan님의 프로필 이미지
    eilhwan

    受講レビュー 3

    平均評価 5.0

    5

    17% 受講後に作成

    デザインパターンに続いて2番目のレクチャー。 内容は本当に良いです...特に簡単に教えてください。 まず、ターゲットに関する洞察を教えてください。 自分で勉強しなければならないという特徴があります。 1から10まですべてを教えてくれる講義をしたい場合 お勧めしません。 ただし、独学で全く感が来ない不慣れを取り除き、 興味がありたい方はおすすめです。 + たまに出てくる雑技(?)やノウハウがどこでも聞きにくい良いハチミツチップです。

    • tjsrldhdn3264님의 프로필 이미지
      tjsrldhdn3264

      受講レビュー 2

      平均評価 3.5

      3

      67% 受講後に作成

      正しく勉強するには、本を見ることをお勧めします。 リファクタリングについて早い期間内に何かを盗んでみたい方は、この講義をお勧めします。

      • truestar님의 프로필 이미지
        truestar

        受講レビュー 26

        平均評価 4.9

        5

        100% 受講後に作成

        リファクタリング本にない、実務的観点の講師様のいろいろな意見を聞くことができてよかったです。 正直、本だけでは足りないと思います。リファクタリングする実務的な状況が必要だからです。 講義を聞く途中でも、様々な説明を通じて状況をシミュレートすることができ、実務的観点の疑問がある程度解消されるのでよかったです。 そして、最後に推薦された本が難易度が高く、過去に買って本棚を打ち明けた本なのに、講義で言及していただき、本を処分しないようにしたと安堵するようになったハプニングがありました。 良い講義ありがとうございます。

        • art90004765님의 프로필 이미지
          art90004765

          受講レビュー 48

          平均評価 5.0

          5

          100% 受講後に作成

          収集完了!

          • ahinsyar님의 프로필 이미지
            ahinsyar

            受講レビュー 18

            平均評価 5.0

            5

            100% 受講後に作成

            私が作ったコードも読みづらいことが多く、自分なりにリファクタリングを試みましたが、あまり満足できませんでした。今回の講義で多くの技術を学び、ぜひ本を読んでみたいと思いました。いつもありがとうございます。

            期間限定セール

            ¥6,837

            24%

            ¥9,004

            whiteshipの他の講座

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

            似ている講座

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