? ? ? ?前些日子看到一個故事该肴,說某個互聯(lián)網(wǎng)公司的年會搞抽獎活動膜蠢,但是很多人質(zhì)疑抽獎程序的公平性,那公司的技術(shù)老大當(dāng)著所有人的面解說代碼(這是聽說的届榄,不保證真實性)浅乔。
透明度問題
? ? ? ? 一個抽獎程序,我們看到的只是程序運行后的結(jié)果铝条。但是這個結(jié)果怎么產(chǎn)生的我們不知道靖苇,說不準(zhǔn)還是把結(jié)果寫死的呢。要解決透明度問題攻晒,只能把代碼開放讓大家審查咯顾复。(說實在的,誰想自己的東西要別人審查啊鲁捏,這真是別有一番滋味在心頭)
正確性問題
? ? ? 誰又能保證程序沒有問題呢芯砸,不多不少總有錯誤。雖然一個抽獎程序看起來如此簡單给梅,然而背后是那么的復(fù)雜假丧。例如,我如何隨機抽取一位用戶呢动羽,如果抽取多位用戶如何確保不重復(fù)包帚。如何確保抽獎的時候程序在正確運行,如果保證抽取的用戶存在呢运吓。
公平性問題
? ? ? ?程序猿可是一種十分較真的動物渴邦,他們會說你的隨機數(shù)如何確保隨機(好吧,你成功了拘哨,貌似有一個在線生成隨機數(shù)的接口谋梭,具體我不太清楚),也會說倦青,你是一次性取出所有中獎的人還是一個一個的來瓮床。你是抽取后再放回去還是不放回去。产镐。隘庄。,反正一堆情況癣亚,如何保證公平是一個難度活丑掺。
? ? ? ?作為一個程序猴子,我不想我的代碼被別人審查啦(我就是如此放蕩不羈愛自由)述雾。程序猴子每天生活過得很悲慘吼鱼,經(jīng)常寫好代碼被告知改需求蓬豁。愛護(hù)程序猴子,人人有責(zé)菇肃!
? ? ? 如果你喜歡這種三言兩語談技術(shù),請點贊和關(guān)注我取募,這是對我最大的支持琐谤,謝謝