클래스의 경우 현재 스캐너에서 작업중인 통역사에서 일하고 있습니다. 여러 번 호출하게 될 클래스이므로 속도 최적화가 필요합니다. 스캐너에서 작업자를 분류하려면 현재 토큰을 6 명 정도의 작업자와 비교해야합니다. 어떤 방법이 속도에 가장 적합하지만 가독성을 위해도 좋습니다.많은 수락 사례를 가장 잘 처리하는 방법
- 많은 모든 사업자의 문자 배열을 통해 if 문
- 루프의 경우와
- 스위치 문
비교 이들은 내가 생각할 수있는 유일한 경우입니다. 어떤 것이 가장 좋으며, 더 나은 접근 방법이 있다면 공유하십시오. # 2는 최소한의 코드 행을 차지하기 때문에 구현했습니다.
문제가 있음을 입증 할 때까지 "속도"에 신경 쓰지 마십시오. 당신은 조숙 한 최적화 토끼 구멍에 내려 가고 있습니다. 내가 당신이라면 정규 표현식이나 문자 클래스를 사용할 것입니다. –
switch 문은 단일 문자 렉서로 작업 할 때 가장 읽기 쉽고 오버 헤드가 상대적으로 낮은 IIRC가 발생합니다. 그냥 붙어. – Qix
6 명의 운전자 만 속도 차이를 보게 될 것입니다. – 4castle