開發者論壇Stack Overflow近期作了一項研究,他們觀察使用者的複製行為,發現每4名訪問Stack Overflow的使用者,就會有1位使用者在5分鐘內複製一些內容,而複製程式碼的頻率是複製問題的10倍,更是複製評論的35倍,而且比起被接受的答案,沒有被接受的答案整體有更多的複製量。

對於使用者在Stack Overflow網站上的程式碼複製行為,官方抱持正面態度,認為前人已經辛苦工作,後人就不需要重新製作輪子,知識重用可以幫助使用者學習,並且減少工作的挫敗感,更快地獲取到有用的程式碼。官方提到,知識重用一直以來就是Stack Overflow的重要基礎,也是能造就出強大開發者社群的關鍵。

Stack Overflow使用了自家的網頁追蹤工具,以自定義事件捕獲使用者在網站上的複製事件,透過這些事件,官方能夠同時捕捉到多種屬性,包括標籤、問題答案、評論、程式碼區塊或是純文字、複製者的聲譽、貼文分數、地區,以及該貼文是否被接受為問題的最佳解答。Stack Overflow從2021年3月26日到2021年4月9日,整整收集了2個星期的資料,從7,305,042篇貼文擷取到了40,623,987次複製事件。

透過分析這些事件資料,官方可以了解複製Stack Overflow網站內容的使用者組成。網站整體複製行為,與網站流量緊密相關,大多數的複製行為都出現在工作日的上班時間,來自亞洲的使用者複製最多的內容占33%,歐洲則有30%,而北美為26%。

官方想要知道用戶聲譽和複製次數的關係,但由於產生複製事件的用戶,有86%是未登入的使用者,也就是匿名的用戶,這些匿名用戶分為可能真的是不具帳戶的使用者,也可能是有帳戶只是沒有登入,不過官方沒有辦法驗證其中的比例。

透過視覺化每個用戶的複製次數以及聲譽,的確可以看出當用戶的聲譽越高,複製次數就越低的趨勢,雖然這樣的關係存在,但是由於沒有足夠的資料佐證,因此無法直接認定聲譽較低的用戶,複製的次數一定比較多,但官方提到,學習中的開發人員通常聲譽較低,隨著累積專業知識,會逐漸建立聲譽,而進階開發人員面對更為困難的挑戰,解法可能無法從Stack Overflow複製而來。

而被答案提問者接受為最佳解答的貼文,被複製的次數就會比較多嗎?官方發現,有52.4%的複製次數來自未被接受的答案,但是平均而言,每篇被接受的答案共獲得7次複製,而不被接受的答案每篇則有5次複製,因此整體來說,不被接受的答案複製數量更多,但是被接受的答案,擁有更高的知識重用性。

官方也發現,分數較高的貼文,被複製的次數也會跟著比較多。與使用者聲譽相同的問題,大部分的貼文分數為零或是得分偏少,透過正規化網站上所有貼文的評分,從圖表(下圖)可以看出在答案方面,分數1到1000區間組別的貼文,複製次數十分平均,而在問題方面,1到5分的分組則是複製次數最多的,官方提到,這可能是用戶想要透過複製題目,到其他地方提問獲得答案,所造成的現象。

但是從複製次數和貼文得分分布圖來看,確實可以觀察到分數越高的貼文,複製次數越多,這也代表這些知識更有被社群重用的價值。

值得注意的是,究竟使用者都在Stack Overflow上複製哪些程式語言的內容,令人驚訝的是Python,這個標籤出現在4個前段標籤分組中,其中3個是資料科學的分組,包括|python|pandas|、|python|pandas|dataframe|以及|python|matplotlib|,這顯示著Python在程式開發與資料科學上的重要性。

熱門新聞

Advertisement