답변:
읽어 보시겠습니까?
예.
그렇게하면 얼마나 자주
매일. 끊임없이. 나는 수많은 오픈 소스 프로젝트 (주로 Python 관련)로 작업하고 가장 정확한 문서이므로 소스 를 읽어야합니다.
코드를 읽는 절차는 무엇입니까?
음 열고 읽습니다.
또한 초보자가 SVN을 처리하는 것은 약간 어렵습니다. 해결책은 무엇입니까?
열고 읽습니다. 그런 다음 더 읽으십시오.
쉽지 않습니다. 아무것도 쉽지 않습니다. 이해하기에는 왕도가 없습니다. 작동합니다.
수수께끼에는 여러 층이 있습니다. 먼저, 높은 수준의 조감도에서 시작하십시오. 프로젝트를 체크 아웃하면 디렉토리 구조에 많은 파일이 있습니다. 오픈 소스 또는 닫힌 소스를보고 있더라도 동일합니다 (소스 코드는 결국 소스 코드입니다). 이제부터 시작하십시오 :
연습이 필요하지만 확실히 가능합니다. 응용 프로그램이 사용하는 라이브러리와 프레임 워크에 대해 더 많이 알수록 코드 구성 방법과 특정 질문에 대한 답변을 찾을 수있는 위치를 더 많이 알 수 있습니다. 특히 간접적 인 코드 인 경우 일부 코드를 따라 가기가 약간 더 어렵습니다. 연필과 종이가 필요한 이유입니다. 결국 전구가 머리에서 사라지고 그것을 얻습니다. 나머지 코드를 읽는 것이 훨씬 더 합리적입니다.
소설을 읽는 것처럼 읽지는 않지만 참고서를 읽는 방법과 비슷합니다. 좋은 방법은 체크인 메시지에서 최근에 수정 된 버그를 선택하고 변경된 내용을 확인한 다음 문제와 솔루션을 모두 이해할 때까지 관련 부분을 읽는 것입니다. 잘 알려진 보안 취약점은 포럼에서 그에 대해 많은 토론이 있기 때문에 선택하기에 재미있는 버그입니다. 그런 다음 버그 추적기에서 "낮은 매달린 과일"버그 중 하나를 선택하여 직접 해결하는 방법을 이해할 때까지 읽으십시오. 버그를 수정하거나 기능을 추가하는 과정에서 코드 판독 전문가의 대부분은 부수적입니다.
일반적으로 최상의 코드 샘플은 거의 눈에 띄지 않습니다. 한 번 이상 읽지 않고도 즉시 이해할 수 있습니다. 좋은 코드는 일반적으로 많은 초안을 거치더라도 작성하기가 매우 쉬운 것처럼 보입니다. 그것은 비록 당신이 생각한 첫 번째 방법은 아니지만 주어진 코드가 그것을 수행하는 확실한 방법이라는 역설적 인 느낌을 만들어냅니다.
그런 코드를 접할 때 코드를 작성하는 데 필요한 통찰력과 관련된 디자인 원칙을 이해하려고 노력하십시오. 따라서 앞으로 비슷한 상황에 처했을 때 동일한 원칙을 적용 할 수 있습니다.
복잡한 함수를 읽을 때 자주 사용하는 트릭은 코드 세그먼트를 변경하지 않고 로직을 더 읽기 쉬운 것으로 리팩토링하는 것입니다.
"다발 파일"을 어떻게 처리해야합니까? 문서화되지 않는 한 조직에 대한 사전 지식이 없다는 것을 제외하고는 자신의 코드를 작성할 때와 다르지 않습니다.
귀하가 주장한 프로그래머로서 "파일 묶음"에서 프로젝트 구조를 파악할 수 없다면 조직이 매우 잘못 구성된 프로젝트이거나 부적절한 프로그래머 (또는 극단적 인 경우)입니다.
독서를 시작하고, 일부 진입 점이나 필수 피벗 클래스 / 방법을 찾고, 그것이 어떻게 시작되는지 이해하십시오. 즉각적이지 않고 시간이 걸리지 만 문서가 전혀 없어도 할 수 있습니다.
API 나 소프트웨어가 다른 프로젝트의 코드를 읽을 때 기대할 수있는 가장 좋은 점은 변수, 함수 및 매크로 이름이 모호하게 생략되거나 이름이 지정되지 않아 의도를 파악할 수 있다는 것입니다.
그러나 그 외에도 언어, 프로그래밍 기술 및 복잡한 코드로 뛰어들 수 있도록 코드의 목적 자체에 대한 상당한 지식이 필요합니다.
나는 현재 Lua 가 어떻게 마술을 수행 하는지 보려고 노력하고 있지만, 많은 식별자가 모호하고 오히려 어느 줄이 노력하고 있는지 알 수없는 지점으로 약칭되는 위의 시점에 도달하고 있습니다. 함수 코드의 어느 시점에서 내가 아는 것을 수행해야합니다 ... 잦은 단일 문자 변수와 오히려 약식 매크로 / 함수 이름이 내 머리 속에 있습니다.