首页
学习
活动
专区
圈层
工具
发布

成为更好的 Swift 开发者的 10个Tips(译)

你是否已经用 Swift 开发了几个月,现在,你想成为一个更好的 Swift 开发者?少年,你来对了地方,我这里有一本失传多年的武林秘籍传授于你。 不要在意代码的格式,我想尽我所能保持代码的简洁。以至于可以是你方便的拷贝到playground 来进行代码验证。

废话不多说,让我们愉快的开始一段 Swift 体验之旅吧。

1、Extension

求平方

1. 普通版本

2. 进阶版本

总结

1. 普通版本:如果想要对同一个数进行多次求平方,还需要创建多余的局部变量,而且代码比较冗余。

2. 进阶版本:通过给 Int 添加一个 extension,然后在 extension 中给 Int 添加一个计算属性。这样无需创建多余的局部变量即可获取平方值。

2、Generics

1. 普通版本

2. 进阶版本

总结

1. 普通版本:每个类型都要定义一个 function,但是每个function 的功能都是一样的,这样就造成了代码冗余。

2. 进阶版本:只定义一个 function,每个类型都可以使用。

3、For Loop vs While Loop

输出“Count”5次

1. 普通版本

2. 进阶版本

总结

1. 当我们不需要使用循环中的变量时,我们可以使用和来代替。

2. 记住:变量越多->问题越多->bug越多。

4、Optional Unwrapping

Gaurd let vs if let (新用户登录逻辑)

1. 普通版本

2. 进阶版本

译者注:

总结

1. 普通版本代码结构嵌套冗余,进阶版本更加一目了然。

2. 在判断一些前提必要条件的时候,推荐使用。

5、Computed Property vs Function

计算直径

1. 普通版本

2. 进阶版本

总结

1. 普通版本:创建了两个互转函数,代码冗余且没有对 radius 和 diameter 建立内在联系。当你修改 diameter 的时候,相应的 radius 并没有跟着修改。

2. 进阶版本:通过计算属性实现两者内在逻辑关联,当 diameter 改变的时候,radius 会跟随相应改变。

6、Enum to Type Safe

买票

1. 普通版本

2. 进阶版本

总结

1. 普通版本:通过硬编码的方式来判断字符串,不易维护且代码可读性不高。很可能漏掉某个条件而造成 bug。

2. 进阶版本:创建来实现所有条件,当你在 switch 中漏掉某个 case 的时候,编译器会提示错误,强制你判断所有 case。这样可以减少 bug,使代码更健壮。

7、Nil Coalescing

选择颜色

1. 普通版本

‍

2. 进阶版本

总结

使用设置可选类型变量的默认值,减少冗余代码。

8、Conditional Coalescing

计算 height

1. 普通版本

2. 进阶版本

总结

通过三目运算符来减少代码量,使逻辑更加清晰。

9、Functional Programming

获取偶数值

1. 普通版本

2. 进阶版本

总结

使用替代上面的。这里也推荐大家更多的使用高阶函数。

10、Closure vs Func

1. 普通版本

2. 进阶版本

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20210126A0ALJ700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券