我有两个功能,它们目前正在做同样的事情。将来,我很可能需要为一个功能添加更多功能,但目前它们的功能相同。
private function GetAnswerId( $value, $fieldId )
{
// Code goes here, returns something
}
private function GetQuestionId( $value, $fieldId ); // Currently same code as GetAnswerId... But might change later!
是否有一些聪明的方式与未来的开发人员沟通,好吧这个功能目前是相同的实现,但将来它不会..我不想只是复制GetAnswerId中的代码,因为那是干涸的。但我也不想使用相同的功能,因为这不是前瞻性思维。
虚拟?抽象?类似的东西:S
答案 0 :(得分:1)
在第二个函数中调用第一个函数并从那里展开:
private function GetQuestionId( $value, $fieldId )
{
GetAnswerId( $value, $fieldId );
// extra code
}
答案 1 :(得分:1)
将您的重复功能移至基类:
class BaseClass
{
protected function getId($value, $fieldId) {
...
}
}
使用一种方法getId()
代替GetAnswerId()
和GetQuestionId()
。稍后,如果您要决定问题ID的更改功能,只需将新方法添加到当前类:
class CurrentClass extend BaseClass
{
protected function GetQuestionId($value, $fieldId) {
...
}
}
答案 2 :(得分:0)
在您的情况下,我会向您的函数添加一些文档,说明计划很快改变其行为并调用此函数并返回GetAnswerId
的值。
private function GetQuestionId($value, $fieldId)
{
return $this->GetAnswerId($value, $fieldId);
}