저는 새로운 프로그래머이며 선임 프로그래머 (실제 경험이있는 프로그래머)에게 문의하고 싶습니다.
나는 일을하고 코딩 후 프로젝트가 완료되었지만 솔직히 말하면 코드, 클래스 및 프레임 워크 이름과 속성을 기억하지 못합니다.
때때로 나는 내가 이것을 만든 것을 의심 하는가?
모든 프로그래머에게 이것이 정상입니까, 아니면 코드 및 클래스 / 속성 이름을 기억하지 못하는 가장 어리석은 프로그래머입니까?
편집하다:
많은 프로그래머들이 나를 잘못 여기고 있다고 생각합니다. 프레임 워크 이름, 클래스 이름, 속성 이름을 잊었지만 다시 작업을 시작하면 내 코드를 기억하기 시작합니다. 내 질문은 구문 및 클래스 / 속성 등 이름을 기억합니까?
답변
솔직히 말해서, 당신이 작업 한 코드를 “잊어 버릴”능력없이 어떻게 장기 개발자가 될 수 있는지 모르겠습니다. 프로젝트 및 결과 코드의 양은 결국 순수한 정보 과부하로 이어질 것입니다.
그러나 저는이 상황을 깨끗하고 논리적 인 디자인을위한지지적인 주장으로보고 있습니다. 자신의 코드를 지원해야 할 때가 올 것입니다. 강력하고 논리적 인 코딩 규칙을 선택한 경우 익숙한 시간이 크게 줄어 듭니다. 또한 이론적으로 실제 유지 보수를 수행하는 데 필요한 시간이 줄어 듭니다.
답변
프로젝트의 모든 구문과 API를 기억하는 것은 프로젝트를 구축하는 데 필요한 개념을 기억하는 것만 큼 중요하지 않습니다. 경험이 있으면 코드를 읽고 이러한 게시물을 읽는 것처럼 의미를 파악할 수 있습니다.
시간이 지남에 따라 적극적으로 개선하고 있다면 이전 코드를 읽는 것만으로 과거에 작성한 내용의 결함을 볼 수 있다는 것입니다. 그 연습을 통해하기가 더 쉬워집니다. 다른 기술과 마찬가지로
내 경력에서 지금까지 백만 줄 이상의 코드를 작성했을 수 있으며 모든 것을 기억할 수있는 방법이 없습니다. 나는 프로젝트와 그들이 무엇을 해결하려고했는지 (그리고 그것들을 해결하는 기술)을 기억합니다.
답변
사용을 마친 후에는 많은 것을 잊지 만 다르게 잊어 버립니다.
나는 몇 년 동안 나 자신을 지켜 보았고 우리 뇌 (좋아, 내 뇌)가 특정 캐싱 전략을 사용한다는 결론에 도달했다.
-
새로운 정보가 학습되고 사용 된 다음 만료 대기열에 배치됩니다. 몇 주 후에 사라졌습니다.
-
몇 달 전까지 배운 정보에 대한 반복적 인 액세스는 몇 달 전까지 기억 될 수 있도록 정보를 어떤 식 으로든 승격 시켜서 만기됩니다.
-
몇 년 동안 지식 블록에 반복적으로 액세스하면 몇 개월 동안 사용 간격이있어 몇 년 동안 우선 순위가 유지되는 메모리로 승격됩니다.
추신 : 나는 컴퓨터에 응용 프로그램을 사용한 캐시의 첫 번째 아이디어가 사람이 물건을 배우고 기억하는 방법을 관찰 한 누군가에게서 온 것으로 생각합니다. 그래서 우리는 아무것도 발명하지 않았으며 이미 내장 된 것을 가져갔습니다.
답변
자주. 주석은지나 가게되었지만, 나는 보통 내 주석으로 내 코드를 인식 할 수있다.
편집 : 나는 트렌드에 동의 한다고 말하는 것이 아닙니다 . 나는 그것이 오늘날의 추세라고 말하고 있습니다. 데이브가 지적한 바와 같이, 확실히 단점이 있습니다. 여기에 완벽하게 멋진 토론이 있습니다 : “코멘트는 코드 냄새입니다” . 나는 “코멘트에 대한 정보를 제공하기위한 것입니다 (요구 사항, 사업 변경 등)”캠프에 들어갑니다.
답변
구문 일반적으로 몇 번 사용한 후에 기억합니다. 예를 들어, 제네릭이나 linq를 처음 사용했을 때 구문을 제대로 얻는 데 어려움이있었습니다.
IntelliSense를 사용하면 속성 및 메서드 이름을 기억하는 데있어 작업이 훨씬 쉬워집니다.
답변
내가 테스터 일 때 회사의 수석 개발자는 코드가 6 개월 전에 작성되었다고 나에게 말했지만 내 직원 중 누구도 책임을 질 수는 없습니다. 당시에는 충격을 받았습니다. 이제는 내가 이해하는 개발자로 옮겼습니다. 내가 작업 한 코드의 세부 사항을 기억하지 못하지만 세부 사항은 없습니다.
답변
거의 언제나. 나의 가장 최근의 (매우 작은) 프로젝트는 내 자신의 (녹슬 기) 기술에 대한 테스트였습니다. 매우 간단한 C 스타일로 많은 절차 적 코드를 작성한 다음 일부 디자인 패턴을 사용하여 Java 코드로 리팩토링하고 가능한 경우 모든 메소드를 8 줄 이하로 유지했습니다.
나는 약 한 달 동안 코드를 내려 놓았습니다. 다시 돌아 왔을 때, 내가 쓴 것을 인식하기까지 한 시간이 걸렸습니다. 솔직히, 댓글 필드에 내 이름을 넣었더라도, 그것이 저를 설득했는지는 확실하지 않습니다.