這個做法在提醒開發者在搜尋解答的過程中不要只看評分最好和曝光率高的留言,其它留言的解法也可能是更完美的。
對於一個熱門的程式語言討論社群會碰到一個問題,那就是很難把新的功能推廣給更多人知道並使用,每次 C# 推出新版本都會引入非常多的新功能,
這些功能有些是用來改善過往寫法的缺點,例如 ?.invoke
或字串插值的寫法,但並不是每一間公司都會馬上更新專案的版本,
所以就會有很多開發者還在使用舊的寫法,雖然舊的寫法不代表應該棄用,但是新的功能通常更簡潔且安全。
由於這個開發社群很大,所以導致新技術並沒辦法快速普及讓所有人知道,並且每個人正在使用的語言版本又很可能不同導致認知都有很大的差異, 所以你很可能在搜尋引擎找到的解答是過時的,雖然不代表不能用但未必是現今最佳的解法。
所以我們應該要在開發的過程中做好充分的研究,並且自行判斷哪一個答案是最適合自己需要的平台或版本,而不是直接參考曝光率高的解答。
另外當你認為找到更好的解法後,應該要推廣這些答案例如給予讚好、分享或引用,讓這些解法的曝光率提高, 還有最好在舊的解法中補充註解或連結,並附上更好的解決方案的連結。
最後我們應該要在日常工作中抓準機會對老程式碼進行重構,並採用新語法和最佳實踐,雖然不可能一次就改完但是可以積少成多。
Summary
這個做法建議在搜尋答案時,不要只看最受歡迎的答案,應該去尋找更完美的解決方案,並且找到過後應該要把知識進行推廣,幫助其他開發者理解並接受改進的做法, 還有要在舊的問題補充說明現在有更好的解法,並附上更好的解決方案的連結。