发现错误要尽可能接近引入错误的时间,缺陷在软件食物链里面呆的时间越长,它对食物链的后级造成的损害就越严重“问题定义”只定义了“问题是什么”,而不涉及任何可能的解决方案,应在需求分析之前,而需求分析是对所定义问题的深入调查,应该用客户语言来写,从客户角度来描述问题
AI时代,有人焦虑失业,有人偷偷变强,不写代码不烧脑~
相关语录
-
一个好名字通常表达的是“什么”(what),而不是“如何”(how)
-
数据流测试:观察每个变量的“已定义”、“已使用”、“已销毁”,和“已进入”、“已退出”几种状态/改变
-
添加布尔中间值:finished=(elementIndex==lastElementIndex);
-
典型情况下需求会有多少改动?IBM和其他公司的研究发现,平均水平的项目在开发过程中,需求会有25%的变化(Boehm1981,Jones1994,Jones2000)。在典型的项目中,需求变更导致的返工占到返工总量的75%到85%(Leffingwell1997,Wiegers2003)。
-
确保在其他人做出危险动作时你也不会受到伤害。你要承担起保护自己的责任,哪怕是其他人犯的错误。
-
结构化的基础测试:需要去测试程序中的每一条语句至少一次(算算有多少通过程序的路径
-
“险恶的(wicked)”问题就是那种只有通过解决或部分解决才能被明确的问题(1973)。这个看似矛盾的定义其实是在暗示说,你必须首先把这个问题“解决”一遍以便能够明确地定义它,然后再次解决该问题,从而形成一个可执行的方案。这一过程已经如影随形地在软件开发中存在数十年了(Peters and Tripp 1976)
-
Sapir-Whorf假说是,你思考的能力取决于你是否知道能够表达该思想的词汇。如果你不知道这些词汇,就无法表达出这种思想,甚至可能不能形成这种思想(Whorf 1956)。
-
双赢者把生活看作一个合作的舞台,而不是一个角斗场。一般人看事情多用二分法:非强即弱,非胜即败。其实世界之大,人人都有足够的立足空间,他人之得不必就视为自己之失。人际交往的六种模式双赢不是什么技巧,而是人际交往的哲学,是六个交往模式之一,这六个模式分别是:◎利人利己(双赢)◎损人利己(赢/输)◎舍己为人(输/赢)◎两败俱伤(输/输)◎独善其身(赢)◎好聚好散(无交易)“我认输,你赢了。”“就这样吧,

