가설 적으로, 내 경험이 .NET에있을 때 새로운 PHP 개발자 입장에서 누군가와 인터뷰를한다면, 그들이 제공 한 코드 샘플이 효율적이고 좋은 품질인지 어떻게 알 수 있습니까?
다시 말해, 언어에 익숙하지 않은 경우 프로그래머의 코드를 평가하는 가장 좋은 방법은 무엇입니까?
가설 적으로, 내 경험이 .NET에있을 때 새로운 PHP 개발자 입장에서 누군가와 인터뷰를한다면, 그들이 제공 한 코드 샘플이 효율적이고 좋은 품질인지 어떻게 알 수 있습니까?
다시 말해, 언어에 익숙하지 않은 경우 프로그래머의 코드를 평가하는 가장 좋은 방법은 무엇입니까?
답변:
그들이 제공 한 코드 샘플이 효율적이고 좋은 품질인지 어떻게 알 수 있습니까?
평가할 수없는 것은 언어 숙어와 라이브러리 사용법의 올바른 사용입니다. 따라서 이것들은 당신이 보려고 시도하는 것이 아닙니다.
당신이 평가할 수있는 것은 :
위의 내용은 (완전하지는 않지만) 코드가 냄새가 나는지 여부를 나타내며 숙련 된 프로그래머가 좋은지 나쁜지를 식별 할 수 있어야합니다.
간단히 말해서-언어에 관계없이 좋은 코드를 나타내야 할 것들을 찾으십시오.
인터뷰의 일부로 흐름도를 작성하거나 안내해줍니다. 당신은 물어볼 완벽한 변명의 여지가 있으며 그들이 설명하는 방법을 그들이 어떻게 생각하는지 공정하게 알려줍니다.
그들이 당신이 선호하는 언어로 넘어갈 예정이라면 당신은 많은 멘토링이 온다는 것을 알고 있으므로 어쨌든 좋은 논리 / 추론 기술을 찾고 있어야합니다.
그들이 선호하는 언어로 일을 계속하려면 누군가가 다른 사람이 어쨌든 속도를 낼 때까지 더 자세한 언어 특정 세부 사항에 대해 다소 자기 관리 할 것이라는 점을 받아 들여야합니다. 디자인 측면도 있습니다.
뼈 머리 / 분명히 잘못된 코드는 제쳐두고 효율적으로 문제의 언어의 컴파일러 / 인터프리터에 크게 의존하며 코드 샘플에서 실제로 눈을 able 수 없습니다. 코드 샘플은 doilies의 고급 도자기처럼 아름답게 작성되고 우아 할 수 있지만 컴파일 / 해석이 잘못되면 느리게 실행될 수 있습니다.
익숙하지 않은 언어 기능 / 구문 설탕 / 협약의 관용적 사용을 평가할 수 없습니다.
단정함, 제어 흐름, 변수 이름 지정, 작업 순서 등과 같은 보편적 인 고려 사항을 바탕으로 일반적으로 잘 작성되었는지 알 수 있어야합니다.
그러나 더 실질적으로, 어떤 언어가 프로세스에 적용되는지 알면 해당 언어에 대한 하나 이상의 스타일 가이드를 찾아서 서점에 가서 해당 언어에 대한 몇 권의 책을 넘겨 볼 수 있습니다. 선택한 언어에 익숙한 것과 유사한 아날로그를 찾는 코드 예제를 살펴보고 해당 언어를 사용하는 하나 이상의 오픈 소스 프로젝트를 확인하십시오.
시간이 있고 비용 장벽이없는 경우 해당 언어의 개발 환경을 설정하고 Hello World 앱을 크랭크하거나 코드 카타를 수행하거나 간단한 작은 앱을 작성하기까지 할 수도 있습니다 그 안에. 기본적인 참조 프레임을 신속하게 개발할 수 있으며, 문제의 코드를 검토하는 특정 목적을 달성 할 수있을뿐만 아니라 언어에 의해 강요 당할 수 있습니다.
언어에 관계없이 :
이 코드를 모두 가지고 있지 않은 코드는 자동으로 좋지 않다고 말하지는 않지만이 코드를 연습에 반영하고 고려한 사람의 지표라고 생각합니다.
그러나 이러한 모든 지표에 대해 코드의 이론적 근거가 무엇인지 물어보아야합니다. 언어별로 선택해야 할 좋은 이유가있을 수 있습니다. 그 후 Google은 친구와 다른 후보자가 떠날 때 친구입니다. 말한 내용이 그럴듯한 지 여부를 확인할 수 있습니다.
좋은 사람을 고용하는 것이 조직에서 가장 중요한 역할 중 하나이므로 행운을 빕니다.)