最好保持 TDD 的习惯
1.构建新的列表使用 [H|Result] 而不是 ++ ,只有在 list 很短的情况下才可以使用 ++.
2.尽量少的遍历列表,遍历时使用尾递归.
3.表达式K => V有两种用途,一种是将现有键K的值更新为新值V,另一种是给映射组添加一 个全新的K-V对。这个操作总是成功的。
表达式K := V的作用是将现有键K的值更新为新值V。如果被更新的映射组不包含键K,这个 操作就会失败。
所以使用映射组的最佳方式是在首次定义某个键时总是使用Key => Val,而在修改具体某个键 的值时都使用Key := Val
4.每个函数前的-spec表示这是对一个函数进行规范,说明函数的参数以及返回值的类型,方便阅读以及理解函数的作用.
5.gen_sever:call是同步请求,cast 是异步请求