모든 프로그래머가 정규 표현식을 배우는 것이 필수입니까? [닫은] 인터뷰에서 정규 표현식에 대한

나는 프로그래밍에 익숙하지 않으며, 인터뷰에서 정규 표현식에 대한 질문을 받았습니다. 말할 수 없다고 말할 필요도 없습니다. 정규식을 배워야하는지 궁금합니다. 모든 분야의 모든 프로그래머에게 필수품입니까? 아니면 특정 분야의 프로그래밍에 필수입니까?

관련 질문 :



답변

정규 표현식은 매우 많은 언어에서 사용할 수있는 매우 편리한 도구로 대부분의 개발자가 조만간 배울 수 있습니다.

면접관에게는 면담 중에 경험을 조사 할 수있는 좋은 방법입니다. 이해하지 못하는 수년간의 경험을 주장하는 사람을 인터뷰하는 경우 더 자세히 조사해야합니다.


답변

정규식은 도구입니다. 매우 유용한 도구이므로 많은 사람들이이 도구를 사용하는 방법을 배우기로 선택합니다. 그러나이 특정 도구를 사용하는 방법을 배우기위한 “요구 사항”은 없습니다. 다른 것을 배우기위한 “요구 사항”이 있습니다.


답변

예를 들어 게임 프로그래머 나 LHC의 프로그래머가 정규 표현을 배운 적이 없다면 놀라지 않을 것입니다. 심지어 게임 프로그래머에게 SQL을 모르는 것에 대한 패스를 줄 수도 있습니다.

그러나 어떤 종류의 정보 시스템에서 일하고 있고 정규 표현식을 모르는 경우 스스로 장애를 겪고 있습니다.

반대로, 표준 IS 프로그래머가 게임 프로그래머가 할 수있는 행렬 수학을 알 것으로는 기대하지 않습니다. 프로그래머에는 뚜렷한 분야가 있지만 우리는 반드시 “정보 시스템”에 속해야합니다.


답변

정규 표현식은 텍스트에서 패턴을 일치시키는 방법을 표현하는 매우 간결한 방법입니다.

텍스트에서 데이터를 구문 분석 및 추출하거나 일부 텍스트가 특정 패턴과 일치하는지 확인해야하는 요구 사항은 프로그래밍에서 매우 자주 발생하므로 이에 대해 배우고 이해하는 것이 중요합니다.

그들은 당신의 도구 상자에있는 좋은 도구이며 숙련 된 프로그래머가 사용법을 알기를 기대합니다.

정규식에 대해 배울 수있는 가장 좋은 자료 중 하나는 Jeffery Friedl의 책인 Mastering Regular Expressions 입니다. 다소 고급이므로 경험이 많을 때 실제로 읽을 수도 있습니다.

regular-expressions.info 에서 자습서 를 시작할 수 있습니다 .


답변

여기에있는 대부분의 답변과 달리 정규 표현식에 대한 지식이 생산적인 프로그래머가되는 데 필요한 기술이라고 생각하지 않습니다. 후보자들과의 위치를 ​​인터뷰 할 때 정규 능력을 스스로 발휘해야한다는 생각이 든다면 더 깊이 파고들 것입니다. 왜? 그들은 올바른 망치를 좋아하기 때문에 종종 장소에서 사용되지만 종종 필요한 것은 스크류 드라이버였습니다. HTML과 정규 표현식을 검색하면 정규 표현식이 적합하지 않은 몇 가지 질문과 몇 가지 이유가 있습니다.

인터뷰 대상자를 고용하기 위해 옹호하기 전에 적절한 OOD를 수행 할 수있는 능력이 필요합니다. 그리고 실제로 당신이 정규식을 알고 있지만 사용 된 프레임 워크에 대한 분석, 디자인 및 지식과 같은 영역이 부족한보다 생산적인 프로그래머가 될 수 있다고 생각하는 사람은 없다고 생각합니다.

물론 그들은 편리하지만 전문 개발자로서 20 년 이상 동안 코드에서 20 번 미만을 사용했다고 생각합니다 (그리고 심지어 몇 개의 펄 스크립트를 코딩했습니다). 그래도 교체하십시오.


답변

작업중인 도메인에 관계없이 정규식은 대부분의 프로그래밍 언어가 일반 텍스트로 작성되므로 알아두면 유용한 도구입니다. 따라서 정규식은 소스 코드를 조작하고 리팩터링하는 좋은 방법이며 많은 텍스트 편집기에 내장되어 있습니다. 정규 표현식이 훨씬 빠르고 정확하게 변경을 수행 할 때 수많은 프로그래머가 소스 파일을 반복적으로 변경하는 것을 보았습니다.

이것이 Pragmatic Programmer의 3 장에서 “프로그래밍의 기본 원재료”인 평문에 대해 이야기하고 있습니다.


답변

Jeff Atwood는 정규 표현식에 대한 훌륭한 블로그를 작성했습니다 . 놀라운 인용문이 있습니다.

Some people, when confronted with a problem, think "I know, I'll use regular
expressions." Now they have two problems. [Jamie Zawinski]

체크 아웃하려는 스택 오버플 로 좋은 질문에 대한 훌륭한 답변 도 있습니다.

당신은 그것에 대해 확실히 알아야합니다. 정규식은 배우기 쉽지만 마스터하기는 어렵습니다. 사용을 시작하기 위해 모든 것을 배울 필요는 없습니다. 그것에 대해 현명하게 행동하십시오.

 

tl; dr

기술 사용시기를 올바르게 결정할 수 있도록 기술에 대해 알아야합니다.