개발자가 세부 사항을 외우도록 강요해야합니까? [닫은] 나는 테이블 이름이나 쿼리가 무엇을 기억하지 않고

여러 번 내 응용 프로그램에 대한 것들을 잊어 버렸습니다. 나는 테이블 이름이나 쿼리가 무엇을 기억하지 않고 원하는 것을 얻기 위해 검색합니다. 팀 리더는 내가 사용하는 테이블 이름을 외워야한다고 말했습니다.

개발자가 데이터베이스의 테이블 이름, 클래스 이름 등을 기억해야합니까? 대답이 “예, 항상”이라면, 그 것들을 기억하기 위해 어떻게해야합니까?



답변

이러한 것들을 명시 적으로 기억할 필요는 없습니다 . 그것은 당신이 철자법 테스트를위한 단어들의리스트처럼 앉아서 그것들을 배우는 것을 의미합니다. 첫 번째 인스턴스에서 이름이해야 기억에 남는검색 할 당신이 너무 많은 노력없이 다시 찾을 수 있도록.

또한 자동 완성 등을 통해 도움을주는 도구에 액세스 할 수 있어야합니다.

100 개가 넘는 테이블이있는 큰 시스템에서는 모든 테이블 이름과 모든 열 이름을 실제로 기억할 수있는 방법이 없지만, 기억하기 쉽고 검색 가능한 이름과 정기적 인 사용으로 가장 중요한 세부 사항과 모든 테이블 이름을 기억해야합니다. 일.


답변

아인슈타인은 “[책에서] 찾을 수있는 것을 외우지 말아라”고 말했고, 나는 완전히 동의한다.

필요할 때 찾을 수있는 사실이 아닌 추상적 인 것들 (개발 기술과 원칙)에 기억을 사용하십시오.


답변

인정하기가 부끄럽다-나는 거의 30 년 동안 C를 사용해 왔지만 함수 포인터를 선언하는 방법을 결코 기억할 수 없다. 나는 항상 K & R을 통해 구문을 확인해야한다.

더 난처하게도 typedef의 작동 방식에 대해 정말 열심히 생각해야합니다.

 typedef foo int;

또는

 typedef int foo;

이들은 내 개인적인 사각 지대입니다. 비슷한 것이 있으면 걱정하지 않아도됩니다.


답변

컴퓨터는 물건을 정확하게 기억하는 데 능숙합니다. 컴퓨터는 또한 이전에 기억했던 것을 찾는 데 능숙합니다.

따라서 핵심 기술은 컴퓨터를 메모리의 확장으로 사용하는 것입니다. 깨끗한 코드 작성, 문서 작성, 검색 도구의 효과적인 사용법 배우기, 검색 환경 등을 쉽게 찾을 수 있도록 개발 환경 설정

좋은 부작용은 다른 사람들이 코드를 쉽게 읽을 수있게한다는 것입니다.


답변

기억이 중요하다

강력한 기억력은 실제로 개발자가 가질 수있는 최고의 재능 중 하나입니다. 실제로 누구나 가질 수 있습니다. 그것은 진정으로 특별한 일이며 나는 그것을 축복 한 사람들을 부러워하고 존경합니다. 그것은 확실히 사람이 더 강한 개발자, 변호사, 정비사 또는 (여기에 선택한 작업을 삽입) 도움이 될 수 있습니다.

얼마가 필요합니까?

그러나 나는 모든 것을 암기하는 것이 공정한 요구 사항이라고 생각하지 않습니다. 나는 당신이 일을하는 것의 자연스러운 부분으로 기억에 헌신하기 시작할 것이라고 믿습니다. 그렇기 때문에 언어에 관한 책을 읽고 프로덕션 환경에서 사용하는 것이 같은 것이 아닙니다. 당신이 매일 무언가 (일부는 “연습”이라고 부름)로 일하면서 당신은 어떤 것을 제 2의 자연으로 만들기 시작할 것입니다.

다른 포스터와 마찬가지로 응용 프로그램의 주요 부분을 암기하는 것이 도움이된다고 생각합니다. 그러나 현대 도구에서 점점 일반적으로 사용되는 인텔리전스와 같은 기능을 활용할 수있을 때 모든 것을 암기하는 데 투자 할 가치가있는 것은 확실하지 않습니다.

어떻게 향상시킬 수 있습니까?

나는 기억에 대한 전문가는 아니지만 뇌 게임 (십자말, 스도쿠, 퍼즐 등)과 같은 정신 운동을 통해 기억력을 향상시킬 수 있다고 믿는 사람들도 있습니다. 이론은 당신의 두뇌가 근육과 같으며 다른 방식으로 사용하고 운동하면 그것을 강화시킬 수 있다는 것입니다.

두뇌 게임, 프로그래밍 및 대화 형 활동과 같은 일이 시간이 지남에 따라 두뇌에 미치는 영향에 대한 연구를 보는 것은 흥미로울 것입니다. 그러한 것들이 나이나 치매로 인한 기억 상실의 시작과 싸우는 데 도움이 될 수 있습니까?


답변

내가 어디에서 왔을 때, 영어로 다음과 같은 오래된 말이 있습니다. “어리석은 사람이 암기하고 똑똑한 사람이 적습니다.” 기본적으로, 당신의 기억이 얼마나 좋은지 상관없이 잊어 버릴 것 입니다. 당신은 인간 일뿐입니다. 결과적으로 이것은 인간의 기억에 의존하게됩니다. 이 테이블 이름을 기억한다고 생각하더라도 100 % 확신 할 수 있습니까? 몇 초만에 테이블 이름을 찾을 수 있지만 철자가 틀린 버그를 추적하려면 몇 시간 또는 며칠이 걸릴 수 있습니다.

결론적으로, 아니요, 특히 수천 개의 테이블과 클래스를 가질 수있는 대규모 프로젝트의 경우에는 어리석은 요구 사항 입니다.


답변

그것이 당신이 일하고있는 무언가에 있고 장기적인 과제라면, 그렇습니다. 학습을 위해 노력하고 다양한 테이블과 열 이름, 클래스, 변수 및 메소드를 기억할 수 있어야합니다. 이것은 당신이 그들과 함께 일할 때 시간이 지날 것입니다. 밤새 학습하지는 않지만 가능한 한 작업중인 시스템에 대해 많은 정보를 얻으려고 노력해야합니다. 또한 큰 시스템에서는 모든 것을 암기 할 수있는 방법이 없지만 가능한 한 많이 배우고 기억하지 않을 이유는 없습니다.

항상 모든 것을 살펴보아야하는 것은 생산성에 큰 영향을 미칩니다. 작업을하고 있고 몇 분마다 물건을 멈추고 찾아야하는 경우 집중력이 떨어집니다. 적절한 도구를 사용하여 도움을주고, 가능한 것을 배우고 기억하십시오. 생산성을 크게 향상시킵니다.