2009-09-01 3 views
1

필자는 복사/붙여 넣기가 업계에서 가장 나쁜 사례 중 하나라고 생각합니다.복사/붙여 넣기 코드에서 도입 된 오류 수를 측정 할 수있는 방법이 있습니까?

코드 스 니펫을 복사하여 붙여 넣기해도 괜찮습니다. 이것이 대부분의 코드가 처음부터 배우는 방법이며, 많은 시간을 절약합니다.

분명히 해로운 것은 (적어도 내 관점에서는) 동일한 프로젝트 내의 클래스 또는 파일에서 코드의 한 섹션을 복사하는 것입니다. 거의 동일한 일을 수행하지만 한두 줄의 미묘한 변화가있는 코드 조각.

생산에 몇 달이 지난 후에도 여전히 베타 버전으로 변경되면 문제가 발생합니다. 동일한 코드가 아니기 때문에 동일한 변경 사항을 적용 할 수 없거나 어떤 이유로 동일한 패치가 작동하지 않는 것처럼 보입니다 (몇 시간 후에 중간 호출이 수행되거나 그와 비슷한 것까지)

주제에 대한 내 느낌이지만, 그것에 관한 연구가 있거나 관련이 있는지 실제로 알지 못합니다.

Q.

사람이 복사/붙여 넣기 코드에 의해 생성 된 참조/종이/기사/연구 또는 손상에 대한 이야기 ​​어떤이 있습니까?

관련 :

Is copy-and-paste coding ever acceptable? https://stackoverflow.com/questions/181549/how-often-do-you-make-errors-by-copying-and-pasting-code

+3

동일한 프로젝트 내에서 코드를 복사/붙여 넣는 경우 리팩토링과 코드를 함수로 끌어 와야합니다. – EBGreen

+0

그건 정확히 내가 말하는 것입니다. 그리고 당신은 그들 사이에서 변화하는 모든 작은 것들을 매개 변수화해야합니다. – OscarRyz

+0

관련 질문 - 답변 됨/http://stackoverflow.com/questions/2490884/why-is-copy-and-paste-of-code-dangerous – Oded

답변

0

Andy Hunt and Dave Thomas on the DRY principle

Sometimes I Repeat Myself

나는 CPD from PMD 같은 정적 분석 도구를 시도하는 것이 좋습니다.

+0

와우, 이것이 downvote 가치가 있다고 생각하지 않았다! – Instantsoup

+0

아마 아무도 downvote의 가치가 있다고 생각하는 답변을 게시하지 않을 것입니다. 그래서 그것이 다운 voting을위한 기준이라면 아무도 얻을 수 없을 것입니다. – EBGreen

+0

사실입니다. 몇 가지 더 downvotes 그리고 나는 그것을 삭제하기위한 배지를 얻을 수 있습니다! – Instantsoup

관련 문제