Development/PHP

[PHP] 내가 작성한 코드 리팩토링 하기

곽진돔 2023. 3. 22. 14:21

아래는 작성한 샘플 코드이다.

if ($keywordMatch == True && ($old_project == "A" || $old_project == "B") && ($new_project == "C" || $new_project == "D" || $new_project == "E" || $new_project == "F" || $new_project == "G" || $new_project == "H" || $new_project == "I")) {
	$keyword_batch = "update table_{$new_project} set check = 1
	WHERE project = {$old_project} and status = 01";
	mysql_query($keyword_batch);
}

 

if ($keywordMatch && in_array($old_project, ["A", "B"]) && in_array($new_project, ["C","D","E","F","G","H","I"])) {
    	$keyword_batch = "UPDATE table_{$new_project} SET check = 1 
        WHERE pn_idx = {$old_project} AND status=01";
    mysql_query($keyword_batch);
}

부울값일 경우, ==(equal) 대신 if 로 체크하기

이미 부울값이므로 ==(equal) 대신 if 조건으로 체크한다.

[기존]=> if ($keywordMatch == True)

[변경]=> if ($keywordMatch)

여러 조건 대신 배열 사용하기

여러 조건을 사용하는 대신, 배열로 확인한다. (is_array 사용)

[기존]=> $new_project == "C" || $new_project == "D" || $new_project == "E" || $new_project == "F" || $new_project == "G" || $new_project == "H" || $new_project == "I"))

[변경]=> in_array($new_project, ["C","D","E","F","G","H","I"]))

SQL 쿼리 대소문자 사용하기

[기존]=> update table_{$new_project} set check = 1 WHERE project = {$old_project} and status = 01

[변경]=> UPDATE table_{$new_project} SET check = 1 WHERE pn_idx = {$old_project} AND status=01