Thumbnail
개발 · 프로그래밍 프로그래밍 언어

퇴근은 빠르게, 코드는 클린하게, 인텔리J를 활용한 리팩토링 시작하기(with 단축키) - 기초편 대시보드

(5)
3개의 수강평 ∙  57명의 수강생

33,000원

지식공유자: 겸손하게 익은 벼
총 28개 수업 (2시간 30분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[프로그래밍 언어, 개발 도구] 강의입니다.

막연하게 리팩토링이라는 용어는 들었지만, Intellj IDEA에디터를 활용해서 코드를 리팩토링하는 방법 모르는 초보 개발자를 위해서 빠르게 학습할수 있도록 구성했습니다.

✍️
이런 걸
배워요!
실습을 통해 refactor기능을 조합해서 안전하게 코드를 고치는 법을 배워요.
IntelliJ IDEA에 있는 리팩토링을 빠르게 접근하는 법을 배워요.
예제를 통해 각각 refactor 기법이 어떻게 동작하는 배워요.

이런 분들에게 추천드립니다. 

  • 자바 개발을 처음 시작한 2, 3년차 개발자
  • 리팩토링이라는 용어는 들어봤지만 어떻게 적용해야 할지 막여한 개발자
  • 리팩토링 기법은 책으로 배웠으나 이 기법들을 어떻게 연결해서 코드를 수정하는게 좋을지 모르는 개발자

수강생의 고민 & 해결 방법

  • 고쳐야 하는 코드는 많고, 복잡해서 어디부터 손을 대야 할지 모를때...
  • IDEA에디터의 간단한 refactor기법은 들어는 봤는데...어떻게 동작하지는 모를때...
  • 이 강의에 설명된 각각의 refactor기법의 동작 방식을 보고, 실습 항목을 따라해 보면  고민 해결 !!!! 

이 강의에서 배우는 것들 ✨

지금 작성 중인 Java코드를 빠르고 안전하고 쉽게 고치려면 아래의 리팩토링 기법은 꼭!!!! 알고 있어야 합니다.

  • Introduce Variable (변수로 빼고)
  • Extract Method (메소드로 빼고)
  • Change Signature (메소드를 변경하고)
  • Extract Delegate (객체로 빼고)
  • Introduce Parameter Object (파라미터를 불변객체로 만들고)
  • Move Instance Method (메소드를 이동하고)
  • Replace Inheritance With Delegate (상속 관계를 끊는 법을 배웁니다.)

이 강의에서는 위에서 언급된 각 리팩토링 기법을 모두 배우게 되며,

실습을 통해 각 리팩토링 기법들을 활용해서 코드를 안전하고 빠르게 수정하는 방법을 알려 드립니다.


학습 내용 📚

리팩토링을 통해 코드가 진화 하는 경험을 해보세요. !!!!!

아래와 같이 끝임 없는 if문을 수정해 본 경험이 있으신가요?

IntelliJ IDEA에서 지원되는 refactor를 이용하면,  몇번의 수정을 통해서... 아래와 같이 진화 할 수 있습니다.

 


예상 질문 Q&A 💬

Q. 왜 IntelliJ IDEA refactor 기능을 배워야 하나요?
A. 코드를 수정할때, 단순히 "찾아 바꾸기"해서 바꿀수 없는 경우가 더 많습니다. 그래서 각 Java 에디터 별로 이름은 다르지만 리팩토링 하는 기능을 제공하고 있습니다. refactor 기법을 습득하게 되면, 코드를 수정하는데 많은 어려움이 없어 질수 있기 때문에 꼭 배워야 된다고 생각합니다.  

Q. 비 전공자도 들을 수 있나요?
A. 네, 선수 지식을 어느정도 갖추셨다면 가능합니다. 개발에 대한 열정이 있다면 전공 유무는 중요하지 않은 것 같아요. :) 하지만, 아주 기초적인 개발경험을 가지고 있어야 이해하는데 도움이 될 수 있습니다. 어렵다고 생각되면 혼자 고민하지 마시고, 언제든 문의 주세요 :)

Q. 특정 플랫폼에 종속적인 강의 인가요? 
A. 네, 많은 메이져 회사에서 주로 사용하는 Java 에디터 프로그램인 IntelliJ IDEA에서 지원하는 기능을 소개 하고 있고, MacOS환경에서 강의를 구성하였기 때문에 특정 플랫폼에 종속적일수 있습니다. 하지만, Windows사용자들을 위해서 단축키 같은 경우 녹화된 화면에 표시해서 사용할 수 있도록 구성하였기 때문에 따라 하는데는 전혀 문제가 없을 것 같습니다.

 

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
처음 리팩토링 기법을 적용해 보는데 어려움이 있는 초,중급 개발자
레거시 코드를 안전하게 고칠 수 있는 방법에 고민이 많은 개발자
설계를 할 때 바로 Java 코드를 변경 하면서 수정하고 싶은 개발자
📚
선수 지식,
필요할까요?
Java 기초 문법
Intellj IDEA에 대한 기본 활용 방법
개발에 대한 열정

안녕하세요
겸손하게 익은 벼 입니다.
겸손하게 익은 벼의 썸네일

안녕하세요.

스스로 배우고, 경험한 것을 나누는 것을 즐기며,

