우리는 임의의 구두점을 포함하는 임의의 문자열을 사용하여 많은 어휘 처리를합니다. 나는 마술 문자/문자열 또는 기호 상수를 사용할 지에 관해서 나눠진다.구두점 처리시 마술 문자열이나 상수를 사용합니까?
예제는 대부분 Java 임에도 불구하고 언어 독립적 인 것으로 읽어야합니다.
문장이 의미 적 역할을하고 상수로 확인되어야한다 명확한 사례가 있습니다
File.separator
하지 "/"
또는 "\\"
; // OS에 의존적 인 것처럼 생각할 필요가 없습니다.
및 나는 XML_PREFIX_SEPARATOR = ":"
을 작성합니다.
그러나 예를 들어 ""
의 모든 예를 빈 문자열``로 바꿔야한다고 가정 해 봅시다. 내가 쓸 수 있습니다 :
s = s.replaceAll("\"\"", "");
또는
s = s.replaceAll(S_QUOT+S_QUOT, S_EMPTY);
마법 문자열/문자 찬성
(나는 S_FOO (문자열)와 C_FOO (문자)와 같은 모든 일반적인 문장 부호 정의)
- 더 짧습니다.
- )
- 명명 된 상수는
'\''
대C_APOS
)
상수
- 그것은 오타를 만들기 위해 더 어려워 찬성 (익숙하지 않을 수 있습니다 (예를 들어,
S_APOS+S_APOS + C_QUOT
와"''" + '"'
)를 대조 - 그것은 문제 정규식이되어야한다 탈출 제거합니다
"\\s+"
또는"\s+"
또는"\\\\s+"
? - 그것은 구두점에 대한 코드를 검색하기 쉽게
(이에 제한이 - 나는 정규 표현식에에게 정규식 구문은 모든 프로그래밍의 대부분의인지 기능 장애 부분 중 하나입니다 경우에도이 방법을 쓸 것이라고 나는 생각한다.
생각하지 않는 다양한 에지의 경우 더 나은 처리를 얻을 수 있습니다 나는 가끔씩이 레벨의 뻔뻔 스러움을 옹호하는데 혼자가 아니라는 것을 알고있다. –
나는 긴 이름을 사물에 사용하기 위해 함께 일하는 팀으로 알려진 경향이있다 ... –