程序員(yuán)不知(zhī)道自己的缺點,你怎麽能改正?

時間:2022-02-14 作者:管理員(yuán) 點擊:367

不要誤會我(wǒ)(wǒ)的意思。我(wǒ)(wǒ)不想讓你難過。我(wǒ)(wǒ)有這些迹象,我(wǒ)(wǒ)努力提高自己。如果你不知(zhī)道自己的缺點,你怎麽能改正它們呢?我(wǒ)(wǒ)們需要有人告訴我(wǒ)(wǒ)們這些事情,但大(dà)多數程序員(yuán)沒有那個人。

大(dà)多數時候,我(wǒ)(wǒ)們知(zhī)道我(wǒ)(wǒ)們應該做什麽,但我(wǒ)(wǒ)們不去(qù)做。我(wǒ)(wǒ)們認爲我(wǒ)(wǒ)們可以稍後再做或改正。但“以後”永遠不會到來。這是一(yī)個懶惰的程序員(yuán)的常見标志(zhì),也是成爲一(yī)個糟糕的程序員(yuán)的第一(yī)步。

不明白(bái)代碼的目标

在編寫代碼之前,您必須了解代碼的用途,您的代碼将做什麽。這就像在你的腦海中(zhōng)運行代碼一(yī)樣。

症狀

保留從未使用過的變量。

産生(shēng)不相關的輸出。

調用與目标無關的函數。

爲了确定,多次執行幂等函數,如何 save()。

通過編寫一(yī)些覆蓋錯誤代碼的代碼來修複錯誤。

不必要的價值轉換。就像首先将十進制轉換爲字符串,然後再将字符串轉換爲十進制一(yī)樣。

補救措施

使用 IDE 自己的調試器作爲助手。

檢查變量更改前後的值。

對語言架構的理解不足

面向對象編程是一(yī)種編程模型,函數式或聲明式編程也是如此。它們不同于過程式或聲明式編程。當程序員(yuán)從一(yī)種架構遷移到另一(yī)種架構時,他們會感到困惑,這很正常。但随着時間的推移,你必須對那個架構有更好的理解。

症狀

不遵循标準 OOP。

(OOP) 在未實例化的類中(zhōng)調用非靜态函數/變量。

(OOP) 編寫了許多“XXXXManager”類,其中(zhōng)包含用于操作對象字段的所有方法,隻有很少的方法或沒有自己的方法。

将關系數據庫視爲對象存儲。

在客戶端代碼中(zhōng)執行所有連接和關系強制。

創建同一(yī)算法的多個版本來處理不同的類型。

設置單個值(在命令式代碼中(zhōng))而不是使用數據綁定。

補救措施

這不是一(yī)天就能克服的。你需要練習,練習,更多地是練習。

文檔閱讀。如果您不了解該語言的架構或者 OOP 基礎知(zhī)識,請花時間更好地理解。

遵循高級程序員(yuán)的代碼。

不信任自己的代碼

當你的邏輯很差時,你會感到困惑,并且會不信任自己的代碼。

症狀

不必要的編寫 IsNull() 或 IsNotNull() 或 IsTrue(bool) 或 IsFalse(bool) 函數。

檢查布爾類型變量是否不是真或假。

多次調用相同的函數以确認它的執行。

補救措施

不要從具有弱類型系統的語言中(zhōng)繼承不必要的舊(jiù)習慣。

對你的邏輯充滿信心。如果邏輯有問題,請嘗試新的邏輯。

陷入遞歸陷阱

遞歸的想法很棘手,但并不難。但是許多程序員(yuán)害怕遞歸,就像幽靈一(yī)樣。遞歸将使代碼更簡潔高效。遞歸就像梯子。你隻需要想象“你在哪裏”和“基地在哪裏”,以及你将如何上台或下(xià)台。

症狀

可以遞歸解決問題的複雜(zá)叠代算法。就像遍曆文件系統樹(shù)一(yī)樣。

在遞歸調用之前和之後檢查基本條件。

不測試基本條件的遞歸函數。

連接/求和到全局變量或攜帶輸出變量的遞歸子例程。

補救措施

分(fēn)幾個步驟運行代碼以了解流程。它可能會發生(shēng)一(yī)些堆棧溢出。但别擔心。

更改基本條件以查看輸出。

你的目标是對你在哪裏以及你在做什麽有信心和完整的感覺。

研究能力不足

現代框架和語言具有令人驚歎的内置命令和功能的廣度和深度。知(zhī)識如此之多,以至于一(yī)個好的程序員(yuán)需要幾年以上的時間來消耗。但是一(yī)個好的程序員(yuán)總是在開(kāi)始滾動他們自己的函數之前搜索一(yī)個内置函數。

症狀

在沒有内置于語言中(zhōng)的基本機制(例如事件和處理程序或正則表達式)的情況下(xià)進行重新發明。

重新發明框架中(zhōng)内置的類型和函數。

而不是搜索,“請通過電(diàn)子郵件将代碼發給我(wǒ)(wǒ),請”他們發布一(yī)則幫助論壇的消息。

即使新技術在這些情況下(xià)更好,也要堅持使用老式技術。

與其尋找一(yī)個直接的解決方案,不如通過編寫“Roundabout 代碼”使其複雜(zá)化,可以在許多步驟中(zhōng)完成可以用更少的代碼完成的事情。

補救措施

這項技能需要時間來建立。所以不要着急。

當你遇到問題時,不要去(qù)找程序員(yuán)或直接複制粘貼代碼。慢(màn)慢(màn)來。閱讀文檔。

對指針理解不佳

如果您不了解指針的概念,那麽您将很難編寫複雜(zá)的數據結構和高效的 API。您将産生(shēng)糟糕的數據結構設計和錯誤。

症狀

缺乏區分(fēn)方法調用中(zhōng)按值傳遞和按引用傳遞的知(zhī)識。

未能實現鏈表。

錯誤地對指針執行算術運算導緻無法找到或修複錯誤。

無法編寫在不丢失或删除數據的情況下(xià)從鏈表或樹(shù)中(zhōng)插入/删除節點的代碼。

制作指針的副本,通過副本更改取消引用的值,然後認爲原始指針仍指向舊(jiù)值。

補救措施

指針很容易理解,但由于缺乏實踐而經常被誤解。
返回列表
在線溝通

Are you interested in ?

感興趣嗎(ma)?

有關我(wǒ)(wǒ)們服務的更多信息,請聯系

136 7365 2363(同微信) 13140187702

鄭州網站建設鄭州網站設計鄭州網站制作鄭州建站公司鄭州網站優化--聯系索騰

與我(wǒ)(wǒ)們合作

鄭州網站建設鄭州網站設計鄭州網站制作鄭州建站公司鄭州網站優化--與索騰合作,您将會得到更成熟、專業的網絡建設服務。我(wǒ)(wǒ)們以客戶至上,同時也相互挑戰,力求呈現最好的品牌建設成果。

業務咨詢熱線:

136 7365 2363

TOP

QQ客服

在線留言