正确的Objective-C类命名方法?

时间:2011-07-28 17:15:15

标签: objective-c cocoa naming-conventions

如何调用类以获取时间轴自定义视图?我的项目前缀是HM

HMTimelineView

HMTimeline

我不应该使用后缀View命名任何视图类吗?但为什么它是NSButtonNSImage**View**

5 个答案:

答案 0 :(得分:2)

对我来说,HMTimeline听起来好像它可能是一个模型对象,所以我建议使用“View”后缀,但这是你必须根据你的想法做出的决定让你的代码更容易理解。< / p>

可能有关于此的命名规则,我不知道,但我相信NSButton不被称为NSButtonView,因为一个按钮本质上是一个客户端可见的接口对象 - 它不提供特定的模型对象和不太可能对模型对象感到困惑,所以省去后缀很方便。

答案 1 :(得分:1)

如果您的对象只是一个视图,那么您可以将视图放在它的末尾。 NSButtonNSImageView之间的差异是因为NSButton有一个视图,它本身不仅仅是一个视图,它是一个按钮:P。 NSImageView是图像的视图,它有一个图像,但是是查看图像的对象。

也没有“正确”的方式。与HMTimeline进行比较后使用HMTimelineView不会破坏您的代码。它只是帮助开发人员理解对象是什么的一种方式。

答案 2 :(得分:1)

如果它是从UIView继承的

然后

     HMTimelineView will be best

如果它是从NSObject继承的

然后

      HMTimeline will be best.

你必须明白

每当有人去使用像HMTimelineView,HMTimeline这样的urCustom对象时,他们就会自动了解

   "oh it would be from View" -for HMTimelineView.

   "oh it would be from NSObject" -for HMTimeline.

答案 3 :(得分:1)

“查看”后缀在Cocoa中使用不一致。一般来说,NSControl及其公共子类不使用“视图”,但存在一些不一致(如NSText)。通常,呈现内容的视图(我假设“时间轴视图”)应该具有“视图”后缀。

答案 4 :(得分:0)

这高度取决于您的偏好,我猜,以及构成您的应用程序的整个类名的可理解性。很大程度上还取决于您将通过查看其他代码的编写方式来学习的约定,主要是相同的SDK。

我认为HMTimelineViewHMTimeline更易理解。您还必须考虑可能会有HMTimeLineViewController,因此HMTimeLime可能不明确。如果您愿意,可以考虑这一点:视图,控制器和模型在设计模式(MVC)中发挥作用,因此使用后缀标识它们很有用。对于委托类也可以这样说,后缀也是常用的。

关于NSButton,它肯定来自NSView,但其直接类是NSButton;所以,从某种意义上说,我认为它的“控制性”在视角上占优势,NSButtonUIButtonView更容易理解。

希望这有帮助。