【发布时间】:2017-06-21 14:10:02
【问题描述】:
我是一个相对较新的程序员,维护着旧代码库。我遇到了一种模式,但我不太确定它对我是否有意义。假设我有一个类(我们称之为 OutputClass)处理写入日志文件并创建 XML 文件以供其他系统使用。
现在,在代码中的几个地方,OutputClass 得到了证实,并被发送了一些对象(称为 A、B 和 C)。例如(这是在 VB 中,但适用于任何语言):
Call ObjectClass.WriteFile(A, B, C)
然后在 OutputClass 中,我有这段代码:
Public Sub WriteFile(A as ObjType1, B as ObjType2, C as ObjType3)
Call WriteThisFile(A, B, C)
End Sub
Private Sub WriteThisFile(A as ObjType1, B as ObjType2, C as ObjType3)
'do stuff
End Sub
如果我们只是将在公共方法中接收到的参数作为参数传递给私有方法,那究竟能完成什么?我想我理解公共与私人的目的,但也许不是? TIA 寻求帮助。
必填:我查找了相关问题,但找不到我要查找的内容。
【问题讨论】:
-
FWIW,我从未见过如此多余的反射。通常,在将参数传递给允许假设输入有效/安全的私有函数之前,需要对参数进行清理或验证。
-
可能只是重构类的人留下的一些工件。
WriteFile可能曾经做过一些有意义的事情,但被删除了,但程序员在删除了所有其他代码后将其留在那里。 -
这是有道理的。所以假设公共方法没有做任何特别的事情,删除它,将私有方法设为公共,然后让其他代码直接调用它可能是安全的?
标签: oop