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

阿榮
發佈於前端
閱讀時間約 1 分鐘

避免命名衝突

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

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



避免非預期行為

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

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



避免非預期依賴

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


資料來源

主要放程式學習筆記,分享 Creative Coding 相關內容、作品
留言0
查看全部
發表第一個留言支持創作者!
Global 物件和模組 | Node.js
閱讀時間約 2 分鐘
內建模組 path 介紹 | Node.js
閱讀時間約 1 分鐘
npm | Node.js
閱讀時間約 1 分鐘
Express Web | Node.js
閱讀時間約 1 分鐘
JavaScript Class
閱讀時間約 3 分鐘
你可能也想看
📖我为什么要强烈向你推荐这本书📖:布鲁克林有颗树 ✍🏻:贝蒂·史密斯 📚 《布鲁克林有颗树》一书,由作者贝蒂·史密斯所写,讲述了一个爱情历程。从书中的描写中我们可以看到,虽然故事情节并不发生在当下,但每一场情感经历都是时刻发生在我们的身边。将书中人物的心情掌握后,仿佛自己也亲身经历过这段感情。😍 🌲 返璞归真,重拾阅读
Thumbnail
avatar
舒舒不说晚安
2023-06-13
塔羅占卜:未來1個月工作方面有什麼要注意的地方?(無時間限制)塔羅占卜:未來1個月工作方面有什麼要注意的地方?(無時間限制) ※靜下心來憑直覺從A.B.C.D中,選出一個選項※ (運勢提醒僅供參考,希望能幫助大家用來趨吉避凶,命運掌握在自己手中!) ************* ************* ************* ●選擇A: 寶劍三(逆) +
Thumbnail
avatar
Penguin Tarot
2023-05-18
塔羅占卜:未來一個月在財運方面有什麼要注意的呢?(無時間限制)塔羅占卜:未來一個月在財運方面有什麼要注意的呢?(無時間限制) ※靜下心來憑直覺從A.B.C.D中,選出一個數字※ (運勢提醒僅供參考,希望能幫助大家用來趨吉避凶,命運掌握在自己手中!) ************* ************* ************* ●選擇A: 金幣二(逆) +
Thumbnail
avatar
Penguin Tarot
2023-05-15
塔羅占卜:未來一個月內和另一半在感情方面有什麼要注意的地方呢?(無時間限制)塔羅占卜:未來一個月內和另一半在感情方面有什麼要注意的地方呢?(無時間限制) ※靜下心來憑直覺從1.2.3.4中,選出一個數字※ (運勢提醒僅供參考,希望能幫助大家用來趨吉避凶,命運掌握在自己手中!) ************* ************* ************* ●選擇1: 金
Thumbnail
avatar
Penguin Tarot
2023-05-15
你是要成功的人,為什麼要一直思考失敗的可能?:「失敗的話怎麼辦、不成功的話怎麼辦、可是我會怕搞砸啊。」 不知道為什麼,最近身邊出現了這些聲音。想跟你們分享上周我是怎麼回答 現在的我覺得重點不是不要害怕,是不要一直想著失敗,想過一次很重要 ,但是想過一次就好,對,一次就好。 你是要成功的人,為什麼要一直思考失敗的可能?
avatar
Mos
2022-05-08
為什麼要政府補貼綠能? 談談加州能源的補貼與規範<p>為什麼要政府補貼綠能? 讓污染者補貼改善污染者、政府負擔小,初期綠能市場小時效果大,晚期綠能市場大時不需補貼,獎勵也會自動減少。</p>
Thumbnail
avatar
陳冠廷 Kuan-Ting Chen
2018-02-05
為什麼要讓孩子上才藝課?同樣學才藝,有可能變成技術的反覆操練與孩子的夢魘,也有機會成為陪伴孩子終生的興趣,讓他們更能品味生活,成為生命的活水源頭,其間的差別或許只是家長的態度與孩子自己的感覺。
Thumbnail
avatar
李偉文
2017-11-29
為什麼要讀書?念書絕不是為了考試,而是為了增加自身能力的眾多方法之一罷了,也可以說,念書是一種工具。
Thumbnail
avatar
李偉文
2017-11-29
為什麼要投資債券基金?<p>投資不只是精算成本,也不只是注重利潤,風險與現金流才是資產穩健成長的重要因素,依個人的資金及屬性,搭配出兼顧利潤、風險與現金流的組合。</p>
Thumbnail
avatar
詹鎬瑋
2017-07-30
為什麼要去美國生小孩?「下錨寶寶」背後的兩個極端世界<p>下錨寶寶是富有的亞洲人「一人得道,雞犬升天」的利器,為了讓孩子有美國公民權,花再多的錢都在所不惜。但對於美國候選人口中「非法移民」的拉丁美洲裔,在美國生寶寶並不是通往幸福的直達車。因為除了產子的喜悅外,更多的是如何處理「生存」這複雜的難題。</p>
Thumbnail
avatar
重讀者
2015-10-20