코드의 악몽: 정적 상태 노트

코드의 악몽: 정적 상태

C++ 코드 검토 결과, getter와 setter와 관련된 심각한 패턴이 발견되었습니다. 간단한 getter 함수로 예상되었던 getField 메서드가 예상치 못하게 setGetField 함수를 호출했습니다. 이 setGetField 함수는 부울 플래그를 사용하여 값을 설정할지, 가져올지를 결정했습니다. 더욱 심각한 것은, 값이 setGetField 내의 정적 변수에 저장되었다는 것입니다. 이 정적 변수는 값 공유를 의미하며, 사실상 싱글톤을 생성했습니다. 검토자는 처음에는 믿을 수 없다는 반응을 보이며 장난이라고 의심했습니다. 그러나 이러한 패턴을 반복적으로 마주하게 되면서 개발자의 역량과 채용 관행에 대한 의구심과 불만을 품게 되었습니다. 이러한 결함 있는 패턴의 반복적인 사용은 코드베이스의 품질과 개발자의 기본적인 프로그래밍 원리에 대한 이해 부족에 대한 심각한 우려를 불러일으켰습니다. 이 문제는 부적절한 캡슐화와 클래스 메서드 내의 정적 변수 사용으로 인한 의도치 않은 결과에 집중되어 있습니다. 코드의 설계는 모든 인스턴스 간에 공유 상태를 초래하여 핵심 객체 지향 프로그래밍 (OOP) 원칙을 위반했습니다.