Category: 有意思的

软件设计里的 “Throw often catch rarely”

QA工程师走进酒吧,要了一杯啤酒,要了0杯啤酒,要了999999杯啤酒,要了一只蜥蜴,要了-5杯啤酒,要了一个2345xcvvcasdtr,酒保从容应对,QA工程师很满意.接下来,一名顾客来到了同一个酒吧,问厕所在哪,酒吧顿时起了大火,然后整个建筑坍塌了. 用 try catch 来一直隐藏错误 但是这只会让可能的错误就越来越大. 在程序里 要经常的抛出异常 (throw exception) 而要少用 try catch (而且异常类型大部分要清楚, 确定的异常 而不是 general exception 通用异常) 新的酒吧继续开业,直到又有一名问厕所的顾客出现.周而复始,仿佛酒吧从来就没有坍塌过.酒吧老板对酒吧的经营很满意,因为老板从来不去自己酒吧也不会去问厕所. 本文一共 221 个汉字, 你数一下对不对. 软件设计里的 “Throw often catch rarely”. …

敏捷开发扑克游戏

敏捷开发 Agile Development 在每个短跑 Sprint 开始的时候都会有一个 圆桌会议. 开发小组成员会聚在一起 讨论需要开发的任务 并且会细分每个任务. 这时候我们就可以用到下面的扑克卡片. 预先需要有一个成员(可以是随机, 可以是轮流) 先把需要开发的任务汇总一下 并且把每个开发任务尽可能的细分成子任务. 这时候一开始会选一个难度适中的任务做为标准 (分数为1) “每副卡片可供4人预估 分数为 ?, 0, 1/2, 1, 2, 3, 5, 8, 13, 20, …

TESCO 乐购的 Scan As You Shop 自助购物

国外自己结帐的 机器 已经很普遍了. 也就是买完之后到机器那里自己一件一件扫描. 但是这也会有一个毛病就是 不知不觉得就能买多了. TESCO 还有其它的一些大超市都有推出 Scan As You Shop 自助购物. 就在在入门的时候拿一个机器扫描 对着扫条形码 边买 就能看到当前总的价钱. 边买 边扫 边打包. 等买完了 就可以到结帐处 扫一下机器付钱就可以走了. 算是比较快捷. 好处就是: 对买了多少随时能掌控 不会不知不觉就买多了. 购物可以省时间 因为省去在结帐的时候排队打包. …

DELPHI 2007 下的 PARALLEL FOR 实现

Delphi XE7 之后 语法就加了 Parallel.For 用于多线程编程. 有一个第三方开源的库 OmniThreadLibrary (OTL) 也可以用 但是在 D2007 下由于没有 匿名函数和通用模板 一些OTL的高级语法就都不能用了. The AsyncCall 也是第三方开源的 库 支持 D2006到 XE2 但是也没有 Parallel.For 语法. 下面就简单在 D2007 下实现了 多线程 …

在CI编译服务器上画出每个开发者的提交次数

如果你是项目经理 或者是HR, 你一定想了解每个程序员的活动情况. 比如 哪个季节月份请假的人比较多 而或哪些人平时比较积极 哪些人比较偷懒等. 我们可以根据SVN提交的记录来画出每次时间点上 每个开发者的提交次数. 通过以下命令能获得SVN历史提交记录, 生成XML输出并且通过 GREP命令筛选出只含提交者的名字 (去掉多余的标记) svn log -v --xml | grep "author.*/author" 使用POWERSHELL编译脚本中的DICTIONARY对象 统计每个程序员的提交次数 然后分别写入文件中. 再通过JENKINS的PLOT插件画出来即可. <# .DESCRIPTION Count SVN Commits …

桌面太乱了

本来以为是清洁工搞笑留在我桌面的 结果后来发现是一同事. 然后 我就选择了简单的方法就是 无视-贴墙上. 英文: https://helloacm.com/the-trapped-notice/ 我以前的桌面: 1 – 2 – 3 – 4 本文一共 58 个汉字, 你数一下对不对. 桌面太乱了. (AMP 移动加速版本) 赞赏我的几个理由. ¥ 打赏支持 扫描二维码,分享本文到微信朋友圈