文章链接
作者提出了两个编程的技巧,我觉得非常有用。
1. 将判断提前到调用的地方使用
比如先在一个函数中进行判断,在判断之后调用另一个函数,然后另一个函数中又有一个判断,那么可以直接把这两个判断都提到外部调用的地方,让这两个函数都变成纯执行的函数
fn g() { if foo && bar { h() } } fn h() { if foo { } else { } }
|
fn f() { if foo && bar { if foo { } else { } } }
|
2. 将循环中的判断提到循环之前,这样可以免去冗余的循环
if condition { for walrus in walruses { walrus.frobnicate() } } else { for walrus in walruses { walrus.transmogrify() } }
for walrus in walruses { if condition { walrus.frobnicate() } else { walrus.transmogrify() } }
|
对于多个数据和单个数据的处理,可以默认按照多个数据来处理,单个数据转为单个元素的数组,这样可以省去每个数据去获取资源的操作
frobnicate_batch(walruses)
for walrus in walruses { frobnicate(walrus) }
|