답변:
내가 완벽 주의자 인 경향이 있기 때문에 항상 적용한다는 간단한 규칙이 있습니다. 그리고 완벽주의는 당신을 평범하게 만듭니다.
마감일을 정하십시오. 마감일에 배송하십시오.
않아도 소프트웨어를 방지하기 위해 unfishined 하지 못할 것입니다 기능을 누락 상태를,이 정의를 사용하는 일 이 발생 각 기능에 대한합니다. 모든 단계가 완료 될 때까지 다음 기능을 시작하지 마십시오 .
마우스 클릭 한 번으로 릴리스를 만들 수 있다고 가정합니다 (빌드 스크립트 사용)
내 대답 (또는 실제로 답을 제안하기) 전에, 나는 큰 프로젝트에 대한 경험이 많지 않으며 내가 읽은 것을 말하고 원인 중 하나라고 믿습니다. 나는 매우 잘못되었을 수도 있지만, 내가받을 모든 의견에서 무언가를 배웠을 것입니다. ^^
프로젝트가 진행 중일 때 코드가 열화되지 않도록하는 것이 중요합니다. 이것은 여러 가지 방법으로 예방할 수 있으며 그중 몇 가지만 알고 있습니다.
리팩토링으로 너무 오래 기다리지 마십시오 : 리팩토링에는 시간이 걸리지 만, 추가 매개 변수를 허용하도록 코드를 다시 작성하는 것을 방해 할 수 없기 때문에 복잡한 함수 호출을 수행 할 필요가 없습니다. 보다 직관적이고 덜 중복 된 코드는 버그 수를 줄입니다.
깨진 창 수정 : 년 실용주의 프로그래머 , 나는 깨진 창으로 알려진 현상으로 읽습니다. 저자들은 건물이 열화되는 것과 같은 방식으로 코드가 열화되기 시작한다고 주장했다. 코드에서 이것은 변수, 함수의 이름을 추악하게 수정하는 것을 의미합니다. 일반적으로 나쁜 코드입니다. 나는 이것이 사실이라고 생각했다. 나는 코드가 더 좋고 코드 기초가 확실 할 때 코딩에 더 행복하다. 깨진 창이 너무 많으면 종종 좋은 코드를 작성하려는 노력이 마음에 들지 않습니다. 따라서 깨진 창이 보이면 가능한 빨리 수정하십시오. 필요한 경우 리팩터링하십시오. 이로 인해 버그가 줄어들고 불필요한 조정이 이루어집니다.
Pierre 303의 답변 을 읽는 것을 잊지 마십시오 .
"너무 많은"조정 및 변경 사항은 무엇입니까? 소프트웨어 유지 관리 는 소프트웨어 의 초기 개발보다 훨씬 많은 시간이 걸릴 수 있습니다. 아무 문제가 없습니다. 체계적으로 관리하려면 이슈 트래커를 사용하십시오 .
어쨌든, 당신은 물론 처음에는 가능한 한 좋게 만들고 싶을 것입니다. 이를 위해 테스트를 능가하는 것은 없습니다 .