0

假设我们有一个调用另一个的方法。

public readXMLFile()  {
    // reading each line and parsing each line to return node.
   Node = parse(line);
}

private parse() {

}

现在使用像“readXMLFileAndParse”这样更全面的函数名称是一个好习惯吗?Pro's:它为调用者提供了更全面的信息,说明该函数应该做什么。其他客户可能想知道它是否只读取“解析”实用程序在哪里。

换句话说,我看到了一个函数名的明显优势,即全面包含嵌套在其中的所有活动。这是正确的做法,也就是这被认为是一种好习惯吗?

4

2 回答 2

3

指导方针是每种方法只能有一项工作(单一职责)。但是,这将导致命名问题,其中方法将返回子方法组合的结果。

因此你应该命名它来描述它的主要功能:解析文件。读取文件是其中的一部分,但它对最终用户来说并不重要,因为它牵涉其中。

再说一次,您必须考虑这究竟意味着什么:没有人只是为了解析文件而解析文件。你检索数据吗?你写数据吗?

你应该描述你对该文件的操作,但不能像“readfile”或“parsefile”那样描述。 RetrieveCustomers如果您正在阅读客户,则会更具描述性。

public List<Customer> RetrieveCustomers() {
 // loop over lines
 // call parser
}

private Customer ParseCustomer() { }

如果您要分享您要解析的确切内容,那将有很大帮助。

于 2013-10-31T00:34:00.727 回答
0

我认为这取决于您的课程的复杂性。由于方法是private,理论上没有人应该关心。命名它的描述性足够好,这样你就可以在 6 个月后阅读你自己的代码,然后停在那里。

public另一方面,方法应该有很好的名称和有据可查的文档。那里的额外描述性不会受到伤害。

于 2013-10-31T00:36:31.413 回答