新聞資訊  快訊  焦點  財經  政策  社會
互 聯 網   電商  金融  數據  計算  技巧
生活百科  科技  職場  健康  法律  汽車
手機百科  知識  軟件  修理  測評  微信
軟件技術  應用  系統  圖像  視頻  經驗
硬件技術  知識  技術  測評  選購  維修
網絡技術  硬件  軟件  設置  安全  技術
程序開發  語言  移動  數據  開源  百科
安全防護  資訊  黑客  木馬  病毒  移動
站長技術  搜索  SEO  推廣  媒體  移動
財經百科  股票  知識  理財  財務  金融
教育考試  育兒  小學  高考  考研  留學
您當前的位置:首頁 > IT百科 > 程序開發 > 程序員

想從程序員變成架構師?看100篇架構設計的文章,不如干1次這個

時間:2019-06-18 10:25:43  來源:  作者:

有位名人說過,程序都有兩面性,一是程序今天可以做什么,二是程序明天可以做什么。通常,我們只關心,準確地說,是老板只關心,程序今天能做什么。雖然老板口頭上天天喊著關心程序員成長,程序質量最重要,但實際上還是進度最重要。

什么是重構

什么是重構呢?重構是對軟件內部的結構性調整,在保持原有的功能的前提下,提高程序的可理解性,降低修改的成本,提升程序的運行性能。

 

想從程序員變成<a href=http://www.encras.tw/it/cxkf/jiagou/ target=_blank class=infotextkey>架構</a>師?看100篇架構設計的文章,不如干1次這個

讓代碼更容易理解

我們的程序,無論多么優秀的設計,往往隨著我們不停的維護,代碼總會變爛,特別是代碼往往是不同人的維護,每個人的代碼習慣,對業務的認識,對系統的理解都不一樣,最重要的是,開發時間太趕了,導致代碼越來越難以理解。

代碼越多,就越來越難以理解,一個邏輯,可能散落在系統各個地方,我們常常把線上代碼必成盜墓機關,稍有不慎,就會帶來Bug。這是次要,為什么我們總在加班,因為很簡單的功能,本來預估2個小時,后來寫著寫著才發現還要花18個小時來兼容其他邏輯問題。

發現原有的Bug

偉大的程序員,不是天生的。每一個程序員都會犯錯誤,也會留下埋得很深的Bug。重構,需要我們去深入梳理業務,深入了解每一行代碼,對每一個代碼中的“機關”做出假設,最后總能發現意想不到的Bug。

提高程序的運行速度與編譯速度

我們的代碼中,常常有一些爛代碼,最常見的情況莫過于幾個一些重復的函數,無關緊要的類,無關緊要的邏輯。舉個簡單的例子,我們寫一個電商計算運費系統,去數據庫里面查詢了用戶的地址,快遞公司的信息,用戶有沒有相關卡券,最后卻發現用戶買的商品是虛擬產品,壓根就不需要去計算運費!

架構師都是從重構開始的

這個其實才是最重要的,每一個架構師,都是從重構系統開始的!如果一個架構師沒有重構過一個系統,那只能說他夸夸其談,紙上談兵。重構,對一個程序員的成長有多大?

  • 對業務的代碼非常熟悉,很快就能成長為骨干
  • 重構的時候適合使用新技術,新框架,更有利于你的成長。
  • 重構,又稱高速上換輪胎,如何保證系統的穩定,是考驗你真正實力的時候
  • 重構的結果,必定會讓你的上級對你刮目相看。
  • 即便是重構出問題,損失的更多的還是老板,對于程序員,最多也只是丟掉飯碗。當然,出于職業道德,我們當然不能故意搞出問題。

何時開始重構,需要注意什么

重構,一般都在比較大的需求變更的時候,當然,我們要選擇在時間比較富余,公司有其他資源支持的情況下。重構的時候,我們當然要先深入理解業務,知會相應的測試,自己編寫測試用例。當然,我們能引入自動化測試那就更好了。如果經理支持,那是最好的情況,當然我一般都是先斬后奏,把需求做好的基礎上,進行小規模的重構,完成后才向老板進行匯報。(這種還是要看老板而異,哈哈,只能說我運氣好,遇到的老板都支持我折騰)

總結

重構,很多人很討厭,大家都喜歡堆代碼,追求完成功能。但其實,重構是對一個程序員最好的成長機會,是讓你成為架構師最好的墊腳石,希望大家能夠好好珍惜這個機會,學好相關的重構技巧,大膽嘗試!(同名公眾號,沙茶敏碎碎念)
 



