我有一个代表考试的类,它可以开始/重置/暂停考试,所以方法如下:
- (void)startExam;
- (void)resetExam;
- (void)pauseExam;
但据我所知,如果方法名称以某个名词结尾,它应该有该名词的参数,例如:
- (void)startExam:(Exam *)exam;
但是在这种情况下,该类被命名为“Exam”,所以当使用该类时,人们会知道该对象是一个考试,所以似乎更好的命名方式是:
@interface Exam : NSObject
- (void)start;
- (void)reset;
- (void)pause;
@end
所以我可以使用如下:
Exam *exam = [[[Exam alloc] init] autoreleased];
[exam start];
看起来比:
[exam startExam];
或者
[exam examStart];
但这看起来确实太通用了,我觉得 NSObject(或任何超类)将来可能会添加同名的方法,例如,Java 对象有 notify、notifyAll、wait 和子类不应该覆盖这些其他目的。这在Objective C中也是如此吗?
那么在这种情况下,最好的命名约定是什么?
谢谢!