프로그래밍을 하는 것을 좋아 하는 개발자 김승겸 입니다.

 

  • 현) 우아한형제들 - 백엔드 개발자

  • 전) 잡코리아 - 플랫폼 아키텍쳐

  • 전) 11번가 - 백엔드 개발자

  • 전) 위메프 - 백엔드 개발자

 

 

커리큘럼 총 28 개 ˙ 2시간 30분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 1. [One Method] 하나의 메소드 안에서 refactor 활용하기
Rename 미리보기 04:28
Introduce Variable 05:02
inline 04:48
Introduce Parameter 02:21
Extract Method 03:38
Change Signature 08:34
섹션 2. [리팩토링 실습-1] 조건문을 메소드로 분리해보기
replace condition with method 11:01
섹션 3. [Many Method or One Class] 여러 메소드 및 하나의 클래스에서 refactor 활용하기
Introduce Field or Constant 04:10
Make static 01:56
Replace constructor with factory method 03:58
Replace constructor with builder 06:18
Extract Interface or SupperClass 03:57
섹션 4. [Many Class] 하나 클래스에서 여러 클래스에 걸쳐 refactor활용하기
Extract Delegate 10:12
Introduce Parameter Object 05:39
Move Instance Method 06:45
Pull member up or Push member down 05:39
Replace Inheritance With Delegation 03:54
섹션 5. [리팩토링 실습-2] 조건문을 클래스로 분리해보기
Replace Conditional Logic with Object 04:06
Introduce Parameter Object를 통해서 클래스 생성하기 04:37
Move Instance Method를 통해서 메소드 이동하기 03:50
Change Signature를 통해 클래스 생성자 변경하기 05:31
클래스 생성자에 factory method 적용하기 05:50
메소드에 Change Signature적용하기 08:16
코드 정리하기 14:32
강의 게시일 : 2023년 08월 01일 (마지막 업데이트일 : 2023년 08월 01일)
수강평 총 3개
수강생분들이 직접 작성하신 수강평입니다.
5
3개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
KimAresen thumbnail
5
Intellij 를 쓰면서 IDE에서 지원하는 리팩토링을 듣기만 하고 어떻게 써야하지 라는 생각만 가지고 있었는데, 실제로 예제를 리팩토링 하면서 바뀌는 소스코드와 해당 기능이 어떠한 상황에서 쓰는지 적혀있어 좋았습니다. intellij IDE로 천천히 리팩토링을 진행할 수 있겠다는 자신감이 좀 생기네요. 좋은 강의 감사합니다.
2023-10-10
지식공유자 겸손하게 익은 벼
@KimAresen님, 친절한 수강평 감사드립니다. 오랫동안 프로그래밍을 해오면서, 리팩토링이라는 행위 만큼, 뭔가 답을 찾기 어려운 주제는 없었던것 같아요 ^^ 그래서 인지, 도움이 되셨다고 하니, 저도 힘이 되네요 ^^ 다음 강의도 열심히 준비해서 보답하겠습니다. 다시 한번 감사드립니다.
2023-11-10
민구 thumbnail
5
유익한 강의였습니다
2023-11-17
지식공유자 겸손하게 익은 벼
의견 감사드립니다. 앞으로도 좋은 컨텐츠로 보답드릴께요 ^^ 감사합니다.
2023-11-22
프로이직러 앵과장 thumbnail
5
안녕하세요 벼 선생님 우선 이렇게 무지했던 여러개발방법에대해서 알려주셔서 감사합니다. 인텔리J를 이용해서 이렇게 여러가지 리펙토링 기법을 사용하는것에 대해서까지는 잘몰랐던것 같습니다. 역시 Springboot 던 intellij Tool이던 메뉴얼을 잘 읽어보는것이 필요하네요 그리고 리펙토링을 하는 방법이나 기법을 통해서 단축키쓰는것도 좋았지만 무엇보다 막연히 TDD가 무엇인지 이론상으로 이해만머리로햇지 코드레벨을 보는것도 좋은것 같네요 리펙토링 방법이나 단축키도 배웠는데 실제로 테스트코드를 구현하는 방법도 있으면 더좋을것같습니다. 정말 개발에 필요한 현실적인 짬에서 나오는 느낌이 느껴집니다. 입개발보다 찐개발자 입니다 앞으로도 벼선생님 좋은 하루되시고 다음번 컨텐츠도 기대할께여 :)
2023-08-07
지식공유자 겸손하게 익은 벼
@앵과장님, 첫 피드백 감사합니다. 오프라인에서는 주의 개발자 분들에게 편안하게 공유드렸던 내용이였는 데, 처음 온라인 강좌를 만들다 보니, 생각보다 ^^; 동영상을 촬영하면서 (우당탕...) 우왕좌왕 @.@한 부분이 있었던 것 같은데요. 그럼에도 불구하고, 긍정적인 피드백 주셔서 대단히 감사합니다. 현재, 다양한 로드맵을 구상 하면서 초심자 분들에게 어떻게 하면 좋은 가이드라인이 될지 많은 고민을 하고 있습니다. 의견주신 내용도 적극적으로 검토해서 다음 강좌에서는 좀더 좋은 모습으로 강의가 진행될수 있도록 더욱 더 노력하겠습니다. 감사합니다. (꾸벅!!)
2023-08-07