说说抽奖程序的那些事
2016-03-20 本文已影响1073人
yubang
前些日子看到一个故事,说某个互联网公司的年会搞抽奖活动,但是很多人质疑抽奖程序的公平性,那公司的技术老大当着所有人的面解说代码(这是听说的,不保证真实性)。
透明度问题
一个抽奖程序,我们看到的只是程序运行后的结果。但是这个结果怎么产生的我们不知道,说不准还是把结果写死的呢。要解决透明度问题,只能把代码开放让大家审查咯。(说实在的,谁想自己的东西要别人审查啊,这真是别有一番滋味在心头)
正确性问题
谁又能保证程序没有问题呢,不多不少总有错误。虽然一个抽奖程序看起来如此简单,然而背后是那么的复杂。例如,我如何随机抽取一位用户呢,如果抽取多位用户如何确保不重复。如何确保抽奖的时候程序在正确运行,如果保证抽取的用户存在呢。
公平性问题
程序猿可是一种十分较真的动物,他们会说你的随机数如何确保随机(好吧,你成功了,貌似有一个在线生成随机数的接口,具体我不太清楚),也会说,你是一次性取出所有中奖的人还是一个一个的来。你是抽取后再放回去还是不放回去。。。,反正一堆情况,如何保证公平是一个难度活。
作为一个程序猴子,我不想我的代码被别人审查啦(我就是如此放荡不羁爱自由)。程序猴子每天生活过得很悲惨,经常写好代码被告知改需求。爱护程序猴子,人人有责!
如果你喜欢这种三言两语谈技术,请点赞和关注我,这是对我最大的支持,谢谢