為什麼要限制作用域暴露 (limit scope exposure)

阿榮-avatar-img
發佈於前端
更新於 發佈於 閱讀時間約 1 分鐘

避免命名衝突

當兩段程式碼使用同一個變數或函式名,但這個變數在同一個作用域 (例如全域),就會發生命名衝突,產生非預期的 bugs。

例如,如果你所有的迴圈都使用一個全域的 i 索引變數,然後發生在一個函式中的迴圈在另一個函式的迴圈迭代期間正在執行,共享的 i 變數就獲得了一個意外的值...



避免非預期行為

將變數/函式暴露在外,表示其他開發者也可以取用,無法限制別人會怎麼更改變數或函式,容易違背了預期的行為並導致 bugs。

例如,如果原本預設一個陣列全部都要是數值,但其他開發者在陣列加入了布林值和字串。燈楞 ! 非預期的行為就發生了,而且很容易不知道是哪邊導致的問題。



避免非預期依賴

如果不必要地暴露變數/函式,它會促使其他開發者使用並依賴那些本來應該是私有的部分。或許不會立刻破壞程式碼,但它造成重構的風險,當我們之後想要重構時,就沒辦法輕易去變動,因為很可能因此把程式碼的其他部分弄壞。


資料來源

留言
avatar-img
留言分享你的想法!
avatar-img
阿榮 | 前端 ~ 互動藝術程式
2會員
39內容數
主要放程式學習筆記,分享 Creative Coding 相關內容、作品
2024/04/19
避免網頁在不同瀏覽器中長不一樣。用 CSS Reset 來「重置」和統一瀏覽器預設樣式。
Thumbnail
2024/04/19
避免網頁在不同瀏覽器中長不一樣。用 CSS Reset 來「重置」和統一瀏覽器預設樣式。
Thumbnail
2024/04/15
2024/04/15
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
設定討論方向到情報操作者不想要的方向,可以卡住情報操作者想引導人們相信的事、辯解的藉口。 以 #兩兆錢坑 法案來講,情報操作者的論述大概是用「時候未到所以不一定」的原理來欺瞞逃脫質疑。這時可以設定的討論方向是: 1雖然未發生,但是法規有限制比較有保障 2討論「空白授權」可能的危害 例如:
Thumbnail
設定討論方向到情報操作者不想要的方向,可以卡住情報操作者想引導人們相信的事、辯解的藉口。 以 #兩兆錢坑 法案來講,情報操作者的論述大概是用「時候未到所以不一定」的原理來欺瞞逃脫質疑。這時可以設定的討論方向是: 1雖然未發生,但是法規有限制比較有保障 2討論「空白授權」可能的危害 例如:
Thumbnail
【駭入別人銷售漏斗,模仿驗證有效流程】
Thumbnail
【駭入別人銷售漏斗,模仿驗證有效流程】
Thumbnail
為什麼要登出使用者? 安全性:防止未經授權的人,在使用者暫離時使用系統,這在公用或共享電腦的環境中尤其重要。 資料保護:只要使用者處於登入狀態,就會暴露在個人資料被他人操縱或利用的風險中,因此登出閒置使用者對資安也很重要。 如何在 Vue 3 專案中實作此功能?
Thumbnail
為什麼要登出使用者? 安全性:防止未經授權的人,在使用者暫離時使用系統,這在公用或共享電腦的環境中尤其重要。 資料保護:只要使用者處於登入狀態,就會暴露在個人資料被他人操縱或利用的風險中,因此登出閒置使用者對資安也很重要。 如何在 Vue 3 專案中實作此功能?
Thumbnail
這篇文章探討了在軟體開發中的技術債可能來自哪些原因,以及如何自動化偵測與修復技術債。作者透過分享不同情境下的技術債選擇,提供了對於技術債的思考與建議,針對開發人員在需要做出無奈的技術決策時,提供了一些建議。此外,還提供了一些在做出技術決策時的方法,如保留抽象層和避免vendor lock-in。
Thumbnail
這篇文章探討了在軟體開發中的技術債可能來自哪些原因,以及如何自動化偵測與修復技術債。作者透過分享不同情境下的技術債選擇,提供了對於技術債的思考與建議,針對開發人員在需要做出無奈的技術決策時,提供了一些建議。此外,還提供了一些在做出技術決策時的方法,如保留抽象層和避免vendor lock-in。
Thumbnail
雜湊、編碼和加密雖然在資訊安全中扮演不同的角色,但很多人往往容易搞混它們的用途,本篇文章將帶你了解他們的區別。
Thumbnail
雜湊、編碼和加密雖然在資訊安全中扮演不同的角色,但很多人往往容易搞混它們的用途,本篇文章將帶你了解他們的區別。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News