본문 바로가기

클린코드일지2

2022.04.22 CleanCode 일지 #3. 조건문의 코드비교 기존 함수에 새로운 기능을 추가할 일이 생겼다. 대략 아래처럼 쓰여진 함수였다. if("A".equals(data.get("type"))){ ... }else if("C".equals(data.get("type"))){ ... } A, C 란 과연 무엇을 뜻하는걸까? 저 A 와 C 는 정말 저 한 단어로도 유추가 되지 않았다. 진짜진짜로 이거 처음 만든 짠 사람만 안다. (어쩌면 그사람도 까먹었을지도) 나는 "A"와 "C"의 의미를 알기 위해 굳이 내가 고칠 부분이 아니지만 A와 C코드 안쪽을 다 읽어보고 분석했다. 그래도 확실하지 않아서 이 함수를 쓰는 모든 파일들을 검색해 의미를 알 수 있었다. 의미를 알아냈지만 왜 A와 C로 표현한건지 조차도 이해가 가지 않았다. 내가 익숙한 업무를 하다가, 익숙하.. 2022. 4. 22.
2021.04.16 CleanCode 일지 #2. 조건문을 함수로 빼기 클린코드 일지를 적는다고 했는데, 그러고 난 다음에 4개월이나 지났다. 시간이 너무 빨리가버렸다. 현재 기존에 있던 사이트가 아닌 다른 곳에서 일하고 있어서 새로운 업무를 익히는 중이다. 이 업무 중에는 특정 컬럼의 값이 무엇이냐에 따라서 의미가 달라지는 부분이 있다. 조건문 안에 들어가는 부분을 이름붙여 함수로 만들면 그 부분에 대해 조금 더 캐치하기 쉬울 것 같다는 생각이 들었다. 실제 평가와 그 평가를 치지 못했을 때 치뤄지는 추가적인 평가가 있다. 1이면 실제 평가, 2이면 추가평가를 의미한다. DB 컬럼에 코멘트가 있으면 조금 더 알기 수월하겠지만, 어쨌든 이부분을 함수로 만들면 어떨까 싶었다. private boolean isExtraExam(){ return testCd.equals("2").. 2022. 4. 16.