- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Swift中17条最佳实践规范
这篇文章讲述的范围主要针对 Swift 语言以及 Swift 标准库。即便如此,如果能提出一个独特的 Swift 的视角和见解,我们依然会提供诸如 Swift 在 Mac OS、iOS、 WatchOS 以及 TV OS 上使用的特别建议。而如何在 Xcode 和 LLDB 上有效地使用 Swift,这样的建议也会以 Hints tips 的风格提供。 这是工作时的一系列笔记整理出来的。文中大多数建议是经过深思熟虑的,但仍可以有其他类似的解决方法。 这个最佳实践不是强加或者推荐 Swift 在程序、面向对象或者函数风格上的应用。更重要的是,这里要讲述的是务实的方法。如有需要的话,某些建议可能会集中在面向对象或者实用的解决方法。 这个过程需要付出很多的努力,非常感谢为本文做出贡献的那些人。 此外,可以在[Swift-Lang slack]里面讨论。 请先确保所有的示例是可以运行的(某些示例可能不是正确)。这个 markdown 能够转换成一个 Mac OS X playground。 1. 一般来说,Apple 都是正确的,遵循 Apple 喜欢的或者示范的处理方式。在任何情况下,你都应该遵循 Apple 的代码风格,正如他们The Swift Programming Language 这本书里面的定义一样。然而 Apple 是个大公司,我们将会看到很多在示例代码中的差异。 2. 永远不要仅仅为了减少代码量而去写代码。尽量依赖Xcode中的自动补全代码,自动建议 , 复制和粘贴。详尽的代码描述风格对其他代码维护者来说是非常有好处的。即便如此,过度的冗余也会失去 Swift 的重要特性:类型推断。 1.命名 正如 Swift Programming Language 中的类型名称都是以大驼峰命名法命名的(例如:VehicleController)。 变量和常量则以小驼峰命名法命名(例如:vehicleName)。 你应该使用 Swift 模板去命名你的代码而不是使用 Objective-C 类前缀的风格(除非和 Objective-C 接连)。 不要使用任何匈牙利标识法( Hungarian notation )命名(例如:k为常量,m为方法),应使用简短的命名并且使用 Xcode 的类型 Quick Help (01.png+ click) 去查明变量的类型。同样地,不要使用小写字母+下划线( SNAKE_CASE )的命名方式。 唯一比较特别的是 enum 值的命名,这里需要使用大驼峰命名法(这个也是遵循 Apple 的 Swift Programming Language 风格): 1 2 3 enum Planet { case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune } 在所有可能的情况里,名称的不必要减少和缩写都应该避免,将来你应该能在没有任何损害和依赖 Xcode 的自动补全功能的情况下,确切地指出类型特征 ViewController 。非常普遍的缩写如 URL 是允许的。缩写应该用所有字母大写( URL )或者所有字母小写( url )表示。对类型和变量使用相同的规则。如果 url 是个类型,则应该为大写,如果是个变量,则应该为小写。 2.注释 注释不应该用来使代码无效,注释代码会使代码无效且影响代码的整洁。如果你想要移除代码,但是仍想保留以防代码在以后会用到,你应该依赖 git 或者 bug tracker 。 3.类型推断 在可能的地方,使用Swift的类型推断以减少多余的类型信息。例如,正确的写法: 1 var currentLocation = Location() 而不是: 1 var currentLocation: Location = Location() 4.Self 推断 让编译器在所有允许的地方推断 self 。在 init 中设置参数以及 non-escaping closures 中应该显性地使用 self 。例如: 1 2 3 4 5 6 7 struct Example { let name: String init(name: String) { self.name = name } } 5.参数列表类型推断 在一个闭包表达式( closure expression )中指定参数类型可能导致代码更加冗长。只有当需要指定类型时。 1 2 3 4 5 6 7 8 9 10
您可能关注的文档
- K96192——Study on reconstruction of acetic anhydride azeotropic distillation column Internal parts.pdf
- 理光MP500维修资料.pdf
- Eclipse最常用快捷键--一定要很熟悉.doc
- 2014年sat写作题目汇总.doc
- 广东工业大学华立学院大英四清考复习资料2.doc
- 江苏译林牛津m10u3words+and+expressions.doc
- HSA 零件.pdf
- snmp协议学习总结.doc
- 2014年大学英语三级考试模拟冲刺试题及答案(一).docx
- 网工1203-熊健羲 实验二 SNMP实践.doc
最近下载
- 2025年执业药师之西药学专业一模考预测题库(夺冠系列).docx VIP
- ISO 15614-13 2023 金属材料焊接工艺规程及评定 电阻对焊和闪光焊(中文版).pdf
- 过敏性休克抢救指南2025版.docx
- 扩张型心肌病的护理查房课件.pptx VIP
- 第一章 食品工艺学导论.ppt VIP
- 系统性红斑狼疮(共44张PPT).pptx VIP
- 3.1 标志设计 (课件)人教版七年级美术上册.pptx VIP
- genesis2000脚本编写,Perl╱TK常见问答中文版.pdf VIP
- 2024《广西农产品电商物流SWOT-PEST分析及发展策略研究(数据图表论文)》16000字.docx VIP
- 剑桥国际少儿英语KB1第1-12单元文本-(英汉版).pdf VIP
文档评论(0)