Category: 杂乱

一行代码修改引起的血案 – (二)

上一篇说到乱改了一行代码引来的错误, 自己也检讨了一下. 以下已经同事同意: 看了XX在群里发的内容 http://coolshell.cn/articles/4576.html,然后到 http://thread.gmane.org/gmane.linux.kernel/1124982/focus=1126216 仔细看了Linus Torvalds发的邮件,受益匪浅,摘了几段内容附在了 < how to fix bug.xls > 中. 举个咱工作中与此相同的真实例子: 我昨晚加班fix bug—NSD无法加入设备, 首先尝试将几个相关的文件恢复到以前的版本,问题依然存在. 肯定是没找对文件或恢复的不对,于是将代码更新到最新版本,开始调试. 发现在LayoutView类的Initialize方法中,有这么一行 // set default tool activeTool = LayoutToolType.Pointer; 我想把这句删掉,但是怕万一出现activeTool为null的情况,于是就保留并提交了代码. …

一行代码修改引起的血案

最近在做代码审查 Code Review 并顺便使用了商业的软件 Resharper (Visual Studio 的插件, 有 30 天试用) Resharper 一个很好的功能就是能把没有用的代码变灰, 这样哪几行代码没有用就一目了然. 像这行代码, Resharper 很清楚的提示说没有用, 因为 activeTool 是枚举类型, 和 null 判断永远为 false, 这样 if 里面的代码就永远不可能被执行, 所以标记成灰的了. 这个函数不是我写的(模块也不是我负责的), …

在英国一周工作 168 小时

理论上, 一周有 24 * 7 = 168 小时. 在欧州其它国家, 一周工作超过 48 小时是违法的, 不管你愿意还是雇主要求你. 但是, 在英国, 如果你的确要工作那么多, 比如你已经有一份全职工作了 (38小时), 并且第想再工作另一份,远远超过 48小时, 这时候,往往第二个雇主需要你填一份声明, 意思是说是你个人自愿工作超过 48 小时, 并不是公司强迫你干的. “3.3 Regulation 4(1) of the Working Time …

牢骚贴: 岳父岳母一毛不拔

最近在筹备买房的事情, 希望在 2015 年里能把这事搞定, 不能再拖了. 我现在回想起来, 最近几年最最后悔的事情就是在 2010 年的时候没有破釜沉舟的赌上一把, 先把房子买了. 当年, 为了结婚, 找朋友借钱, 下了 3万镑的礼金, 紧巴巴的过, 一年后还了债. 而这几年就一直交房租, 交了的钱到现在已经足够首付了. 真心后悔啊. 我姐说, 有风险才有回报, 当年我的借口是没有拿到永居, 还不确定在哪里发展. 实际上, 没有绿卡有的银行也能贷款给你, 只不过可以选择的比较少, 利率会高一些, 但还是可以接受, …

初步使用 Resharper (Visual Studio 插件)

最近在评估公司需不需要一个 Visual Studio 的插件: Resharper. Resharper 是商业软件, 而且价钱不便宜, 一个一套 License 是200 镑左右. 这插件的目的就是把 VS 变得更强大好用. 比如以下C#代码将一个列表拷贝到另一个(只是演示用) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { …

Chrome 浏览器上的快速标签链接

我很久之前练手PHP和MYSQL做了一个长网址变短的小工具(免费) https://rot47.net/_url/. 添加记录的表单在: https://rot47.net/_url/add.php 这样还是太麻烦, 因为用户还得拷贝和粘贴网址, 为了方便, 在PHP程序里支持从URL参数里获取想添加的长网址, 比如可以这样使用: https://rot47.net/_url/add.php?p=https://helloacm.com 然后, 我们就可以把下面HTML+JAVASCRIPT的代码放到页面上, 让用户添加成标签(可以直接把这个链接拖到上面的快速标签栏) <a rel="nofollow" href="javascript:(function(w,d){var u=d.location.href;w.open('https://rot47.net/_url/add.php?p='+encodeURIComponent(u))}(window,document));" target="_blank">把这个拖到你的浏览器书签栏</a> 如果你右键编译这个书签, 大概会出现这个窗口(以下是Chrome 浏览器) 这样做的好处是, 用户哪天浏览一个页面, 就可以直接点这个标签, 然后就会在新窗口把这个链接自动的填到表单里, 让其变短并分享. 未压缩的 Javascript 代码就比较简单明了: …

Paypal 退款的 [Temporary Hold]

Paypal 可以和银行帐号, 银行卡(借记卡 Debit, 信用卡 Credit) 绑定, 这样就避免了网上购物把银行卡信息泄露的风险, 并且通过一个 PayPal 帐号在付款的时候可以指定用多种方式支付. Paypal 支持多种货币, 货币转换按当日汇率, 可以在钱包 (Wallet) 里管理银行卡,银行帐号. 国内版的就是支付宝. 前不久, 我用 Paypal 支付 namecheap 的域名续费, 然后后来搞错了, namecheap 就给我 refund 并让我重新付一次款, …