2010-02-24 4 views
7

프로그래밍 시간의 몇 %를 디버깅에 소비합니까? 특정 프로그래밍 매체의 수용 가능한 비율은 무엇이라고 생각하십니까?프로그래밍 시간의 몇 %를 디버깅에 소비합니까?

+0

위키일까요? –

+2

주관적입니다. 이것에 대한 정답은 없습니다. – Oded

+0

버그는 언제 버그이며 언제 미완성 기능입니까? – Benjol

답변

3

이제는 단위 테스트가 많지 않습니다. 테스트를 작성하고 실패한 테스트를 디버깅 시간으로 수정하는 데 소요되는 시간을 계산하지 않으면 않는 한 실제로는 그렇지 않습니다. 이제는 테스트가 실패한 이유를 확인하기 위해 코드를 단계별로 실행해야하는 경우는 거의 없습니다.

디버깅에 소요되는 시간은 코드베이스에 따라 다릅니다. 너무 높으면 다른 문제의 증상 일 가능성이 큽니다. 적절한 예외 처리, 로깅, 테스트, 반복성 등의 부족. "너무 높음"으로 간주되는 것은 주관적입니다.

오류를 디버그해야 할 경우 오류가 다시 발생하지 않도록 오류를 수정하기 전에 실패한 테스트를 생각하십시오.

내가 수행해야했던 최악의 상황은 테스트없이 완전히 작성된 크고 복잡한 시뮬레이션이었습니다. 때로는 달리기에 실패하고 중단 점을 설정하고 실행을 시작하고 30 분 이상 기다리는 것과 관련된 충돌을 재현하기도합니다. 그런 다음 변경하고 반복하십시오. 적의 사기와 생산성을 파괴하는 상황에 처하지 마십시오.

1

견고한 답을 줄 수는 없지만 소프트웨어를 작성할 때 매우 다양합니다. 소프트웨어의 복잡성은 디버깅 시간을 증가시킬 수 있습니다. 예를 들어, 코드베이스가 매우 크고 코드 자체가 잘못 작성되면 디버깅에 소요되는 시간이 늘어날 수 있습니다.

디버깅 시간을 줄이는 한 가지 방법은 단위 테스트를 작성하는 것입니다. 나는 이것을 한동안 해왔고 고객에게 배포되는 버그의 수를 줄이는 데 도움이된다는 것을 발견했습니다.

9

내 시간의 약 90 %는 일한 적이없는 직장 동료의 코드를 리팩토링하거나 다시 작성하는 데 사용되지만 여전히 GIT에게 "근무 중"이라고 약속되었습니다.

관리가 좋지 않아이 (상당히 큰) 회사에서 나쁜 사기로 설명 될 수 있습니다. 내 제안에 대한

경영진의 의견 :

  • 단위 테스트 : 금지는 너무 많은 시간이 걸립니다.
  • 개발 환경 : 예비 서버가없고 라이브 데이터를 처리하는 데 문제가 없으므로 조심해야합니다.
  • 품질 보증/테스트 : 개발자는 자체 테스트가 가능하므로 별도의 테스터가 필요하지 않습니다.
  • 객체 지향 프로그래밍 : 너무 복잡하여 새로운 프로그래머는 코드를 충분히 빨리 이해할 수 없습니다.
  • 글쓴이 : 너무 많은 시간을 들여 프로그래머에게 우리가 직접 필요한 것을 만들라고 말하는 것이 더 쉽습니다.
  • 개발자 교육 : 너무 비싸고 프로그래머는 교육을받는 동안 작업 할 수 없습니다.
+5

아직 stackoverflow 직업을 보셨나요? ;) – Yukiko

+7

아참. 그들은 "회사를 바꿀 수 없다면 회사를 바꿀 수 있습니다"라고 말하면서 – Anthony

+1

무엇에 대해 불평하고 있습니까?그들은 자식을 사용할 수있게 해줍니다! git가 새로운 프로그래머에게는 너무 복잡하기 때문에 사용자가 VSS를 사용해야 할 수도 있습니다. (또는 악화, 그들은 소스 제어가 너무 많은 시간이 걸릴 것이라고 말할 수 있습니다.) – Benjol

관련 문제