交易者

时间:2024-03-20 03:48:36
【文件属性】:

文件名称:交易者

文件大小:17KB

文件格式:ZIP

更新时间:2024-03-20 03:48:36

Rust

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


【文件预览】:
transactor-main
----Cargo.toml(404B)
----Cargo.lock(6KB)
----src()
--------error.rs(347B)
--------main.rs(4KB)
--------bank.rs(21KB)
----full_test.sh(702B)
----README.md(3KB)
----resources()
--------test_output()
--------test_input()
----.gitignore(8B)

网友评论