코드 읽기 기술을 향상시키는 방법 [닫기]


13

문제는 제목에 있습니다. 코드 읽기 기술을 어떻게 향상시킬 수 있습니까?

현재 개발중인 소프트웨어 / 하드웨어 환경은 전체 시스템을 테스트하는 데 걸리는 컴파일 시간과 시간이 상당히 느립니다. 이 시스템은 매우 구식 / 복잡하므로 시스템을보다 작고 관리하기 쉬운 하위 프로젝트로 분할하는 것은 가까운 미래에는 불가능합니다.

개발 진행을 방해하는 것은 코드 읽기 기술이라는 것을 깨달았습니다. 코드 읽기 기술을 개선하여 디버거를 시작하기 전에 "컴파일 수행"키를 누르기 전에도 코드의 오류 및 문제를 대부분 확인할 수 있습니까?


나는 비슷한 문제를 다루고있다. 우리 팀은 매우 큰 레거시 코드 기반을 공유 캐싱을 지원하는 새 빌드에 개조하는 데 시간을 투자하기로 결정했습니다. 빌드 시간을 개선하고 안정성을 크게 향상 시켰습니다. 또한 응용 프로그램의 사전 구축 된 큰 부분을 사용하기에 충분한 리팩터링만으로도 구축 시간을 절약 할 수 있습니다.
smithco

1
모든 기술과 마찬가지로 연습과 경험이 많은 사람들의 조언을 구하는 것만으로도 나아질 수 있습니다.

언어를 배우는 것처럼. 더 많은 코드를 읽을수록 독해 능력이 향상됩니다.
Steven Mou

답변:


1

더 많은 코드 읽기

나는 인증 질문을 읽음으로써 다소 괜찮은 코드 읽기 기술을 얻었습니다. 그들은 의도적으로 잘못 작성 되었기 때문에 따르기가 매우 어렵습니다.

그들은 결국 언어에 대한 지식 (제 경우에는 Java)을 테스트해야합니다.

더 많은 코드를 읽을수록 더 많은 경험을 쌓을 수 있습니다.


4

사용 가능한 피드백을 제공 할 수 있도록 개발 환경을 최대한 향상 시키십시오.

최신 IDE는 필요한 정보를 제공 할 수 있으면 많은 도움이 될 수 있습니다. 예를 들면 다음과 같습니다.

  • 구문 색상 : 한 색상의 상수, 다른 색상의 주석, 세 번째의 식별자, 네 번째의 문자열 등 최근에 ... 이상한 코드가 발견되었습니다 ... 변수는 상수는-잘못된 색이 그것을 버렸습니다.
  • 간단한 컴파일 오류를 잡아라. 대부분의 언어에는 간단한 문법이있어 편집자가 가르 칠 수 있으므로 오류가있을 것임을 미리 알려줄 수 있습니다.
  • 복잡한 컴파일 오류를 잡아냅니다. 많은 컴파일러가 IDE에로드 할 수있는 정보 파일을 생성 할 수 있으므로 주어진 함수가 취하는 인수 수 등을 알 수 있습니다.

또한 프로그램에서 논리적 오류를 식별 할 수있는 프로그램이 있으며,이를 통해 배울 수있는 프로그램에 대한 추가 정보를 얻을 수 있습니다.

또한 IDE는 이러한 모든 것을 알고있을 때 소스를 탐색하는 데 도움을 줄 수 있습니다. 이를 통해 모든 것을 외울 필요없이 쉽게 찾을 수 있습니다.

더 나은 제안을 위해 작업 환경 및 작성하는 프로그램에 대한 자세한 정보를 제공하기 위해 질문을 편집하는 것이 좋습니다.


1
또한 한 번에 더 많은 코드를 볼 수 있기 때문에 키가 큰 모니터 (또는 넓고 피벗 된 모니터)는 놀라운 일을 할 수 있습니다.

1

다른 사람들이 말한 것 외에도 코드를 읽으려면 인내심이 필요합니다 (특히 코드가 아닌 경우). 그렇습니다. 코드를 한 줄씩 읽는 것이 실용적이지만 그만한 가치가 있으며 다른 사람들의 코딩 스타일 / 트릭도 배울 수 있습니다. 다음은 순서대로 확인한 내용입니다.

  1. 변수 이름, 일치하는 중괄호, 가져 오기 등
  2. 조건이 올바르게 설정되어 있고 오류가 발생했는지 확인
  3. 그 밖의 모든 것-기능 사용 등

평범한 텍스트 편집기에서 코딩하는 데 익숙 했으므로 Ctrl + F는 내 친구이지만 IDE는 특히 여러 파일을 읽을 때 매우 유용합니다.

이제 코드를 작성하는 사람이라면 공백과 들여 쓰기 및 주석을 넣는 것을 두려워하지 마십시오. 솔직히 눈이 즐거워 보이지 않으면 머리에 통증이됩니다.


0

컴파일하기 전에 모든 오류를 발견 할 수 있다고하더라도 테스트 및 컴파일을 통해 여전히 확인합니다. 나는 긍정적 인 테스트와 실행중인 프로그램 만 신뢰할 것입니다.

