<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      一段代碼竟然包含了十幾種業務邏輯,程序員:一個委托直接解耦!

      0
      分享至

      公司一程序員有一段代碼寫得太亂了,總結下這段代碼的邏輯那就是業務邏輯結束了,需要往很多地方寫入業務結束的處理邏輯,而這個程序員對于業務結束的處理邏輯,我大概看了下,總共寫了大概有3000行左右的代碼,直接給我整崩潰了,原因是他把所有邏輯都寫在了一起,但凡有一個邏輯寫的有問題,代碼都走不下去。



      事情的起因是這個程序員寫的軟件總是在業務結束的時候出各種問題,改來改去,最后他自己都給改懵了,最后,項目經理看他腦子已經亂了,于是就讓我幫忙看看他的代碼,看看能不能幫他找出問題來。

      他這段代碼是寫在一個工具類里面的,還好,他還知道封裝一個工具類來整合業務結束的處理邏輯,但是一看代碼行,著實給我嚇了一跳,代碼總共有3000多行!

      據這個程序員所說,在業務邏輯結束以后,首先得往數據庫里面寫入日志,還得在本地寫入文本日志,最后根據業務的結束狀態,需要往外部發送業務邏輯的結束信號,還得在PLC里面寫入數據和業務狀態,最后我數了一下,前前后后,在這段業務結束的代碼里面總共需要往本地或者外部發送十幾種數據或者狀態。

      但是呢,其實業務結束的邏輯本身就幾十行,后面近3000多行代碼都是用來處理數據信號和數據存儲以及狀態的。

      最后,雖然我們通過分析,解決了這段代碼中的BUG,但是,面對這3000多行的代碼,我實在忍不了,因為代碼也得太臃腫、太耦合了!

      于是我問他:“如果當中有一段邏輯不用了你會怎么辦?”

      他想了一會兒,但是也沒想多久,告訴我:“只能把這段代碼給注釋了!”

      然后我又問他:“如果這里面又要新增一部分邏輯,你又會怎么辦?”

      結果他說:“那就在現在的代碼基礎之上再插入新的邏輯代碼!”

      我就知道他會這么說,而且,他也只能這么干!

      接著,我又問他:“現在你把所有的業務結束邏輯都寫在了一塊,萬一系統里面有其他的界面需要知道業務結束的狀態,你怎么辦?”

      他告訴我:“我在代碼里面加了一個狀態,其他頁面只要監聽這個狀態,就可以了!”

      于是我反問:“你會怎么做?”

      他回答:“在頁面上加一個定時器,然后一直讀取存儲狀態的變量,發現值變了,就知道業務結束了!”

      我無奈地拍了拍腦袋:“萬一,我說萬一,有十幾二十甚至是上百個頁面都需要知道這個狀態,你難道要寫十幾二十甚至上百個計時器嗎?”

      這時候,他不說話了,于是我說:“事情不需要那么復雜,只需要一個委托就夠了!”

      委托(Delegate),在C#這門編程語言里面又稱事件,簡單得說,委托就是一種對事件的訂閱!通過聲明調用,可以將事件觸發信號分發給訂閱了委托的其他方法中!



      比如說,現在代碼中的業務邏輯結束了,我們可以聲明一個委托,然后在業務邏輯結束時調用這個委托,這時候,只要外部代碼訂閱了這個委托,那么它們就會收到委托被執行的消息,具體來說,訂閱委托實際上就是給委托一個執行方法,在委托被執行后,這個執行方法會一起被執行!

      現在,在上述程序員寫的業務結束的代碼中集合了十幾種需要處理的邏輯,這時候,我們可以在業務結束的代碼里面聲明一個委托,然后將這十幾種需要處理的邏輯單獨封裝起來,然后訂閱業務結束的委托,當委托被觸發后,這十幾種已經封裝的邏輯塊都將收到事件信號,逐一處理即可。

      使用委托的好處在于它可以將繁復的業務邏輯模塊化,從而提升代碼的可讀性和可維護性,而委托本身就是一種狀態機制,因此,上述程序員寫的狀態字段的監聽程序也就沒必要寫了,直接將委托本身當作狀態或者使用委托參數的方式,把狀態傳遞給訂閱者即可。

      結語

      委托的概念其實很簡單,其實就是“當發生某件事情的時候由事情的發生者告訴訂閱者”,這跟我們手機上的消息推送機制很像,比如說當你關注了某個明星的賬號,當這個明星的賬號下面有了新的動態,你的手機就會在第一時間收到這個明星發送的最新動態。

      有一些剛開始使用委托的程序員會覺得委托會增加代碼的復雜性,但是,實際上用對了委托會感覺真香!

      聲明:個人原創,僅供參考

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      2026年春晚,釋放了3個信號,普通人要清醒

      2026年春晚,釋放了3個信號,普通人要清醒

      老特有話說
      2026-02-25 22:03:08
      俄烏沖突四周年:戰場上的那個“傻士兵”,得到了雙方的憐憫眷顧

      俄烏沖突四周年:戰場上的那個“傻士兵”,得到了雙方的憐憫眷顧

      一紙情書s
      2026-02-25 22:44:24
      楊紫真的已經瘦到天賦上限了,這也太牛了…

      楊紫真的已經瘦到天賦上限了,這也太牛了…

      手工制作阿殲
      2026-02-22 13:25:34
      000638,突發“天地板”!

      000638,突發“天地板”!

      中國基金報
      2026-02-27 14:48:50
      女子嘴角長水泡沒重視 當晚被宣告腦死亡

      女子嘴角長水泡沒重視 當晚被宣告腦死亡

      閃電新聞
      2026-02-26 15:27:39
      感動!李弘權備戰世預賽未能陪老婆生孩子,賽后發照片與孩子合影

      感動!李弘權備戰世預賽未能陪老婆生孩子,賽后發照片與孩子合影

      籃球資訊達人
      2026-02-27 00:31:05
      東北男人“新戰袍”:4000元的迪桑特,成了體制內的隱形工牌

      東北男人“新戰袍”:4000元的迪桑特,成了體制內的隱形工牌

      毒sir財經
      2026-02-25 23:40:03
      閨蜜主動來伺候我坐月子,以為是愛,她有天彎腰系鞋帶,我才醒悟

      閨蜜主動來伺候我坐月子,以為是愛,她有天彎腰系鞋帶,我才醒悟

      莎莉說情感
      2026-02-25 15:10:03
      你干過哪些陰暗齷齪的事?網友:最后一個真的好炸裂好真實

      你干過哪些陰暗齷齪的事?網友:最后一個真的好炸裂好真實

      帶你感受人間冷暖
      2026-02-17 01:00:24
      “指紋鎖”正在退出中國家庭?開鎖師傅說出實情,讓我恍然大悟!

      “指紋鎖”正在退出中國家庭?開鎖師傅說出實情,讓我恍然大悟!

      空間設計
      2025-11-26 12:32:03
      重磅!新華社官宣:我國造出全球首款纖維芯片,打破芯片規則

      重磅!新華社官宣:我國造出全球首款纖維芯片,打破芯片規則

      情系雨櫻花葉
      2026-02-27 18:21:36
      一路走好!2026年春晚才過10天,已有4位名人接連去世,令人唏噓

      一路走好!2026年春晚才過10天,已有4位名人接連去世,令人唏噓

      阿訊說天下
      2026-02-26 11:23:19
      3月一口氣放出10部好萊塢大片?!

      3月一口氣放出10部好萊塢大片?!

      君君電影院
      2026-02-26 22:05:14
      中俄剛說打通圖們江,第一個跳出來反對的,一點不讓人意外

      中俄剛說打通圖們江,第一個跳出來反對的,一點不讓人意外

      聞香閣
      2026-01-04 11:16:35
      魅族暫停手機研發!李楠曝光原因:當年我想辦法促成阿里入股 但一手對A最終失效

      魅族暫停手機研發!李楠曝光原因:當年我想辦法促成阿里入股 但一手對A最終失效

      快科技
      2026-02-27 12:18:14
      越老越帥的男星我只服這4位,不整容,不油膩,連褶子都魅力十足

      越老越帥的男星我只服這4位,不整容,不油膩,連褶子都魅力十足

      眼底星碎
      2026-02-27 13:11:12
      耗資12億建世界最高佛,如今水喝不起拜不起

      耗資12億建世界最高佛,如今水喝不起拜不起

      時光流轉追夢人
      2026-02-20 13:09:13
      002261,超50萬手封板!算力概念股,集體走強!

      002261,超50萬手封板!算力概念股,集體走強!

      證券時報e公司
      2026-02-27 10:49:00
      中國男子在俄討薪遭毆打!別再迷信俄友好,去異國打工真不是天堂

      中國男子在俄討薪遭毆打!別再迷信俄友好,去異國打工真不是天堂

      老馬拉車莫少裝
      2026-02-27 00:56:33
      你經歷過哪些殺人誅心的事?網友:所以沒有婆婆拆散不了的家

      你經歷過哪些殺人誅心的事?網友:所以沒有婆婆拆散不了的家

      帶你感受人間冷暖
      2026-02-11 10:54:58
      2026-02-27 21:52:49
      程序員古耕 incentive-icons
      程序員古耕
      程序員、網文作家、自媒體人
      599文章數 389關注度
      往期回顧 全部

      頭條要聞

      殯儀館工作人員紅衣、黃發主持老人告別儀式 館方致歉

      頭條要聞

      殯儀館工作人員紅衣、黃發主持老人告別儀式 館方致歉

      體育要聞

      一場必須要贏的比賽,男籃何止擊敗了裁判

      娛樂要聞

      郭晶晶霍啟剛現身香港藝術節盡顯恩愛

      財經要聞

      沈明高提共富建議 百姓持科技股國家兜底

      科技要聞

      單張不到五毛!谷歌深夜發布Nano Banana 2

      汽車要聞

      嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

      態度原創

      本地
      親子
      時尚
      教育
      公開課

      本地新聞

      津南好·四時總相宜

      親子要聞

      這個社會允許幼兒哭鬧的年齡是幾歲

      冬季穿搭要避開臃腫感!配色不老氣、穿衣不隨意,越看越高級

      教育要聞

      面對老師不合理的要求,請寶媽們教孩子向這個七歲女孩學習!

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版