美文网首页
Swift注释命名

Swift注释命名

作者: Aiden_Xi | 来源:发表于2016-07-22 23:20 被阅读1228次

    第一次写东西发布到网络上,还是有点小激动的。 不久之前加入了一个读书分享群。 里面很多人都说读了一定要总结出来,那样才能让自己学到的更多。于是乎,我有了写东西的冲动。 最近一直在学习Swift,现在就写写在Swift里面本人理解的注释风格。

    注释:

    有一个众所周知的工具 (VVDocument)

    // 单行注释
    
    /// 单行注释(三个斜杆的单行注释可以生成注释文档, 如果在开发中建议使用)
    
    //!< 单行注释 (一般在枚举类型里面在case后面使用)
    
    /*! 单行注释 */
    
    /* 多行注释 */
    
    /** 多行注释 */
    
    
    ///单行注释--尾行注释一般在枚举中使用
    enum Test: Int {   
      web =1,//!<   web类型    
      shop =2,//!<  商铺活动  
    };
    

    文档注释

    在注释里面使用**包括好的文字会粗体显示

    Parameter 参数说明关键字

    Throws: 抛出异常关键字

    Returns: 返回对象

    /// There are a few keywords Xcode can recognize automatically. The format is like **- <Keyword> -**:. The most common use one is **Parameter**, **Throws** and **Returns**.
    /// **参数第一种写法**:
    /// - Parameter item1: This is item1
    /// - Parameter item2: This is item2
    /// **参数第二种写法**
    /// - Parameters:
    ///   - item1: This is item1
    ///   - item2: This is item2
    /// - Throws: `MyError.BothNilError` if both item1 and item2 are nil.
    /// - Returns: the result string.
    func showKeywordsCommentsWithItem1(item1: AnyObject?, item2: AnyObject?) throws -> String {
        
        if item1 == nil && item2 == nil{
            throw MyError.BothNilError
        }
        
        let text = "There are a few keywords Xcode can recognize automatically."
        return text
    }
    
    
    /// Some meta information can be added into the comment documentation using **author**, **authors**, **copyright**, **date**, **since**, **version**
    ///
    /// This is an example
    /// - Author: xixiaoyu
    /// - Authors: All the geeks in the world:)
    /// - Copyright: xixiaoyu@2016
    /// - Date: 2016-07-22
    /// - Since: iOS 6
    /// - Version: 1.0.0
    func test() -> String{
        let haha = "Hello Swift"
        return haha
    }
    

    超链接

    空格只是为了显示,在项目注释中不需要空格
    在注释中使用[] ()中括号里面是跳转名称,小括号里面是URL, 当我们点击xxx的时候 会在默认的浏览器中打开url所指定的网页。 例如:
    Whelcome to imooc.

    在注释中添加显示图片! [] () 中括号里面是logo名称, 小括号里面是logo的URL。
    例如:


    Swift logoSwift logo

    关键字

    TODO

    在开发的过程中遇到一个问题的时候,有可能我们需要放哪里过会再来处理,那我们可以使用关键字 TODO来进行标记

    MARK

    在一个文件里面可以使用MARK来对不同的方法进行分类区分

    FIXME

    FIXME 标记

    命名规则

    使用可读的驼峰命名法去给类 方法 变量 命名。 class struct protocol enum 应使用大写,变量名使用小写。

    /// 变量常量命名
    let testCount = 100
    
    /// 类命名
    class TestClass { 
    }
    
    /// 结构体命名
    struct TestStruct {
    }
    
    /// 枚举命名 使用首字母小写的驼峰命名法给每个case命名
    enum TestEnum {
      case test1
      case test2
    } 
    /// 协议命名遵循Apple's API DesignGuidelines使用名词来描述, 如 ing able ible, 
    protocol Prizable{
        func isPrizable() -> Bool
    }
    
    protocol Moving {
      func isMoveing() -> Bool
    }
    
    

    空格 空行

    • 空格:
    1. 在运算符前后空格 let p = 3 + 4
    2. 逗号后面空格。
    3. 左大括号前空格 (右大括号另起一行)
      func test(number: Int) {
      }
    4. 定义常量、变量时冒号后面空格, 冒号前面顶着常量变量。 let test: Int = 2
    5. 必包的大括号里面包含的内容需要前后空格。
      func ==(s1:Student,s2:Student) -> Bool { return s1.score == s2.score }
    • 空行:
    1. 在右大括号之后如果还有方法需要空行,如果没有则无需空行
    2. 代码块缩进原则
    struct Student: CustomStringConvertible, Equatable, Comparable, Prizable {
        var name: String
        var score: Int
        var description: String{
            return name + "Score: " + String(score)
        }
        
        func isPrizable() -> Bool {
            return score >= 60
        }
    }
    

    推荐

    if person.isHave {
      // Do
    } else {
      // Do else
    }
    

    不推荐

    if (user.isHappy ) 多余空格
    {                  换行位置不对
      // Do something
    }
    else {
      // Do something else
    }
    

    类型定义 (转自: )

    尽可能的使用swift自带类型,在必须的时候才做桥接 ,String-> NSString , Set->NSSet

    能使用let尽量使用, 一般情况下不建议到处使用var

    不要定义常量变量使用关键字
    尽量let foo = something 而非 var for = somthing

    let-有保障 并且它的值的永远不会改变,对同事也是个 清晰的标记,对于它的用法,之后的代码可以做个强而有力的推断。更容易明白代码的含义。否则的话一旦你用了 var,还要去考虑值会不会改变,这时候你就不得不人肉去检查。

    这样,无论何时你看到 var,就假设它会变,并找到原因。

    类型推断

    Swift是高安全性语言,能让系统推断的类型不要显示指明, 空的字典和空数组的类型 使用类型标记 加强语义
    如:

    /// 推荐
    let testString = "Hello"
    var names: [String] = []
    var lookup: [String: Int] = [:]
    /// 不推荐
    let testString: String = "Hello"
    

    参考自

    GitHub
    献给写作者的 Markdown 新手指南
    Swift-Code-Style

    相关文章

      网友评论

          本文标题:Swift注释命名

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