摘要:用不了多久,我們就會發(fā)現(xiàn)我們已經(jīng)無力償還這份技術(shù)債務啦,只能重構(gòu)啦。當然,最重要的其實是把技術(shù)債務的重要性提到一個被認可的位置上。切記一些重要的技術(shù)債務遠遠比開發(fā)新系統(tǒng)的優(yōu)先級要高很多。
技術(shù)債務
「技術(shù)債務」是開發(fā)團隊在設計或架構(gòu)選型時,從短期效應的角度選擇了一個易于實現(xiàn)的方案。但從長遠來看,這種方案會帶來更消極的影響,亦即開發(fā)團隊所欠的債務。
簡單的說就是為了快速地解決問題,而采取的不規(guī)范的方案。
比如:開發(fā)工程師將某個判斷條件寫死、測試工程師未進行深入自動化測試、架構(gòu)師運用了一個即將過時的框架。
危害性
對于房貸,大家肯定每個月都記著去還。
但是,對于技術(shù)債務,大家似乎都不那么關(guān)心。
的確,這個東西不一定誰借誰還,可能一個人的代碼中產(chǎn)生了技術(shù)債務,可能是由于項目做,工作壓力大,離職了。
那么,這筆債務就壓在了工作接替者的身上,古人語:父債子償,不知道這叫什么,O(∩_∩)O哈哈~
比如我們在一個類中欠下了技術(shù)債務,如果對這個類進行擴展、修改,或按照原來錯誤的寫法寫了一些新的業(yè)務方法。
用不了多久,我們就會發(fā)現(xiàn)我們已經(jīng)無力償還這份技術(shù)債務啦,只能重構(gòu)啦。
客戶:經(jīng)常BUG纏繞,長期缺失的需求不能上線。
運營:不合理的界面設計、文檔缺失、系統(tǒng)響應慢。
運維:頻繁的BUG修復上線。
管理層:各方的抱怨讓管理層崩潰,尤其是BUG、延期等問題。
研發(fā):開發(fā)人員的工作比較多面,一方面開發(fā)新的需求,另一方面又要維護他人遺留的代碼。
所有的問題,最終都會回到研發(fā)人員進行再次開發(fā)、修復,所以 加班,加班,加班...
其實每一個研發(fā)都不愿意出低質(zhì)量的產(chǎn)品,也沒有人愿意接受滿手都是坑的代碼。
分類
無意的
由于經(jīng)驗的缺乏導致初級開發(fā)者編寫了質(zhì)量低劣的代碼。
解決方案:
1.技術(shù)培訓
畢竟大部分的程序員學習能力還是很強的,部門牛人的培訓還是很有必要的,也是學習的重要途徑之一。
從最開始的代碼規(guī)范、到熟悉業(yè)務、最后再到編寫文檔。
2.CodeReview
CodeReview 是非常重要的,同時也是對自身的一個提高。
在這個階段不同工程師之間可以相互review,審查別人的代碼能夠發(fā)現(xiàn)很多問題,同時也能學到很多知識。
有意的
團隊根據(jù)當前而非未來進行設計選型,這種方式可能很快就能解決當前的問題,但卻很拙劣。
這就情況很可能是為了圖省事才這樣干的。
也有可能是工期太短,人員太少,技術(shù)問題等等。
推薦方法
系統(tǒng)設計的框架是對的
必須能夠有效處理當前需求可預見的情況,對于未知的、可能出現(xiàn)的特殊情況,很小的改動就能解決問題。
根據(jù)當前的業(yè)務,進行合理的創(chuàng)建數(shù)據(jù)表,盡量的代碼解耦和。
必須有日志模塊,操作日志,錯誤日志,業(yè)務日志等等...
所有的工程師有主人翁的意識
開發(fā)前,針對產(chǎn)品提出的需求,進行要進行細節(jié)確認,自己也可以畫一個程序的流程圖。
開發(fā)時,首先把流程全部順下來,其中遇到調(diào)用其他接口、技術(shù)難點、需求模糊,及時確認或記錄 TODO 標簽。
開發(fā)后,及時對自己的流程進行確認,查看代碼中是否有未解決的地方。
每個公司都有自己任務管理系統(tǒng),例如JIRA之類的,提測后,時時關(guān)注自己的BUG。
如果與產(chǎn)品有分歧的地方一定要及時溝通,達成共識。
一定要有健全的測試環(huán)境、預發(fā)布環(huán)境、正式環(huán)境
因為有些程序可能需要進行壓力測試,所以服務器的配置還是很關(guān)鍵的。
多個環(huán)境的測試,更能保證程序的健壯性。
定期處理一些技術(shù)債務
等產(chǎn)品上線后,開發(fā)就沒有那么緊啦,這個時間大家可以找個時間處理技術(shù)債務,一邊建立感情,一邊品味一下原來的代碼,是不是酸爽無比。
善于發(fā)現(xiàn)系統(tǒng)的技術(shù)債務
勇于發(fā)現(xiàn)系統(tǒng)中的技術(shù)債務,當然不是為了所謂的獎勵,僅僅是為了自己的提高,讓自己為系統(tǒng)負責,而不是事不關(guān)己高高掛起。
當然,最重要的其實是把技術(shù)債務的重要性提到一個被認可的位置上。
工程師如果能遇見一個債務可能導致的問題,自然愿意花時間去處理。
切記:一些重要的技術(shù)債務遠遠比開發(fā)新系統(tǒng)的優(yōu)先級要高很多。
Thanks ~
AD:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80993.html
摘要:用不了多久,我們就會發(fā)現(xiàn)我們已經(jīng)無力償還這份技術(shù)債務啦,只能重構(gòu)啦。當然,最重要的其實是把技術(shù)債務的重要性提到一個被認可的位置上。切記一些重要的技術(shù)債務遠遠比開發(fā)新系統(tǒng)的優(yōu)先級要高很多。 技術(shù)債務 「技術(shù)債務」是開發(fā)團隊在設計或架構(gòu)選型時,從短期效應的角度選擇了一個易于實現(xiàn)的方案。但從長遠來看,這種方案會帶來更消極的影響,亦即開發(fā)團隊所欠的債務。 簡單的說就是為了快速地解決問題,而采取...
摘要:用不了多久,我們就會發(fā)現(xiàn)我們已經(jīng)無力償還這份技術(shù)債務啦,只能重構(gòu)啦。當然,最重要的其實是把技術(shù)債務的重要性提到一個被認可的位置上。切記一些重要的技術(shù)債務遠遠比開發(fā)新系統(tǒng)的優(yōu)先級要高很多。 技術(shù)債務 「技術(shù)債務」是開發(fā)團隊在設計或架構(gòu)選型時,從短期效應的角度選擇了一個易于實現(xiàn)的方案。但從長遠來看,這種方案會帶來更消極的影響,亦即開發(fā)團隊所欠的債務。 簡單的說就是為了快速地解決問題,而采取...
摘要:最近一段時間,經(jīng)??吹郊夹g(shù)債務相關(guān)文章,最近也是參與了技術(shù)債務的清理。但是本文的背景是在一些大型的前端項目中技術(shù)債務的產(chǎn)生隨著前端復雜度的增加,技術(shù)債務就開始慢慢的在浮現(xiàn)出來。 最近一段時間,經(jīng)??吹郊夹g(shù)債務相關(guān)文章,最近也是參與了技術(shù)債務的清理。所以從參與者的角度介紹下遇到債務問題和對于技術(shù)債務的理解 其實在于前端領域,技術(shù)債務的相對較少,因為前端有一個特點就是隨著功能和設計的升...
摘要:什么是技術(shù)債務由于團隊在開始新項目的時候,舊項目的任何未完成的事情都會形成技術(shù)債務。技術(shù)債務產(chǎn)生原因有哪些原因技術(shù)債務的產(chǎn)生原因是多方面的,其形成的過程和生活中所擔的債務形成的過程具有非常大的相似性。 什么是技術(shù)債務? 由于團隊在開始新項目的時候,舊項目的任何未完成的事情都會形成技術(shù)債務。比如代碼不規(guī)范,需要進行代碼重構(gòu)的重構(gòu)債務;比如設計上未完成的設計債務,等等,統(tǒng)歸于技術(shù)債務。 而...
摘要:什么是技術(shù)債務由于團隊在開始新項目的時候,舊項目的任何未完成的事情都會形成技術(shù)債務。技術(shù)債務產(chǎn)生原因有哪些原因技術(shù)債務的產(chǎn)生原因是多方面的,其形成的過程和生活中所擔的債務形成的過程具有非常大的相似性。 什么是技術(shù)債務? 由于團隊在開始新項目的時候,舊項目的任何未完成的事情都會形成技術(shù)債務。比如代碼不規(guī)范,需要進行代碼重構(gòu)的重構(gòu)債務;比如設計上未完成的設計債務,等等,統(tǒng)歸于技術(shù)債務。 而...
閱讀 3031·2021-11-18 10:07
閱讀 3781·2021-11-17 17:00
閱讀 2111·2021-11-15 18:01
閱讀 938·2021-10-11 10:58
閱讀 3391·2021-09-10 10:50
閱讀 3465·2021-08-13 15:05
閱讀 1235·2019-08-30 15:53
閱讀 2659·2019-08-29 13:01