<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
      分享至

      “重載”會逼瘋一個程序員嗎?會!當重載在代碼中無處不在時,真的會讓一個接手他人代碼的程序員分分鐘陷入崩潰!重載出現的本意是當一個函數的默認實現滿足不了現實需求的時候,使用重?載則可以直接打破函數原有邏輯或者在原有邏輯上追加邏輯,大大方便了程序的擴展性,但是,我們公司有一個“大牛”他的重載用法,我看了真的很難受!



      先說下重載的用法,首先你得繼承一個基類,這個基類中需要定義一個“虛方法”,大多數編程語言中,虛方法需要使用virtual關鍵字來裝飾,然后繼承這個基類的實體類需要重載這個虛方法,一般使用protected override關鍵字來聲明重載。

      當然,虛方法中你可以定義一些基礎實現,也可以完全不用實現任何邏輯,但是,不實現任何邏輯的話,完全只為了讓外部重載這種用法不建議,因為這樣的話,你完全可以不用定義基類和虛方法,聲明一個接口就完全符合你的要求了!

      我們公司的“大牛”使用虛方法的原因就是他想在某些操作中統一去執行一些東西,比如說一些確定和取消按鈕,當點擊時需要關閉窗口或者頁面,所以,但凡是按鈕的確認和取消功能他都繼承了含有虛方法的基類,然后直接調用重載方法去執行頁面的關閉邏輯!

      乍一看好像沒什么毛病,基類的結構也很簡單,里面有兩個虛方法,一個確認方法,一個取消方法,每個需方法里面只加了一行代碼,用來執行關閉窗口或者頁面的委托(或者說邏輯)。

      如果你直接調用虛方法的重載實現我都沒什么話說,主要是在虛方法的基類基礎上又加了兩個轉發函數,外部在調用虛方法時不直接調用,而是先調用兩個轉發函數,由轉發函數去執行基類虛方法的實現!



      他這么做的原因是因為代碼框架中確定和取消按鈕必須先實現代碼框架定義的系統基類中的兩個虛方法,分別是確定和取消。

      這么一來,其實他自己定義的基類和系統基類中的虛方法其實就沖突了,而為了硬調用他自己寫的基類,因此就有了上面所說的轉發函數。

      這兩個轉發函數是做什么用的呢?其實道理也很簡單,因為代碼框架要求確定和取消必須先實現系統函數,因此,他在自己寫的基類中線定義了一個系統函數的實現,這樣確定和取消按鈕就可以直接調用這個實現。

      但是,光調用實現不行,自己定義的虛方法也需要實現,因此,在這個實現的基礎上,又調用了對應的虛方法,在前端層面,也就是直接調用了虛方法的重載!



      是不是很繞?我在看這段代碼的時候,其實我也被繞了,雖然道理很簡單,但是這種“硬控”代碼,我欣賞不來!

      最主要的是,當我想要定位按鈕的實現時,我只能定位到系統函數的實現,但是,因為系統函數的實現是被他寫在虛方法的基類中的,因此,我在定位函數實現的時候首先會被定位到他自己實現的函數基類中。

      如果此時你是第一次看他的代碼,你會完全摸不著頭腦,因為你到現在還沒發現函數的真正實現直到我去仔細觀賞他在基類里面寫的代碼,我才知道:哦,原來他是通過調用這個函數,然后去調用那個虛方法的實現的,所以,我應該去前端找這個名字的虛方法的對應的方法實現!



      能明白我的糾結點嗎?比如說我要干一件事情,A明明知道我需要干什么事情,當我去問A時,A說他按照流程,得先讓我去B那過一下,由B把任務發布給我,然后我到了B那以后,B告訴我,我的任務就是去A那執行!

      能明白嗎?B的作用只是中轉!且如果不經過B,A是不會告訴我具體應該執行什么東西的!

      如果代碼中到處都充斥著這種代碼,那我在閱讀代碼時就需要來來回回折騰:先定位方法-定位到基類-在基類里面找方法的虛方法-回到原方法去找虛方法的實現!

      除非你對這套代碼很熟,否則一定會被代碼給繞進去。

      我想了很久,他這么干的意圖是什么,最后,我沒有看到任何好處,只有一點,那就是的確代碼變得優雅了。

      首先,我們公司做的都是非標自動化項目,排除一些常用的硬件、通訊協議、UI我們會封裝成庫外,其他的基本上每個項目的代碼邏輯都不一樣,而且,后續再動代碼的可能性極小,即使是客戶想要新增功能,也不會出現大改的情況。

      反而是一個項目代碼部署出去可能等第二次客戶要求增加功能時,因為我們這個行業程序員流動性比較大,因此,到那個時候當初寫這套代碼的人可能都不在了!

      因此,代碼的可讀性是最重要的,代碼的可讀性上來了,應對突發狀況的反應時間也就會很快,也會減少客戶那邊停機的損失。

      結語

      所以,別扯什么設計模式,有些時候,代碼優雅的能開香檳,也不及讓一個剛畢業的程序員能看懂來得實際!而一般維護這些已經交付的項目的人,恰恰就是那些經驗稍淺一些的程序員!

      所以,我最后嘆了一口氣,因為我改變不了什么,代碼本身是來解決問題的,但是有些時候代碼寫得太通俗易懂反而會被人說成“幼稚”、“不夠優雅”。

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

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

      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月上市 搭載華為四激光智駕方案

      態度原創

      家居
      房產
      時尚
      健康
      公開課

      家居要聞

      素色肌理 品意式格調

      房產要聞

      重磅!海南“十五五”規劃出爐!未來五年,方向定了!

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

      轉頭就暈的耳石癥,能開車上班嗎?

      公開課

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

      無障礙瀏覽 進入關懷版