Wikipedia에서 " Rule of Three "라는 기사 를 보았습니다.
3의 규칙은 복제 된 코드 조각이 새로운 프로 시저로 대체되어야하는시기를 결정하기위한 코드 리팩토링 경험 법칙입니다. 코드를 한 번 복사 할 수 있지만 동일한 코드를 세 번 사용하면 새 프로 시저로 추출되어야합니다. 이 규칙은 Martin Fowler가 리팩토링에 도입했으며 Don Roberts에 귀속되었습니다.
나는 이것이 단지 경험의 법칙이라는 것을 알고 있지만 왜 두 번째 복제 후에 만 리팩토링하는 것이 권장됩니까? 첫 복제를 작성할 때 리팩토링에 단점이 있습니까?
2
다른 관점 세트에 대해서는 불가능한 숫자 및 0- 무한도 규칙 이 2를 참조하십시오 .
—
AakashM
소프트웨어 개발에 관해 이야기 할 때, 원래 Wiki는 종종 Wikipedia보다 훨씬 좋은 소스입니다. 결국 Ward Cunningham 은 소프트웨어 개발에 관해 이야기하기위한 수단으로 Wiki를 발명했습니다 . 참조 C2.Com/cgi/wiki?RuleOfThree
—
요 르그 W MITTAG
재사용을위한 두 가지 시나리오가있는 경우 로직을 쉽게 분기 할 수 있습니다 (있는 경우). 3 개의 가능한 경로에 도달하면 복제 및 유지 관리하는 것보다 리팩토링하기가 쉬워집니다.
—
앤드류 루이스
실제로 리팩토링하고 일반화 할 수있는 복사 붙여 넣기에 대한 편리한 변명이라고 생각합니다. 세 번째 사례를 받으면 더 일반화 할 수 있습니다.
—
Alexey