用程式碼玩劇本殺?第3屆83行程式碼大賽劇情官方解析
阿新 • • 發佈:2021-11-19
簡介:由阿里云云效主辦的2021年第3屆83行程式碼挑戰賽已經收官。超2萬人圍觀,近4000人蔘賽,85個團隊組團來戰。大賽採用遊戲闖關玩兒法,融合元宇宙科幻和劇本殺元素,讓一眾開發者玩得不亦樂乎。
下面,我們來揭祕一下這場程式碼劇本殺,看看你是否破獲了真相。
"不是什麼都會等你,很多事情都是一次性的":這個是提示可能是有一些“一次性”型別的bug,如果經驗比較豐富的話,可能就能意識到這個是指流型別一次性讀取的問題。
"我們通常以為admin就是admin":這其實是在提示決賽中admin可能不是admin,那可能是什麼呢?可能是ADMIN,或者admin123這種,具體的大家在決賽題目中就會了解到。
"大家都喜歡全域性視角,但全域性視角也有它的問題":其實是在提醒你全域性型別的變數可能有問題,你可能需要把全域性變數換成區域性型別的變數。
"好的單元測試 => 你看懂了單元測試 = 你看懂了程式碼":決賽題目中大部分的bug都是在單元測試呼叫的函式中,如果能聚焦地分析單元測試呼叫到的函式,就能把大部分的bug解決掉。
"有的bug之所以難找,就是因為它只在執行時出現":這個是在提示有一些bug可能是無法直接看程式碼就能分析到的,需要結合執行時的除錯和診斷,才能發現這些bug。
"別得意忘形了,快收好你的尾巴!":這個是在提示正則匹配讀取尾巴的問題。
"貪多嚼不爛":這個是在提示正則匹配的貪婪模式的問題。
"斷點除錯是萬能的嗎?不影響應用本身的觀測或許才是更優選擇":這個是在提示本次決賽的場景是無法正常使用斷點除錯的,所以可能需要使用應用觀測的能力。