의 우리가 적어도 하나는 다소 복잡한 성격 인의 그것에 몇 가지 방법과 클래스가 있다고 가정 해 봅시다 : 함수를 올바르게 구조화하는 방법은 무엇입니까?
class Example {
public function Example()
{
}
private function complexFunction():void
{
//Do this
//And do that
//And of course do that
//and do not forget that
}
private function otherImportantFunction():void
{
//Do something
}
//[...]
}
지금 "complexFunction는()"꽤 길고도 조금 복잡 성장했다. 따라서 가독성을 높이려면 작은 하위 함수에서 "complexFunction()"을 분리하는 것이 좋습니다. 나는 보통 이런 식으로 작업을 수행합니다
class Example {
public function Example()
{
}
private function complexFunction():void
{
doThis();
doThat();
andOfCourseDoThat();
andDoNotForgetThat();
}
private function doThis():void
{
//Do This
}
private function doThat():void
{
//Do That
}
private function andOfCourseDoThat():void
{
//And of course do that
}
private function andDoNotForgetThat():void
{
//And do not forget that
}
private function otherImportantFunction():void
{
//Do something
}
//[...]
}
하지만 지금 클래스가 이미 그의 유일한 목적 사소한 기능에 익사에 의한
는 내부에 한 번 전화를받을 것입니다 "complexFunction()". 이 "분할 (split-up)"을 좀 더 자주 수행하면 모든 도우미 기능들간에 중요한 방법을 찾아내는 것이 어려워집니다.적어도이 모든 일은 항상 저에게 일어나며 선명도는 실제로 그것을 겪고 있습니다. 그 딜레마를 해결할 방법을 안다면 저를 궁금하게 생각하십니까? 분명히 이것을 처리하는 방법 또는 '우수 사례'가 있습니까? 나는 그 목적을 위해 전혀 새로운 클래스를 만들지 않고, 함수를 함께 그룹화하거나, 보조 함수를 상위 클래스에 종속시키는 방법을 꿈꾸고있다. 아니면 어떻게 끝났습니까?
재사용 가능한 코드 용 함수 만 쓰려고합니다. 함수가 "마스터 함수"에 의해 한 번만 호출 된 경우 함수가있는 것이 좋습니다. 복잡한 함수를 주석 처리하면 읽는 것이 더 쉬울 수도 있습니다 ... –
그리고 "마스터 함수"내부에서 두 번 이상 호출 되었습니까? –
그럼 분명히 코드를 복제해서는 안되지만 함수를 작성해야합니다 ... –