在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

你是不是也沒躲過這個坑?用了太多全局變量......

朱老師物聯網大講堂 ? 2024-05-01 08:10 ? 次閱讀

全局變量太多有哪些弊端?該如何規避,以及如何管理全局變量等。

一、全局變量太多有哪些弊端?

真正做過項目的同學應該都能明白,項目中全局變量太多,會存在很多問題。

這里給大家羅列一些太多全局變量可能存在的弊端:

01

代碼可讀性差

漫天全局變量,特別是各個源文件都有全部變量的情況下,代碼可讀性相信你都能明白有多差。

如果再加上命名不規范、隨處定義,代碼可讀性更是不能言語。

02

代碼維護難度大

隨著全局變量的增多,不同模塊的變量名可能會產生沖突或混淆,導致代碼難以理解和維護。同時,全局變量使得代碼中的依賴關系變得復雜,難以追蹤和理解。這增加了新開發人員的學習成本,也增加了修改和調試的難度。

03

可移植性差

全局變量通常與特定的硬件或系統配置緊密相關,各個文件都在調用全局變量,這使得代碼的可移植性很差。

再次就是,隨著項目的增長和功能的增加,全局變量的管理和維護變得更加困難,這限制了項目的可擴展性。

04

內存管理問題

全局變量太多會導致內存泄漏,以及碎片等諸多問題。

內存泄漏:如果沒有適當地管理全局變量的生命周期,可能會導致內存泄漏,特別是在資源受限的單片機環境中。

內存碎片:頻繁地分配和釋放全局變量相關的內存可能導致內存碎片,降低內存利用效率。

05

潛在Bug

隨著全局變量的增多,出現bug的概率越大,多個函數或模塊可能同時訪問和修改全局變量,如果沒有適當的同步機制,會導致數據不一致和難以預測的行為。

一個函數對全局變量的修改可能會影響到其他不相關的函數,這種隱式的副作用使得錯誤難以定位和修復。

06

不利于模塊化設計

如果全局變量在各個模塊中穿插使用,不僅破壞了模塊的獨立性,還使得模塊之間的耦合度增加,降低了代碼的可重用性和可維護性。

通常來說,模塊化設計的代碼,不會存在全局變量,或者很少有全局變量。

07

增加調試難度

在單元測試測試,或項目全局測試時,全局變量的狀態管理變得復雜。測試人員需要確保在每次測試之前全局變量處于正確的狀態。如果全局變量的修改可能發生在代碼的多個位置,這使得調試時難以確定問題的根源。

08

更多弊端

以上是常見的弊端,還有哪些弊端,大家可以留言討論。

二、全局變量太多如何規避?

33882c4e-074f-11ef-9118-92fbcf53809c.png

全局變量太多有諸多弊端,那么如何規避呢?

01

使用靜態局部變量

在某些情況下,可以使用靜態局部變量來替代全局變量,這樣就避免了其他地方修改全局變量。

02

使用指針和引用

在函數內部,可以通過指針或引用來訪問和修改外部變量的值,而無需直接聲明為全局變量。

03

使用函數參數

在函數內部,盡量使用局部變量來存儲臨時數據,而不是依賴全局變量。

通過函數參數來傳遞需要的數據,并通過返回值來獲取結果,而不是直接訪問或修改全局變量。

04

封裝和模塊化

將相關的變量和函數封裝在結構體或類中,通過接口進行訪問和修改。

將代碼劃分為多個模塊,每個模塊負責特定的功能,并通過接口與其他模塊交互。

05

定期優化代碼

一個好的項目,肯定需要是定期維護和優化。比如優化數據結構和算法,減少不必要的全局變量,甚至定期重構部分模塊代碼。

06

增加審查團隊

一般大公司會有專門的代碼審查相關的部門,進行定期的代碼審查,強調全局變量使用的危害,并鼓勵團隊成員尋找替代方案。

通過團隊協作和討論,共同尋找最佳實踐,也能減少全局變量的使用。

本文轉載自公眾號|strongerHuang

如有侵權 |聯系刪除

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4875

    瀏覽量

    69952
  • 全局變量
    +關注

    關注

    1

    文章

    28

    瀏覽量

    9086
