十月阅读笔记(2)

读《程序员修炼之道》:银行账户模拟系统作业,“忽略异常”让我从头返工

之前写银行账户模拟系统作业时,只盯着“正常流程”——比如存款、取款、查询余额的基础功能,觉得“只要输入合法数据能跑通就行”,完全没考虑异常情况:比如取款时输入负数、余额不足时继续取款,甚至输入字母而非数字。

当时写完测试,随便输了几个正数都没问题,就以为完成了。结果提交前检查,才发现一旦输入“取款金额-500”,系统直接报错崩溃;输入“abc”当金额,程序直接卡住。这时候才慌了——之前的代码里没有任何异常判断,连最基础的输入合法性校验都没做,只能从头补逻辑:给每个输入加类型判断,给取款加“金额为正”“余额足够”的校验,甚至还要加“连续三次输入错误锁定操作”的兜底,原本两小时能完成的作业,硬生生多花了三小时返工。

翻《程序员修炼之道》时,看到“防御性编程”的说法特别有感触:写代码不能只假设“一切顺利”,尤其是涉及“账户金额”这种敏感逻辑,更要提前预判风险。现在写类似作业,我会先列好可能的异常场景:比如输入非法值、操作超出权限、数据格式错误,再针对性加校验和容错。上次优化转账功能,提前加了“转账金额不为负”“收款账户存在”的判断,测试时不管怎么输异常值,系统都能友好提示,再也不用为“没想到的情况”返工——原来“多想一步风险”,才是真的省时间。

posted @ 2025-10-24 15:38  poiurts  阅读(8)  评论(0)    收藏  举报