-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6957049
commit d26d7f2
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
--- | ||
layout: post | ||
title: "[리팩토링 cheat sheet] 9.2 필드 이름 바꾸기(Rename Field)" | ||
description: "리팩토링 책을 읽고, 파이썬으로 cheat sheet를 작성한다" | ||
date: 2020-05-31 | ||
tags: [리팩토링, python] | ||
comments: true | ||
share: true | ||
|
||
--- | ||
|
||
|
||
|
||
```python | ||
# Before | ||
|
||
class Organization: | ||
@property | ||
def name(){...} | ||
``` | ||
|
||
|
||
|
||
```python | ||
# After | ||
|
||
class Organization: | ||
@property | ||
def title(){...} | ||
``` | ||
|
||
---- | ||
|
||
* 위 Before 는 변수에 값을 여러 번 대입할 수 밖에 없는 경우이다. 이때 변수의 목적은 긴 코드를 저장했다가 나중에 쉽게 참조하려는 목적으로 흔히 사용된다. 이런 변수는 값을 단 한 번만 대입해야 한다. 역할이 둘 이상인 변수가 있다면 쪼개야 한다 | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
```python | ||
# Before | ||
|
||
def discount(input_value, quantity): | ||
if input_value > 50: | ||
input_value = input_value - 2 | ||
if quantity > 100: | ||
input_value = input_value - 1 | ||
return input_value | ||
``` | ||
|
||
|
||
|
||
```python | ||
# After | ||
|
||
def discount(original_input_value, quantity): | ||
result = original_input_value | ||
if input_value > 50: | ||
result -= 2 | ||
if quantity > 100: | ||
result -= 1 | ||
return result | ||
|
||
``` | ||
|
||
---- | ||
|
||
첫번째 if 문에서, 입력 값에 기초하여 결과값을 누적해 계산한다는 사실을 더 명확히 드러낸다. |