대표 라인: 매개변수 하나 더, 친구야 노트

대표 라인: 매개변수 하나 더, 친구야

맷은 폼에 새로운 필드를 추가해야 했지만, 데이터베이스에 변경 사항을 저장하는 데 사용된 방법 때문에 작업이 복잡해졌습니다. saveQualif라는 이 방법은 문자열 타입의 매개변수가 36개나 있어서 작업하기 어려웠습니다. 이 방법은 동일한 수의 매개변수를 가진 데이터 액세스 객체를 생성하고, 매개변수가 null이 아니면 데이터베이스의 필드를 업데이트했습니다. 매개변수에는 pdfPassword와 같이 평문으로 저장된 민감한 정보가 포함되어 있었습니다. 이 방법은 두 번 호출되었는데, 한 번은 모든 매개변수가 채워진 상태로, 다른 한 번은 대부분의 매개변수가 null로 설정된 상태로 호출되었습니다. 맷은 이 방법을 리팩토링해서 개선하고 싶었지만, 뭔가를 망칠까 봐 걱정되어 다른 매개변수를 추가하기로 했습니다. 이전 개발자들도 이 방법을 리팩토링하는 것을 피하고 같은 방식으로 추가 매개변수를 사용했습니다. 그 결과 코드베이스는 복잡하고 유지 관리하기 어려워졌습니다. 리팩토링은 종종 나중으로 미뤄지고, 미래의 개발자들에게 떠넘겨집니다. 이러한 접근 방식은 나중에 오류 및 보안 취약성과 같은 문제로 이어질 수 있습니다.