交易者 源码
假设条件 由于此程序从头开始创建帐户,并且不会在调用之间持久保存它们,因此我假设发生的任何错误均应导致程序退出状态为1的状态。在实际设置中,这可能不是理想的选择,因为这些帐户可能处于错误状态状态(例如,有争议的交易导致溢出,但确实是有争议的),但鉴于这种限制,我认为这是有道理的。 这适用于: 负数存款/正数取款 给定金额的争议/解决/拒付 重复使用给定客户ID的交易ID(请参阅极端情况-我不处理跨不同客户的交易ID的重复使用) 计算期间溢出 CSV解析错误/ IO错误 依存关系 我正在使用csv和serde按照建议从csv文件读取和写入。 对于十进制数字处理,我使用了rust_decimal,因为它根据其文档处理固定精度的计算-以前我没有使用过这个箱子。 对于错误,我使用了thiserror-尽管此板条箱更适合于库,但我认为这段代码可能会在某个时候被解放,因此这是一个不错的选择。 测验
用户评论