美文网首页
iOS 使用清晰而协调的命名方式

iOS 使用清晰而协调的命名方式

作者: Wougle | 来源:发表于2018-01-28 13:02 被阅读0次

    类、方法及变量的命名是Objective-C编程的重要环节。通常会觉得OC的语言很繁琐,因为其语法结构使代码读起来和句子一样。

    NSString *text = @"The quick brown fox jumped over the lazy dog.";
    NSString *newText =  [text stringByReplacingOccurrencesOfString:@"cat" withString:@"fox"];
    

    此段代码看起来比较繁琐,但是准确的表达了开发者想做的事。在命名不像OC这般复杂的语言中,类似的程序可能会这样写

    string text = @"The quick brown fox jumped over the lazy dog.";
    string newText =  text.replace("cat", @"fox");
    

    这样写虽然简单,但是可能会疑惑:这两个参数是如何解读呢?是fox替换cat,还是cat替换fox;还有一个疑问:replace这个函数是把text里出现的所有fox都替换,还是只替换出现的第一个?其名称没有清楚地表达出这些意思。而OC的命名方式虽然长了一点,但是却非常清晰。

    方法与变量名使用了“驼峰命名”,以小写字母开头,其后每个单词首字母大写。类名也用驼峰命名发,不过其首字母需要大些。
    关于驼峰命名法,我推荐《禅与 Objective-C 编程艺术》

    随说使用长名字可以使代码更易读,也应该尽量言简意赅。
    NSString类展示了一套良好的命名习惯。
    +string
    工厂方法,用于创建新的空字符串
    +stringWithString
    工厂方法,根据某字符串创建出与之内容相同的新字符串。
    +localizedStringWithFormat
    工厂方法,根据特定格式创建出新的“本地化字符串”。
    等等。。。
    使用方法命名时,注意几条规则:
    1.如果方法的返回值是新创建的,那么方法名的首个词应是返回值类型,除非前面还有修饰语,例如localizedString。属性的存取方法不遵循这种命名方式,因为一般认为这些方法不会创建新的对象,即便有时返回内部对象的一份拷贝,我们也认为那相当于原有的对象。
    2.应该把表示参数类型的名词放在参数前面。
    3.如果方法要在当前对象上执行操作,那么就应该包含动词;若执行操作时还需要参数,就在动词后面加上一个或多个名词。
    4.不要使用str这种简称
    5.Boolean属性应该加is前缀。如果某方法返回非属性的Boolean值,那么应该根据其功能,选用has或is前缀。
    6.由“输入输出”来保存返回值的方法用get前缀。

    类与协议的命名
    命名方式应该协调一致。如果从其他框架中继承子类,那么务必遵循其命名惯例,例如,继承自UIView的自定义子类,那么累名末尾的词必须是view

    总结:
    1.起名时应遵从标准的Objective-C命名规范,这样创建出来的接口更容易为开发者所理解。
    2.方法名要言简意赅。
    3.方法名里不要使用缩略后的类型名称。

    读Effective Objective-C 2.0 有感

    相关文章

      网友评论

          本文标题:iOS 使用清晰而协调的命名方式

          本文链接:https://www.haomeiwen.com/subject/nywaaxtx.html