1. 避免直接递归。
2. 当产生的是标量(scalar values),或者体积小还数量固定的序列时,你可以使用recur。
3. 当产生个头大,或是大小可变的序列时,让它成为惰性的,而不要用递归。
4. 小心不要让一个惰性序列变现的太多,多的超出你的需要。
5. 熟悉序列库。
6. 细分,将问题尽可能划分为更小的块。
——摘自《Programming Clojure》.
1. 避免直接递归。
2. 当产生的是标量(scalar values),或者体积小还数量固定的序列时,你可以使用recur。
3. 当产生个头大,或是大小可变的序列时,让它成为惰性的,而不要用递归。
4. 小心不要让一个惰性序列变现的太多,多的超出你的需要。
5. 熟悉序列库。
6. 细分,将问题尽可能划分为更小的块。
——摘自《Programming Clojure》.