Web Analytics

代码评审

本文翻译自"Code Reviews",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 你应该做代码评审。为什么呢?因为代码评审可以提高代码质量并且降低缺陷比例。但进行代码评审未必是因为你想到的那些理由。 由于之前有过一些代码评审的糟糕体验,因此许多程序员不喜欢代码评审。我曾经见过一些组织,它们要求所有代码在部署到生产环境之前必须通过一个正式的评审。多数情况下由架构师或一名主程序员进行这些评审,这种做法被戏称为“架构师评审一切”。这个要求被写在了他们的软件开发过程手册中,因此程序员必须遵守。可能有一些组织的确需要这样一个严格且正式的过程,不过大多数组织并不需要。在大多数组织中,这样做法只会适得其反。被评审者会感到他们就像是在等待一个假释裁决委员会的判决。而评审者既需要时间阅读源码,还需要时间跟上系统的最新进展,了解系统的全部细节。评审者很快就成为了这个过程的瓶颈。而这个过程也会很快地成为众矢之的并变得愈加糟糕。 ...

February 22, 2011 · 3 min · Tony Bai

把一切都纳入版本控制

本文翻译自"Put Everything Under Version Control",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 把项目中的一切都纳入版本控制。你需要的资源包括:免费的工具,比如Subversion,Git,Mercurial和CVS;充足的磁盘空间;便宜且性能强大的服务器;无处不在的网络;甚至包括项目托管服务。安装好版本控制软件后,为了将你的工作成果放入版本库中,你所要做仅仅是在一个包含你的代码的干净目录中敲入适当的命令。你只需要学习两个新操作:将你修改的代码提交到版本库中以及将版本库中的代码更新到你本地的工作版本中。 ...

February 18, 2011 · 3 min · Tony Bai

将你的编码标准自动化

本文翻译自”Automate Your Coding Standard“,来自于《97 Things Every Programmer Should Know》一书中的某个章节。 也许你也曾经经历过。在一个项目开始阶段,每个人都有着很多良好的意愿,我们称这些意愿为“新项目决议”。多数情况下,这些决议都会被记在文档中。关于代码的那些决议最终成了项目的编码标准。在项目启动会议上,主程序员带着大家一起浏览一遍文档,最好的情况下,大家都同意在项目中遵照这些标准。不过一旦项目开始,这些良好的意愿就被丢弃了,每次一个。当最终项目交付的代码看起来一团糟的时候,似乎没有人知道项目是怎么变成这个样子的。 ...

February 16, 2011 · 3 min · Tony Bai

在你重构之前

本文翻译自"Before You Refactor",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 在某些时候,每个程序员都需要重构现有的代码。不过在你动手之前,请考虑一下下面的内容,因为这可以节省你和他人的大量时间(以及痛苦)。 · 重构开始的最好方式就是对现有代码库及其测试代码进行总结和评估。 ...

February 15, 2011 · 2 min · Tony Bai

果果给您拜年了

今天是中国人民的传统佳节农历大年三十儿-一个中华民族合家团员的日子。对于我和LP来说,今天更是一个特别的大年三十儿,因为这是我们的宝贝果果过得人生第一个农历新年。虽然果果还不是很懂得今天与平时有何不同,但相信果果从窗户上的红色福字剪纸、墙上的吉祥兔挂画以及阳台上的红灯也能感受到节日的气氛。 ...

February 2, 2011 · 1 min · Tony Bai

眼神儿太差了

