因此,我正在处理这个类,它应该通过web服务从供应商请求帮助文档。我试着把它命名为documententretriver, VendorDocRequester, DocGetter,但它们听起来不太对。最后,我在dictionary.com网站上浏览了半个小时,试图找到一个合适的词。

带着坏名字开始编程就像早上头发很糟一样,接下来的一天就会每况愈下。感觉我吗?


当前回答

不仅仅是命名一个类,创建一个适当的包结构可能是一个困难但有益的挑战。您需要考虑分离模块的关注点,以及它们与应用程序愿景的关系。

现在考虑应用的布局:

应用程序 VendorDocRequester(从web服务读取并提供数据) VendorDocViewer(使用请求程序提供供应商文档)

我冒昧地猜测,在一些课程中发生了很多事情。如果你将其重构为一种更加mvc化的方法,并允许小类处理单独的任务,你可能会得到如下结果:

应用程序 VendorDocs 模型 文档(保存数据的普通对象) WebServiceConsumer(处理web服务中的细节) 控制器 DatabaseAdapter(使用ORM或其他方法处理持久化) WebServiceAdapter(利用Consumer抓取文档并将其插入数据库) 视图 HelpViewer(使用DBAdapter输出文档)

然后,类名依赖于名称空间来提供完整的上下文。类本身可以固有地与应用程序相关,而不需要显式地这样说。因此,类名更简单,更容易定义!

另一个非常重要的建议:请帮自己一个忙,拿起一本《Head First Design Patterns》。这是一本非常棒的,易于阅读的书,将帮助您组织应用程序并编写更好的代码。欣赏设计模式将帮助您理解您遇到的许多问题已经得到解决,并且您将能够将解决方案合并到您的代码中。

其他回答

不应该以供应商文档为对象吗?我的意思是,这是有形的,而不仅仅是一些拟人化的项目的一部分。因此,您可能有一个VendorDocumentation类,该类具有一个获取信息的构造函数。我认为,如果一个类名包含一个动词,通常是出了问题。

投资一个好的重构工具!

这是有编码标准的原因之一。有一个标准往往有助于在需要时想出名字。它有助于解放你的思想,让你去做其他更有趣的事情!(-):

我建议阅读Steve McConnell的《Code Complete》(Amazon链接)的相关章节,其中介绍了一些有助于提高可读性甚至可维护性的规则。

HTH

欢呼,

Rob

在“一个词”中总结方法/类,回答它的意思是什么? 这个词应该没有对应的词。

在编程时,我也花了很多时间担心任何可以命名的东西的名称。不过我得说这很值得。有时,当我陷入困境时,我会把它放在一边,在喝咖啡休息的时候,我会问问周围的人是否有好的建议。

对于你的课程,我建议VendorHelpDocRequester。