代码审查清单可消除更多的bug

原文地址(source):http://blog.fogcreek.com/increase-defect-detection-with-our-code-review-checklist-example/

在关于高效代码审查的博客中,我们推荐使用清单(checklist)。清单是代码审查中的伟大工具——他们确保审查在团队里持续高效。它们也是确保常见问题被识别、解决的方便途径。

软件工程协会的研究表明,程序员常犯的错误有15-20种。因此把这种错误增加到清单里,你就能确保在它们出现时指出来,帮助消除这种隐患

代码审查清单可消除更多的bug

为了让你开始建立清单,下面是经典的条目列表:

代码审查清单

总体

你应该在大学学到的10个方面的知识

原文地址(source):http://jj09.net/10-things-learn-university/

我去年毕业了,想总结一下我的收获。在StackOverflow Podcast #36,Eric Sink说道:

优秀学生在课堂上学习计算机科学,然后自己编程。

我记得大学朋友在讨论他们第一份工作时的情景了,他们有90%的人会说类似的话:“这1个月的实习比我在大学3年学得都要多”。我不谈论我的工作了。刚开始我认为,他们很可能找了一个比我好得多的工作或实习岗位。我用了3年时间才理解了这种现象……这不是现象。他们认为,他们学了很多,因为他们能够使用框架搞定一些工作,框架在背后做了一些魔法(比如创建简单的、带有数据库的CRUD web应用程序,所有东西都是自动化的)。然而,在框架和硬件之间还有大量的技术。我注意到,很多开发人员不关心这一点。而且,没有它们你照样能够搞定工作。就像出租车司机不需要了解这个城市,只要他有GPS。我认为了解基础是有好处的。

有一些课程,能够帮你学到技术,在你找到工作后,你将不会感到烦恼了。同时,它们值得去学习,帮助你理解计算机工作原理,在我看来,将对你未来的工作有帮助。

下面是你应该在大学学习的10种技术/课程(大学是用来学习的最佳时机):

  1. 计算机架构:了解计算机工作原理,它们怎样表示数据(补码【注1】、IEEE二进制浮点数算术标准【注2】)。有两本不错的书:《计算机体系结构量化研究方法》和《计算系统的要素》。

    ...

为什么你应该为开源做设计

原文地址(source):http://24ways.org/2014/why-you-should-design-for-open-source/

老实讲,大多数设计师不喜欢平白无故做东西。我们团结起来抵制spec work支持合同以得到报酬。这完全是你作为专业设计师在此行业应该做的,这是你的工作,你的艰苦工作的技能,这是你的面包和黄油,领取报酬。

然而,我将用足够的证据说明你为什么也应该考虑为开源做设计工作。首先,我应该指出,不是所有的开源工作都是免费工作。一些公司雇佣开源贡献者全职忙于他们的项目,通常是由于这个项目要被上述公司使用。其他一些公司鼓励开源贡献,甚至为这些项目提供20%的时间(你可以每周投入一天时间在开源上)。这些都是超级不错的情形。无论你碰巧在做这种类型的工作,还是决定自发贡献你的时间和精力,为开源做设计可以在很多方面得到回报。

作品集的建立

设计师新手经常发现他们自己面临着不可逾越的障碍:他们的作品集没有呈现足够的工作经验,由于作品少导致他们找不到工作。这些新手经常借助主动提供的再设计来填充他们的作品集。一份主动提供的再设计是设计师企图再设计受欢迎网站的、概念上的证据。你可以在DribbbleBehance网站上看到很多这种概念,甚至有一些网站专门来呈现这种设计,比如Uninvited Designs。甚至为他们准备了reddit的子版

对于主动提供的再设计,尽管一些人从两个方面看待,但还是存在着大量的