이것은 항상 절충안입니다.
초보 프로그래머로서 코드 재사용과 스퀘어 휠 재개발을 고려할 때 두 가지 질문을해야합니다.
- 처음부터 모든 것을 작성하거나 문제 영역에 집중하고 관심있는 문제에 중요하지 않은 복잡성을 제거함으로써 해결하고자하는 문제에 대해 더 배울 수 있습니까?
- 당면한 문제를 해결하는 것이 더 중요합니까, 아니면 몇 가지 기본 개념을 이해하는 것이 더 중요합니까?
프로젝트를 끝내지 않아도 되더라도 다른 사람들이 이미 해결 한 복잡한 문제에 대해 바퀴를 돌리는 것이 좋습니다. 무언가를 배우기 때문입니다. 그러나 "종료"하기 전에 다른 것으로 넘어갈 수 있습니다. 복잡한 도메인에서 작업을 시작하면 스스로 해결할 때까지 단순 해 보이는 다른 프로젝트가 빠르게 빛나기 시작합니다.
다른 사람의 사고 방식을 연기하고 있기 때문에 통제를 포기하는 것에 집착하지 마십시오. 달성하려는 것에 더 집중하십시오.
파서의 작동 방식을 이해하고 싶기 때문에 HTML 파서를 작성하는 것이 목표라면 그렇게하십시오. 사용자 입력을 삭제하거나 임의의 HTML 비트를 변환하기 위해 HTML 구문 분석기를 작성하는 것이 목표 인 경우, 구문 분석 자체보다는 구문 분석 응용 프로그램에 더 관심이 있기 때문에 아마도 잘못된 것에 집중하고있을 것입니다. . 다른 사람의 라이브러리를 이해하는 데 시간이 걸리지 않기 때문에 HTML 파서를 작성하고 싶다면 적어도이 경우에는 다른 사람이 더 많은 시간을 보냈기 때문에 시간을 낭비하고있을 것입니다 이 문제를 효과적으로 해결할 수 있습니다. 아주 사소한 경우에는 코드를 재사용하지 않고 복잡한 라이브러리에서 시간을 절약 할 수 있지만 사용하는 라이브러리가 짜증나거나 문서 및 코드 샘플을 읽는 능력이 떨어지지 않으면
반면에, 나는 당신이 결국 사용하더라도 다른 도메인에 적용 할 수있는 전송 가능한 기본 알고리즘과 데이터 구조에 더 집중할 것이기 때문에 자신의 그래프 라이브러리를 작성하는 것이 가치 있다고 말합니다. 당신이 그 문제에 대해 일할 때 다른 사람의 도서관.