좋은 코드 읽기 기술은 코드에 대한 가설을 세우는 데 매우 도움이 될 것이라고 생각합니다. "아마 이것이 잘못되었을 것입니다!"라고 테스트하십시오. 그리고 버그를 찾을 때 "이것이 원인 일 수 있습니다."

가장 좋은 방법은 직접 코드를 작성하는 것입니다. 두 번째 가장 좋은 방법은 코드가 단순히 훌륭하고 자체 설명하는 것입니다 (정말 어렵다면 코드가 그렇게 좋지 않습니다)

자신의 코드가 아니며 잘 작성되지 않은 경우 더 나은 방법은 수행, 수행, 수행하는 것입니다. 코드를 읽고, 다른 것들을 시도하고, 코드를 테스트하고, 코드 기반을 알고, 리팩토링하십시오. 도구가 도움이 될 수 있습니다. 메소드가 사용되는 위치, 인터페이스가 구현되는 위치, 변수가 선언 된 위치 등을 찾을 수 있습니다. 네임 스페이스, 해당 관계 및 관련 메트릭에 대한 개요를 제공하는 도구입니다.


0

나는 과거에 비슷한 문제를 겪었다. 나의 비법은 약간의 시험을 작성하고, 잠시 동안 책상을 떠나서, 돌아와서 종이에 시험을 시뮬레이션하는 것이었다. 이런 식으로, 당신은 신선한 모습으로 코드를 넘어갈 수 있고, 확인해야 할 특정 값을 가지게됩니다 (코드를 넘어 "ahh .. ahh ... 의미"라고 말하는 것과 달리)


0

공식적인 코드 검토에서 각 검토자가 다른 책임을 갖는 것처럼 한 번에 하나의 코드 읽기 기술을 배우는 데 집중하는 것이 좋습니다. 코드를 작성하고 일주일 동안 (예를 들어) 나쁜 변수 이름을 찾으십시오. 다음 주에 같은 코드를 다시 눌러 잠재적 인 널 포인터를 찾으십시오. 다음 주에는 중복 코드 블록을 찾습니다. 멀티 스레딩 문제 등

다른 탐지기를 연마하는 데 전용 시간을 소비하면 이제는 몇 개 또는 모두 활성화 된 상태에서 코드를 읽을 수 있으므로 단일 판독에서 더 풍부한 코드 감각을 갖게됩니다.


0

컴파일 오류에 대해 이야기하고 있다면 일어나지 않을 것입니다. 컴파일러 오류에 대한 가장 좋은 해결책은 빌드를 중단 한 사람이 다른 사람이 빌드를 중단 할 때까지 빌드를 베이비 시팅하도록 지정하는 것입니다. 당신은 그것을 깨뜨 렸고 고쳤습니다.

논리 오류는 감지하기가 훨씬 어렵습니다. 간단한 경우를 방지하는 한 가지 기술은 단위 / 회귀 테스트를 작성하는 것입니다.


0

오늘 아침에 들었던 한 가지 팁 (On SE Radio)은 파일을 가져 와서 3pt 유형으로 축소 한 다음 텍스트에서 패턴을 찾습니다. 텍스트를 읽을 수는 없지만 모든 종류의 패턴이 표시됩니다. 오히려 좋은 트릭입니다.

그리고 이것은 커맨드 라인이 당신의 친구, grep 및 파이프 라인이 많은 유용한 일을 할 수있는 곳 중 하나입니다.


텍스트 편집기에서 글꼴을 3pt 글꼴로 변경하려면 "파일을 가져 와서 3pt 유형으로 줄였습니다"는 무엇입니까?

정확히 말하면 실제 단어가 아닌 텍스트의 모양을 보는 것입니다.
Zachary K

0

나는 몇 년 동안 프로그래밍 강사였습니다. 이 기간 동안 나는 코드를 읽고 그것에 많은 시간을 보냈다. 여기에는 컴파일 오류 (학생 코드를 항상 컴파일 한 것은 아님), 논리 및 디자인 오류 및 표준화 문제가 있습니다.

그렇게하기 위해 우리는 이러한 유형의 실수에 대한 예리한 눈을 개발하고 코드를 "건식 실행"해야했습니다. 이런 종류의 활동은 또한 많은 코딩 스타일에 노출되었습니다. 오늘 저의 코드 읽기 기술은 그 시대에 상당히 감사합니다.

그래서 당신에게 내 제안은 이것입니다 :

  • 동료와 코드 검토를 수행하십시오.
  • 코드를 살펴보기 전에 혼자서 코드를 읽는 것이 좋습니다. 그래서 코드가 자신에게 어떤 역할을하는지 알아 내야합니다.
  • 코드 구조 및 청결도, 표준 및 논리에 대한 의견.
  • 이렇게하면 코드 품질과 코드 읽기 능력이 향상됩니다.
  • 코드는 코딩이 끝난 후 얼마 지나지 않아 자신의 코드를 검토합니다. 이렇게하면 "신선한 눈으로"평가하고 실수로부터 배울 수 있습니다.

행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.