오늘은 지난주 만들었던 프로그램을 수정하면서 가독성 향상을 중심으로 수정 작업을 진행함. 기존 방식 그대로 사용하더라도 프로그램이 돌아가는데에는 문제가 없지만, 예기치 못 한 오류나 외부 시스템 변경 등으로 인한 긴급 수정 요청이 들어 왔을 때를 대비해 유지보수가 쉬운 구조로 리팩토링을 진행한 것
정렬 전
string sql = "UPDATE TEST_TABLE SET TEST_FLAG = 'C', USER_NAME = '" + ListInfo.USER_NAME + "' , USER_CODE = '" + ListInfo.USER_CODE + "', START_DATE = '" + ListInfo.START_DATE + "' , END_DATE = '" + ListInfo.END_DATE + "', INFO_NAME = '" + ListInfo.INFO_NAME + "' WHERE TEST_ID = '" + ListInfo.TEST_ID + "'";
처음에는 위처럼 작성 했다가, 쿼리문 수정하고 디버깅하는 과정에서 몇 번 오류가 남. C#은 처음이다보니 어떻게 정리해야 할지 까마득해서 chatGPT의 도움을 받았고, 실수 부담을 줄이기 위해 줄바꿈 + JS에서 자주 쓰는 백틱(``)과 ${} 구문처럼 `TEST_COL : ${testCol}` 이런 형태로 표현하고 싶어서 물어봤더니 아래와 같은 방식으로 정리해줌
정렬 후
string sql =
"UPDATE TEST_TABLE SET " +
$"TEST_FLAG = 'C', " +
$"SEND_FLAG = 'Y', " +
$"USER_NAME = '{ListInfo.USER_NAME}', " +
$"USER_CODE = '{ListInfo.USER_CODE}', " +
$"START_DATE = '{ListInfo.START_DATE}', " +
$"END_DATE = '{ListInfo.END_DATE}', " +
$"INFO_NAME = '{ListInfo.INFO_NAME}', " +
$"MODIFIED_AT = SYSDATE " +
$"WHERE TEST_ID = '{ListInfo.TEST_ID}'";
문자열을 이을 때
"문자열 = '" + 변수명 + "'" => $"문자열 = '{변수명}'"
+ 연산자로 이어주던 방식에서 변경을 했을 때 간결하고 좀 더 덜 헷깔리는듯? 오예
'개발일지 > C#' 카테고리의 다른 글
[ VS2022 / C# / Git ] 프로젝트 정리 1 - 깃 설치 후 Visual Studio 2022 깃 연결 (3) | 2025.06.06 |
---|---|
[C#] Random.Next()로 1/5 확률 선택하기 – 퍼센트(%) 조건 제어 (0) | 2025.05.28 |
[C# × WinAPI] 반환값이 아닌 출력 버퍼를 사용하는 이유? (0) | 2025.05.26 |
[C#] .ini 파일 읽기 - GetPrivateProfileString 사용법 (0) | 2025.05.25 |
[C#] WebDriverManager - 크롤링 프로그램 제작시 chromedriver 자동 설치 (0) | 2025.05.02 |