Tags:程序員   點擊:()  評論:()
聲明:本站部分內容來自互聯網,內容觀點僅代表作者本人,如有任何版權侵犯請與我們聯系,我們將立即刪除。
▌相關評論
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
▌相關推薦
1. Linux Virtual Server項目針對高可伸縮、高可用網絡服務的需求,我們給出了基于IP層和基于內容請求分發的負載平衡調度解決方法,并在Linux內核中實現了這些方法,將一組服務器...【詳細內容】
2019-10-10   程序員  點擊:(1)  評論:(0)  加入收藏
初始化一個類,生成一個實例的時候;newInstance() 和 new 有什么區別?用newInstance與用new是區別的,區別在于創建對象的方式不一樣,前者是使用類加載機制,那么為什么會有兩種創建...【詳細內容】
2019-10-10   程序員  點擊:(1)  評論:(0)  加入收藏
這篇文章覆蓋了計算機科學里面常見算法的時間和空間的大 O 復雜度。參加面試前,經常需要花費很多時間從互聯網上查找各種搜索和排序算法的優劣,以便在面試時不會被問住。最近...【詳細內容】
2019-10-08   程序員  點擊:(1)  評論:(0)  加入收藏
一、什么是跨域前端頁面與后臺服務必須同源,即協議,域名,端口都要相同,其中有一個不同都會產生跨域;如下圖,加深理解 二、解決方案1、jsonp前后端需要特殊處理,代碼不夠簡潔通用。...【詳細內容】
2019-10-08   程序員  點擊:(4)  評論:(0)  加入收藏
有不少同學問過我技術能力的問題。比如說工作三年的人,應該有怎樣的技術能力。 圖片來自 pexels我們公司內部有一個技術等級的標準,但我感覺那種描述太虛。實際面試的過程中...【詳細內容】
2019-09-27   程序員  點擊:(3)  評論:(0)  加入收藏
跨過找工作這個坎,還需要不斷提升自己,才能真正成為程序員隊伍中的一員。作為一名剛邁過找工作這個坎的人,應該怎么做,才能繼續混下去呢?有三點,值得學習。剛入職時一般公司是不會...【詳細內容】
2019-09-27   程序員  點擊:(5)  評論:(0)  加入收藏
讀者A:我剛參加工作一年,感覺什么也不精通。大學學的是 Java,但這一年來 Python 特別火,有幾個轉到 Python 的同學工資竟然比我高。我是不是也應該轉呢?類似這樣的問題還有一些,比...【詳細內容】
2019-09-27   程序員  點擊:(8)  評論:(0)  加入收藏
在Java語言里,面向對象思想能夠讓并發編程變得更簡單。可以從封裝共享變量,識別共享變量間的約束條件和執行并發訪問策略這三個方面下手。 封裝共享變量將共享變量作為對象屬...【詳細內容】
2019-09-26   程序員  點擊:(7)  評論:(0)  加入收藏
最近我寫了一些文章,關于 Java 程序員今年應該學習什么,例如編程語言,庫和框架等,如果只能學習或提高其中一項,那必然是自動化測試技能。測試是專業程序員區別于業余程序員的一項...【詳細內容】
2019-09-25   程序員  點擊:(5)  評論:(0)  加入收藏
一個程序員看待職業的方式,決定了他能走多遠。有的人把職業當游戲,不論 buff 還是 bug 都要闖過去;有的人把職業當對手,不是一心想贏,只是不想輸;有的人,活得是造型;有的人,活得是人...【詳細內容】
2019-09-19   程序員  點擊:(6)  評論:(0)  加入收藏
Java 程序員方向太多,且不說移動開發、大數據、區塊鏈、人工智能這些,大部分 Java 程序員都是 Java Web/后端開發。那作為一名 Java Web 開發程序員必須需要熟悉哪些框架呢?今...【詳細內容】
2019-09-18   程序員  點擊:(8)  評論:(0)  加入收藏
日志管理工具有Splunk、Sumo Logic、LogStash、GrayLog、Loggly和PaperTrails等等,數不勝數。日志就像石油,二十多年了我們一直想擺脫它,卻一直沒有做到。為了處理日益增長的數...【詳細內容】
2019-09-16   程序員  點擊:(15)  評論:(0)  加入收藏
本節內容主要對流量控制原理認識,接下來的章節會對二層通信知識點進行系統講解。 流量控制需求產生:流量控制可以有效的防止由于網絡中瞬間的大量數據對網絡帶來的沖擊,保證用...【詳細內容】
2019-09-11   程序員  點擊:(20)  評論:(0)  加入收藏
前言緩存對于Web開發有重要作用,尤其是大負荷Web系統開發中。MDove:當然即使不是Web開發,緩存的意義也是舉足輕重。拿客戶端來說,從硬盤數據庫取肯定要比網絡獲取快,從內存取一定...【詳細內容】
2019-09-11   程序員  點擊:(14)  評論:(0)  加入收藏
在互聯網中,我們常常講究著唯快不破,相信不少人都有這樣的經歷,明明一個非常簡單的需求,但卻要修改非常多的系統,導致開發效率低下,從而不停的加班。一個好的程序員,一定要學會設計...【詳細內容】
2019-09-10   程序員  點擊:(13)  評論:(0)  加入收藏
為了將我們的應用部署到服務器上,我們需要為其配置一個運行環境。從底層到頂層有這樣的運行環境及容器: 隔離硬件:虛擬機 隔離操作系統:容器虛擬化 隔離底層:Servlet容器 隔離依...【詳細內容】
2019-09-02   程序員  點擊:(24)  評論:(0)  加入收藏
我們程序員是一門技術工種,與互聯網其他行業相比薪水會相對高一點,不過錢也不是那么好賺的,有利也有弊,都知道程序員相對累一點,加班也是常事。然而程序員的工種也有另外一個特...【詳細內容】
2019-08-26   程序員  點擊:(21)  評論:(0)  加入收藏
今年在國內互聯網公司中真的是很流行中臺這個概念,不,是非常流行,是相當流行。作為程序員真的非常有必要了解一下。1國內中臺概念的由來國內中臺的這個概念最早是由阿里巴巴提...【詳細內容】
2019-08-26   程序員  點擊:(84)  評論:(0)  加入收藏
周會上同事拋出了一個問題,程序員如何減少開發中的 Bug?很有意思的一個話題,本篇文章我們來進行探討與總結。...【詳細內容】
2019-08-26   程序員  點擊:(29)  評論:(0)  加入收藏
眾所周知,編譯技術是計算機科學史上的明珠之一。如果說整個互聯網的發展是構建在編譯技術和編程語言之上也毫不為過。但可能有的程序員會覺得,我也不會去設計一門新的編程語言...【詳細內容】
2019-08-21   程序員  點擊:(19)  評論:(0)  加入收藏
推薦資訊
相關文章
欄目更新
欄目熱門
31选7开奖11185