昨天晚饭后,打开本子继续工作,却发现无法连上无线路由器。最初以为路由器忘记打开了,可拿起路由器看了下,不是那么回事儿,路由器工作一切正常。我这才看到发现本子的无线网卡的指示灯不亮了,以前在这台x60本子上还从未出现此类情况,于是开始查找故障原因。 故障查找过程是痛苦的,一次次燃起希望,又一次次被冷水破灭: * 最初怀疑是我误点击了Fn + F5而把无线网卡关了,于是我又无数次的点击Fn + F5,居然一点反应都没有; * 我的T400上有无线网卡的硬件开关,我将x60翻转了几周,也没找到无线开关位置; * Ubuntu上Network Manager面板中,无线网络显示已停用,且菜单项为灰色,无法选择,无法启用; * N次重启机器,无果; * 切换到Win7下,Win7设备管理器显示无线网卡设备正常,驱动正常;反复停用、启用无线,都无法使指示灯亮起; * 重启机器,F1进入BIOS,查看网络设备也是Enabled,遂将BIOS恢复成默认出厂设置; * 再尝试进入Win7,蓝屏,提示修复,修复若干次依旧无法进入Win7,无线指示灯依旧处于熄灭状态; * 继续回到Ubuntu下折腾,卸载Network Manager,更换网络管理软件,用T400下载WCID,并用U盘COPY到x60里安装(家里没有备网线),WCID也没比自带的Network Manager好哪里去,依旧无法找到无线网卡; * 恢复Network Manager; * 用系统->系统管理->系统日志查看器查看系统日志,看到如下错误日志: dhclient: receive_packet failed on wlan0: Network is down wpa_supplicant[824]: Failed to initiate AP scan. NetworkManager: WiFi now disabled by radio killswitch NetworkManager: (wlan0): device state change: 8 -> 2 (reason 0) NetworkManager: (wlan0): deactivating device (reason: 0). NetworkManager: (wlan0): canceled DHCP transaction, dhcp client pid 2816 * 根据网上资料,按如下操作: – sudo -i – echo 1 > /sys/class/rfkill/rfkill0/state – 重启机器 问题依旧。 ...

January 28, 2011 · 3 min · Tony Bai

2011·同事对我的期望

眼看就要到春节假期了,公司E-HR平台上我的账户下还有一项待处理的工作:填写一份"领导力发展回顾与提升计划"表格。表格很简单,5分钟就能填完,不过其中有一项我自己很难填写:“您了解或感知同事/或下属对您的期望”。虽说可以自我感知,不过我更想听到我的同事真实的声音。 于是乎我就在产品线内发出了一封Mail,希望能够得到大家真实的想法。 ...

January 26, 2011 · 3 min · Tony Bai

说书单2011.01.24

2010年末的网上卖书大战进行的如火如荼,在这场大战初期我就低价收了《深入理解计算机系统》第二版,放在书柜里待有时间重温。记得当初还是在LP学校的图书馆里借到了这本书的第一版,并在第一个借阅期内看完了除第四章”处理器体系结构”之外的所有章节。之后又恋恋不舍,让LP续借了一次。我对这本书还真有一种相见恨晚的感觉,真遗憾我在大学期间怎么没发现这样一本好书呢。 网络卖书大战到现在也基本接近尾声了,不过我却又有了买书的冲动,也算是给自己的新春贺礼吧,春节长假也有好书来消遣了^_^。遂下午在亚马逊下了单(还有满99送畅销书的活动哦^_^)。书单如下: ...

January 24, 2011 · 2 min · Tony Bai

小试git-svn

部门一直使用Subversion作为源码版本的管理工具。说实话,Subversion比较适合目前部门的绝大多数项目:没有异地团队开发,代码中心化管理;基本上都在trunk上开发,较少使用分支,基本上没有在各个branch间切换的成本。但对于我来说,有些情况下Subversion并不能满足我的需求。 问题主要集中在本地代码的备份和版本管理上。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着被误删除和版本更新无法回退两大杯具情形。而对于这些情况,Subversion工具是无能为力的。 这时我们就需要借助其它工具来帮我们解决问题。Git就是这样一款很给力的工具,它是一款分布式版本管理工具,由linux的缔造者Linus Torvalds设计并实现,具体关于Git的介绍和使用方法可参见其官方站。这里要说的是Git是如何做到既可以管理好本地代码又可以与已有的SVN中心库进行同步的。 ...

January 20, 2011 · 5 min · Tony Bai

梅西给力,蝉联金球

今天凌晨国际足联公布并颁发了2010年度国际足坛的各大奖项,最让我感到欣喜的是巴萨国王梅西当选首届国际足联金球先生,蝉联了金球奖。 说实话,真的没有想到我的期望能变成现实。不过最终结果出炉前还是有种种迹象表明梅西是有机会的。首先就是梅西压倒去年表现优异的斯奈德,与两位世界冠军队友哈维和伊涅斯塔携手入围金球三甲。其次就是在今天凌晨当普斯卡什年度最佳进球奖被授予土耳其人阿尔滕托普后,我的内心对梅西的当选又有了进一步的期待。还记得去年FIFA颁奖时,C.罗因无力竞争世界足球先生,被国际足联安慰性的给了一个普斯卡什奖。这样考虑的话,如果今年梅西最终不能当选,很可能也会得到一个最佳进球奖,并且梅西入围的进球也确实很漂亮。但这次FIFA将悬念彻彻底底的留到了最后,梅西力压小白和哈维卫冕金球。 ...

January 11, 2011 · 2 min · Tony Bai