【转】李纳斯定律(Linus’s Law)
【今日推荐】:为什么一到面试就懵逼!>>> 开放源代码运动的主要领导者、最为大众所知道(并最具争议性)的黑客——埃里克·雷蒙(Eric Steven Raymond)在他1999年出版的讨论软件工程方法的著名文集《大教堂和市集》中首次描述了这样一个精彩的观点: 只要足够多的眼球关注,就可让所有软件缺陷浮现。 更正式地来说即是: 只要有足够的测试员及共同开发者,所有软件缺陷都会在很短时间内被发现,而且能够很容易被解决。 他以开源操作系统Linux之父李纳斯·托瓦兹(Linus Torvalds)的名字来命名它,以此向李纳斯致敬。 把代码呈现给多个开发人员,让大家一起判断代码是否合格,这就是最简单的软件代码审查形式。各种研究和试验都反复的验证了代码审查(形式不限)在发现软件bug和安全漏洞中的有效性,证明代码审查要比软件测试效果好的多。 在关于软件工程方法的《事实与谬论(Facts and Fallacies)》一书中,作者 Robert Glass 将这条定律描述为开源运动的”真经(mantra)”,但同时认为这条定律并不准确,因为缺乏足够的支持证据,并且有研究发现,遗漏的bug数并不跟审查的人数之间存在线性的变化。更准确的说,当审查人数在2-4个人之间时,效果最佳,增加更多的审查者对消除bug比例的影响不大。一些非开源的专业开发人员,他们虽然提倡在软件开发者执行严格的