CodeSOD: 하이 스트렁 노트

CodeSOD: 하이 스트렁

"많은 프로그래밍 언어는 문자열이 null인지 또는 비어 있는지 확인하는 편리한 함수를 제공합니다. C#에도 이러한 함수가 있지만 개발자는 여전히 잘못 구현할 수 있습니다. Jason의 StringValid 함수는 작동하지만 불필요한 조건문을 사용하기 때문에 비효율적입니다. 더 나은 접근 방식은 부울 표현식을 직접 반환하거나 내장 기능을 사용하는 것입니다. Derek의 접근 방식은 null인지 확인하는 역방향이고 덜 직관적인 방법인 "".Equals(Port)라는 한 줄 코드를 사용합니다. 이 패턴은 코드베이스 전체에 흩어져 발견되었으며 코드 스니펫의 사용을 시사합니다. 역방향 "".Equals 구문은 Python과 같은 언어의 영향을 받았을 수 있습니다. Malfist의 Java 예제는 checkNull이라는 오해의 소지가 있는 이름의 함수를 포함합니다. 이 함수는 실제로 입력이 null이면 기본 문자열을 반환하는 병합 함수입니다. 중요한 결함은 null이 아닌 입력 문자열은 잘라내지만 기본 문자열은 잘라내지 않는다는 것입니다. 또한 기본 문자열 자체가 null인지 확인하지 않아 추가적인 null 참조 예외가 발생할 수 있습니다. 저자는 문자열 처리의 복잡성에 대한 좌절감을 표현하며 이를 폐지할 것을 제안합니다."