收藏 人收藏

    評論

    相關推薦

    關于全局變量和功能全局變量的創建和使用

    的前面板,如下圖: 然后就可以在這個前面板中放置想要的控件了(不同的控件代表不同的數據類型),放置好之后保存這個VI,記住保存的路徑,這樣全局變量就建好了,如下圖: 然后就可以在不同的VI中使用
    發表于 01-25 20:58

    為什么定義的全局變量會變化?

    (){..}還有很多全局變量執行一句跟他毫不相關的語句,他就會變化.....??????難道說全局變量用的太多了....全局變量???? 菜鳥求教.......據說
    發表于 07-31 04:10

    關于全局變量的一些注意事項

    一直聽說不要大量使用全局變量,但是全局變量用的太舒服了…不過慢慢寫的代碼多了,就出現問題,全局變量太多,代碼都缺乏藝術感了…同時會造成一些
    發表于 07-16 06:11

    static作用(修飾函數、局部變量、全局變量

    詳細介紹了static作用(修飾函數、局部變量、全局變量)的用法
    發表于 11-17 10:30 ?4次下載

    Labview之全局變量

    Labview之全局變量,很好的Labview資料,快來下載學習吧。
    發表于 04-19 10:56 ?0次下載

    從匯編代碼訪問C全局變量

    12.2 從匯編代碼訪問 C target=_blank style=cursor:pointer;color:#D05C38;text-decoration:underline;》C 全局變量
    發表于 10-19 09:25 ?0次下載

    全局變量和局部變量有什么區別

    全局變量是編程術語中的一種,源自于變量之分。變量分為局部與全局,局部變量又可稱之為內部變量。局部
    發表于 12-11 11:58 ?3.3w次閱讀
    <b class='flag-5'>全局變量</b>和局部<b class='flag-5'>變量</b>有什么區別

    在C語言中,全局變量濫用的后果是什么

    所創建的變量通常都是局部變量,只能被內部引用,而無法被其它對象或函數引用。 全局變量既可以是某對象函數創建,可以是在本程序任何地方創建。全局變量
    發表于 06-24 17:14 ?1726次閱讀

    分析如何遠離漫天飛舞的全局變量

    剛剛開始用C或者其他面向對象編程語言(比如C++)的小伙伴們,常常在一個項目里為了圖省事,整了很多全局對象、全局變量滿天飛,這樣做其實是有很多弊端,本文來聊聊這個話題。 先談談全局變量
    的頭像 發表于 09-15 13:49 ?1796次閱讀

    C語言中局部變量全局變量

    全局變量稱為外部變量,它是在函數外部定義的變量。它不屬于哪一個函數,它屬于一個源程序文件。其作用域是整個源程序。在函數中使用全局變量,一般
    的頭像 發表于 10-15 10:48 ?5799次閱讀

    詳解LABVIEW中的局部變量全局變量

    本文檔的主要內容詳細介紹的是LABVIEW初級教程之局部變量全局變量的詳細資料說明。
    發表于 03-29 15:00 ?26次下載

    全局變量被未知原因改變的解決方法

    在開發的過程中總會碰到一些奇怪的問題,仿真的時候一看,發現是某個全局變量被莫名其妙改變了,導致整個函數判斷都出了問題。全局變量可能會被改變的原因有以下幾點:1.自己改的(廢話~):好好查看這個
    發表于 12-20 18:47 ?28次下載
    <b class='flag-5'>全局變量</b>被未知原因改變的解決方法

    用個簡單demo實現對全局變量的管理

    在項目中基本都會遇到全局變量,隨便放很容易忘記變量的使用,不方便后續的閱讀,就需要對全局變量進行統一管理,下面就用個簡單demo,實現對全局變量
    的頭像 發表于 11-10 11:01 ?1079次閱讀

    RTOS任務間通信為什么不用全局變量?

    RTOS任務間通信為什么不用全局變量?原因在于使用全局變量存在諸多弊端。
    發表于 07-05 09:06 ?937次閱讀

    全局變量太多有哪些弊端?

    隨著全局變量的增多,不同模塊的變量名可能會產生沖突或混淆,導致代碼難以理解和維護。同時,全局變量使得代碼中的依賴關系變得復雜,難以追蹤和理解。這增加了新開發人員的學習成本,增加了修改
    發表于 04-24 09:15 ?1061次閱讀
    主站蜘蛛池模板: 成 年 人 视频在线播放 | 精品理论片 | 亚洲欧美日韩一区 | 第一福利在线 | 五月激情久久 | 黄色片网站日本 | 97色婷婷成人综合在线观看 | 99久久精品费精品国产 | 老熟女毛片 | 天天搞夜夜 | 特级毛片免费看 | 高清视频在线播放 | 美女视频黄又黄又免费高清 | 天天摸天天操天天爽 | 无人区理论片手机看片 | 黄视频在线观看免费 | 成年免费大片黄在线观看免费 | 亚洲人成a在线网站 | 美女网站色免费 | 色视频在线免费看 | 国产真实偷乱视频在线观看 | 亚洲人成电影综合网站色 | 操人网站 | 亚洲视频免费一区 | 亚洲综合激情九月婷婷 | 黄色网页在线播放 | 午夜影院免费 | 色多多黄色 | 五月婷婷深爱五月 | 特级毛片免费视频观看 | 婷婷综合网站 | 国产欧美视频在线 | 欧美精品一级 | 亚洲色图.com | 高清视频一区二区 | 婷婷五月色综合香五月 | 精品精品国产理论在线观看 | 四虎免费看黄 | 国产巨大bbbb天美 | 91av视频在线| 老汉影视永久免费视频 |