문제

다른 사람의 소스 코드를 읽으면 코드에 어떻게 접근합니까? 어떤 패턴을 찾고 계십니까 (데이터 유형, 루프, 제어 흐름 사용 ...)? 지루하지 않고 다른 사람들의 코드를 얼마나 오래 읽을 수 있습니까? 지금까지 발견 한 가장 흥미로운 패턴은 무엇입니까?

도움이 되었습니까?

해결책

명백한 "상단의 작업"일반적인 접근 방식 외에도 나는 그것을 읽고있다 : 코드 검토, 내 자신의 용도에 적응하고 새로운 기술을 배우려고 노력하는 약간의 상기 가능한 코드를 이해하려고 노력하고있다.

또한 언어에 크게 의존합니다. 그것이 OOPL이라면 아마도 다음과 같은 일을 할 것입니다.

  1. 1 차 클래스 관계를 먼저 살펴보고 각 클래스의 주요 책임을 이해하려고 노력하십시오.
  2. 수업 간의 상호 작용을보고 공동 작업 방법을 확인하십시오.
  3. 주요 클래스의 인터페이스를보고 공동 작업자를 제공하는 "서비스"를 확인하십시오.
  4. 이해하는 것이 중요하지 않은 경우 사소한 방법을 살펴보십시오. 어떻게 그들은 대신 대신 일하고 있습니다 무엇 그들은 책임이 있습니다.

다른 팁

처음에는 코드를 변경하려는 충동을 무시합니다. 때로는하기가 어렵습니다. 그러나 먼저 이해하고 나중에 변화하면 많은 불쾌한 "학습 경험"을 구해줍니다.

다음으로 형식이 나쁘면, 개혁. 코드가있는 경우 코드 포맷터를 사용하십시오. 이것은 당신이 들여 쓰기를 보는 경향이 있기 때문에, 그것이 나쁘면, 코드에 대한 당신의 이해도 의문의 여지가 있기 때문입니다.

그런 다음 복잡한 데이터 구조가 있으면 약간의 다이어그램을 그리는 것을 좋아합니다. 여기서 도전은 가능한 한 간단하게 유지하는 것입니다. 큰 다이어그램은 벽에서 재미 있지만 대부분의 경우, 그들은 번거롭게보아야합니다. 그래서 시간 낭비입니다.

코드가 무엇을하는지 마침내 이해한다면 주석을 작성하십시오. 다음에 여기있을 때는 이해하지 못하기 때문에 이것은 필수적입니다.

다음 단계는 단위 테스트를 만드는 것입니다. 이제 코드를 테스트 할 수있을뿐만 아니라 코드 이해를 테스트 할 수도 있습니다.

마지막으로, 당신이 그것을 이해하고 그것을 더 잘 알고 있다면, 그것을 바꾸십시오. 그러나 테스트를 실행하십시오. 해결 된 각 버그에 의해 지불되지 않는 한.

이것에 대한 새로운 용어입니다 코드 spelunking.

감사합니다. 제가 올바르게 이해하면 첫 번째 단계는 컨텍스트를 식별하고 두 번째 API를 식별하고 API를 컨텍스트에 배치하는 것입니다. 나는 그것이 건물이나 예술 작품을 보는 것과 비슷하다는 것을 알고, 당신은 사용 된 재료 또는 부품의 기능에 집중할 수 있고, 다른 관점을 시도하고, 부품이 전체에 어떻게 맞는지 판단 할 수 있습니다 ... 멋진 조각이 있습니다. 발견 과정 : 여기 - 수학자들이 어떻게 생각하는지

모두 읽고있는 코드 유형에 따라 다릅니다. 웹 앱, 서비스, 데스크탑 앱입니까? 다른 사람의 코드를 읽기 시작하면 일반적으로 사용 된 디자인 패턴을 찾기 시작합니다. 또는 프레임 워크 특정 것들을 위해. 그러나 다시 이것은 당신이 리뷰를하고있는 경우입니다. 자신의 관심을 위해 읽고 무언가를 배우려면 실제로 답이 없습니다. 코드를 철저히 읽고 이해해야합니다.

최종 제품에서 이해하는 항목을 선택하고 어떻게 구성되는지 확인하십시오. 단위 테스트를 받았다면 큰 도움이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top