나는 늦게 힘든 곳에서 자신을 발견했다. 거의 8 개월 동안 프로그래밍 친구와 게임을하고 있습니다. 우리는 작년 8 월경에 프로그래밍을 시작한 신입생으로 시작했습니다. 그는 2 학년 CS 학생이며, 저는 무역 분야의 IT 지원 기술이며, 수많은 서적과 온라인 구독을 갖춘 독학 프로그래머입니다.
내가 끊임없이보고있는 문제는 우리가 코드 덩어리를 작성할 때 종종 약간의 해킹이 발생하고 많은 실패가 있으며, 그것이 우리 중 하나에 대한 새로운 개념이라면 순진한 솔루션으로 가득 차 있다는 것입니다. 이것은 괜찮습니다. 우리는 배우고 있습니다. 두 코드 모두 전나무 또는 두 번째 패스에서 약간 해킹 될 것으로 기대합니다. 문제는 해킹 된 행동을 실제로 고치고 리팩토링 할 때 발생합니다.
내 파트너는 새로 고집 된 동행을 유지하면서 작동하기 시작하는 순간 오류를 보지 않기를 맹렬히 거부합니다. 한 조각의 구조에서 거의 완벽 함을 주장하면서 주석과 적절하게 명명 된 방법 및 필드가 있어도 사용할 수 없습니다. 아무리 노력해도 나는 그 행동을 완전히 깨지 않고 행동의 더 이상의 변화 나 확장을 막을 수있는 눈에 띄는 명백한 결함을 볼 수 없으며, 그와 너무 밀접하게 결합 된 모든 것들이 같은 클래스에있을 수 있습니다. 해킹 된 솔루션은 끊임없이 해킹 된 상태를 유지하며, 제대로 설계되지 않은 디자인은 처음 고안하고 테스트 할 때의 위치를 유지합니다.
새로운 코드를 직접 작성하는 것만 큼 많은 시간을 보냈는데,해야 할 일을 잃었습니다. 내 파트너는 오늘 밤 그것을 잃어 버렸고 벤치 마크, 일반적인 관행, 반박 할 수없는 증거에 관계없이 자신의 코드가 처음 작성된 방식을 유지한다는 것을 분명히했습니다. 왜 당신이 무언가를하지 않기를 원하는지에 대한 책 전체가 쓰여졌더라도, 그것은 단지 누군가의 의견이라고 주장하는 타당성을 인정하지 않을 것입니다.
프로젝트에 관심이 있지만 파트너와 계속 협력 할 수 있을지 잘 모르겠습니다. 세 가지 옵션이 열려있는 것 같습니다.
- 컴파일 시점을 지나는 코드베이스 기능에 대해 신경 쓰지 말고 간신히 절뚝 거리는 동작을 유지하고 구문 분석하려고 시도하십시오. 일단 상황이 심각하게 깨지기 시작하면 그는 근본적으로 결함이있는 디자인에 반창고를 치는 것보다 더 많은 것을하려고 노력할 것입니다.
- 더 많은 유능한 개인이 10 년 전에 파악한 문제에 대한 끝없는 논쟁을 계속하십시오.
- 이 프로젝트에서 프로그래밍을 중단하고 거의 10,000 줄의 코드를 작성하고 디자인에 대해 수많은 시간을 허비하고 새로운 프로젝트를 직접 찾아보십시오.
이 사람과이 프로젝트를 계속할 가치가 있는지 판단하기 위해 어떤 접근법을 취할 수 있습니까? 아니면 내 결정에 어떤 요소가 영향을 미칩니 까? 우리는 많은 코드를 작성했으며 필요한 경우가 아니라면 이것을 포기하고 싶지 않습니다.