일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- #크랙미4번
- #심플즈
- springframework
- #보안이슈
- #abex크랙미
- #크랙미 5번
- #abex
- #abex크랙미4번
- #리버싱
- GraphQL
- #크랙미 9번
- java
- #보안뉴스
- #크랙미2번
- #파밍
- #크랙미 10번
- java8
- #고클린
- 리버싱
- Easy
- #심플즈 크랙미
- #크랙미
- leetcode
- Spring
- #크랙미3번
- Today
- Total
목록개발 지식/SW ENGINEERING (2)
Halo World
| 1. 리팩토링할 대상을 선정한다. 처음부터 모든 프로그램을 리팩토링 할 수는 없다. 가장 중요한, 자주 추가 및 변경되는 프로그램을 선정한다. > 반복되는 코드 > 긴 메소드 > 큰 클래스 > 긴 매개변수 목록 > 확산을 위한 변경 : 한 클래스의 목적이 여러 부분에서 사용되고, 각각의 목적에 따라서 수정이 이루어져야 하는 경우 분리하는 것이 좋음 > 샷건(산탄총) 수술 : 확산을 위한 변경과 같아보이지만, 하나의 수정을 위해서 여러 클래스를 건드려야 할 경우가 발생된다면 차후 하나의 클래스만 수정하는 것이 가능하도록 만듬 > 기능에 대한 욕심 : 어떤 메소드가 같은 클래스의 메소드보다, 다른 클래스의 메소드를 더 많이 사용한다면 그 메소드는 많이 사용하는 클래스로 옮기는 것이 차라리 낫다. > 큰 ..
| 리팩토링이란? 나쁜 디자인의 코드를 좋은 디자인으로 바꾸는 방법 > 외부동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, 소프트웨어 시스템을 변경하는 프로세스 > 소프트웨어의 기능은 바꾸지 않음 | 리팩토링의 특징 - 소프트웨어의 디자인을 개선시킴 - 소프트웨어를 더 이해하기 쉽게 함 - 프로그램의 구조를 명확히 함으로써 버그를 잡도록 도와줌 - 소프트웨어의 개발 속도를 향상시킴 | 리팩토링을 언제 해야하는가? 리팩토링 자체를 목적으로 삼기 보다는, 다른 것에 대한 수단으로 리팩토링을 함 - 삼진 규칙 : 스트라이트 세 개면 리팩토링을 함 (어떠한 것을 처음 할 때는 그냥하고, 두 번째에도 중복되도록 그냥 하고, 세 번째로 비슷한 것을 하게 되면 그때 리팩토링을 한다) - 기능을 추가할 때 리팩..