编程为何对初学者如此具有挑战性?

2026-05-19 15:340阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计5414个文字,预计阅读时间需要22分钟。

编程为何对初学者如此具有挑战性?

编写一个可靠的系统比编写一个可用的系统更难。编程真正困难的地方在于对失败场景的处理。本文通过分析存储卡扣这个简单场景,会发现其实它一点也不简单。面向失败编程是编程的一种。

写可用的系统容易,写可靠的系统很难。编程真正难的在对失败场景的处理上。本篇通过分析储值卡扣款这么个“简单”的场景,你会发现其实它一点也不简单。

面向失败编程是编程中最难的事情。

话说程序员小林的某一天:起床->吃饭->坐地铁->到公司->敲代码->回家->玩游戏->睡觉。

这一天的另一个版本:起床->吃饭->坐地铁->到公司->突然要 24 小时健康码->进不了公司->坐地铁回去->地铁停运了->上厕所->踩到屎滑倒->摔成脑震荡。

第二个版本充满意外,貌似有些极端,但你我天天在新闻上看到类似的事情,说明它其实每天都在发生。

程序也是如此。

程序员小林给公司开发的某个系统,用户量暴涨;三年后公司上市了,小林喜迎白富美。

另一个版本:上线后第二天被 SQL 注入删库了,造成大量投诉;小林被老板痛骂一顿后,卷铺盖走人了。

程序的世界充满意外,你我的每一行代码几乎都是 bug。

写出可用的系统很容易,但写出健壮的系统很难。


一个”简单“的例子

我们通过储值卡消费这个例子来看看如此”简单“的案例到底存在多少让人眼花缭乱的失败场景。

假设我们给某个加油站开发个储值卡系统,用户可以往里面充钱,可以用储值卡加油消费,类似你在理发店、洗脚店开的那种充值卡。

我们看看车主加油消费的场景——而且只看这个场景中的”储值卡扣款“这一个结点。

阅读全文
标签:系统容易

本文共计5414个文字,预计阅读时间需要22分钟。

编程为何对初学者如此具有挑战性?

编写一个可靠的系统比编写一个可用的系统更难。编程真正困难的地方在于对失败场景的处理。本文通过分析存储卡扣这个简单场景,会发现其实它一点也不简单。面向失败编程是编程的一种。

写可用的系统容易,写可靠的系统很难。编程真正难的在对失败场景的处理上。本篇通过分析储值卡扣款这么个“简单”的场景,你会发现其实它一点也不简单。

面向失败编程是编程中最难的事情。

话说程序员小林的某一天:起床->吃饭->坐地铁->到公司->敲代码->回家->玩游戏->睡觉。

这一天的另一个版本:起床->吃饭->坐地铁->到公司->突然要 24 小时健康码->进不了公司->坐地铁回去->地铁停运了->上厕所->踩到屎滑倒->摔成脑震荡。

第二个版本充满意外,貌似有些极端,但你我天天在新闻上看到类似的事情,说明它其实每天都在发生。

程序也是如此。

程序员小林给公司开发的某个系统,用户量暴涨;三年后公司上市了,小林喜迎白富美。

另一个版本:上线后第二天被 SQL 注入删库了,造成大量投诉;小林被老板痛骂一顿后,卷铺盖走人了。

程序的世界充满意外,你我的每一行代码几乎都是 bug。

写出可用的系统很容易,但写出健壮的系统很难。


一个”简单“的例子

我们通过储值卡消费这个例子来看看如此”简单“的案例到底存在多少让人眼花缭乱的失败场景。

假设我们给某个加油站开发个储值卡系统,用户可以往里面充钱,可以用储值卡加油消费,类似你在理发店、洗脚店开的那种充值卡。

我们看看车主加油消费的场景——而且只看这个场景中的”储值卡扣款“这一个结点。

阅读全文
标签:系统容易