10個對開發專案有害的程式設計習慣

2021-08-27 20:18:07 字數 2563 閱讀 4133

避免這些常見的編碼習慣,會讓我們的工作更輕鬆、軟體更安全且更易於擴充套件。

帕雷託法則明確指出,20%的因導致80%的果。又稱為80-20法則,它適用於幾乎每乙個需要人作為勞動主體的相關領域。

在軟體開發領域,這個法則可以概括為,大多數的問題都是由少數不良編碼習慣造成的。改變這些習慣,你會更有效率。

10個對開發專案有害的程式設計習慣

下面講講最要不得的10條編碼習慣:

1.拼寫錯誤

讓我特別訝異的是,為什麼大家明知這個習慣百害而無一利,竟然還是任其在**中肆虐橫行,以致於經常出現拼寫錯誤的變數名和函式名。更加悲劇

的是,錯誤的拼寫常常隱蔽得很好,很難發現。

至於解決方法,可以在乙個良好的整合開發環境(ide)上寫**,或者乾脆用程式設計師專用的文字編輯器,這些都可以顯著減少拼寫錯誤。還可以選擇特

定 的變數名和函式名,一方面容易拼寫,另一方面即便寫錯了也能輕易發現。盡量避免使用很容易拼錯的單詞,例如「receive」,很容易拼寫成

「recieve」。

2.未按規定格式寫**

縮排和格式化,能讓我們的**一目了然、易於理解,有什麼錯誤也能一覽無餘。而且也方便別人理解和維護。

如果你使用的是不會自動格式化**的ide,那麼可以考慮使用**美化軟體,如uncrustify,這個軟體允許使用者自定義格式要求,然後它會一絲不苟地

執行。3.未按規定模組化編寫**

乙個函式對應乙個指令的習慣相當好,因為簡短所以易於理解和維護。長函式實現的可能路徑太多,所以測試起來就特別麻煩。

第乙個規範原則:乙個函式最多只能佔一顯示屏的空間。第二個:如果有10個以上的if語句或者迴圈語句,那麼你就可以考慮重寫了。

4.過度依賴ide

毫無疑問,ide和其他一些工具能讓你的**寫得又快又好。在一定範圍內它們能提供變數和其他很多東西,給出你想要輸入內容的多種選擇提示。但是

這 種型別的工具也存在著風險——如果你不能保證自己有火眼金睛,那麼很容易誤選相似的變數名。從本質上說,這類工具替代了人的一部分思維,但

實際上這是你自 己的責任。

工具的確是我們的好幫手,例如可以消除拼寫錯誤,以及提高工作效率等,但是如果你自己不仔細的話,同樣會有寫錯**的問題出現。

5.使用硬編碼的密碼

很多人傾向於硬編碼乙個秘密帳戶和密碼,這樣之後就可以自由進入系統。但是這是不對的——沒錯,這於你而言的確是大大的方便了,但同時這也大

大方便了別人去訪問你的源**。

究其原因在於,硬編碼的**比你想象的還要脆弱,這就使得它成為了乙個巨大的安全隱患,而且還是乙個很不好修復的安全隱患。

6.沒有採取良好的加密手段保護資料

敏感資料在網際網路上傳輸時是需要加密的,因為在這個過程中它很有可能被攔截。不要抱怨麻煩,這是最基本的安全要求。

這也意味著以明文形式傳送資料是不被認可的,同時也排除了我們使用自己的加密方式和混淆目標的措施。寫安全加密系統是很難的——看看wep的情況

就知道了——所以我們不妨使用經過驗證的標準加密庫。

7.過早優化**

donald knuth,一位傳奇的程式設計師,曾經說過,「程式設計師將太多的時間花在了思考和擔憂程式非緊要部分的進度問題上,因為這些舉措反而對效率產生

了強烈的負面影響,如果還同時要考慮到除錯和維護的話,那麼影響更甚。」

善於寫**的程式設計師的確能讓**跑得更快更順暢,但是後期除錯和維護相反則會變難。提供乙個好策略:清清楚楚地寫好**之後,再去找真正需要

優化的地方以提高效能。

8.沒有超前的思想

專案的目標是什麼?預計規模有多大?會有多少使用者,執行速度得有多快?這些問題乍一看上去好像和我們程式設計師沒啥關係——但是,如果不好好思考

這些問題,我們怎麼能正確選擇開發應用程式的框架,以滿足這些要求?

twitter在這方面就有因為低估未來需求而失敗的例子,導致其最終不得不放棄ruby on rails,並且重寫了很多使用scala和其他技術的**,這是因為

原先用於架構的ruby**,根本跟不上twitter的快速增長的使用者群。

9.以為增加人手就能加快進度

幾乎所有的軟體專案都會落後於計畫。有人會說,人多力量大,落後了那我新增人手不就能跟上進度了嗎?聽上去挺美的,但事實卻是,幾乎所有的項

目在增加「新鮮血液」之後都發生了「凝血反應」——整體效率不公升反降。

10.知錯不改,錯上加錯

接上面第9點,有人會說,既然不能新增人手,那我死命趕進度總可以了吧。我奉勸一句,不要抱這種幻想。如果你遠遠落後於計畫時間,那說明本身你

對專案的預估時間就是錯的。不要盲目地堅持將錯就錯,還是早點對專案時間做新的估計吧。

英文原文:10 bad coding practices that wreck software development projects

10個對開發專案有害的程式設計習慣

1.拼寫錯誤 讓我特別訝異的是,為什麼大家明知這個習慣百害而無一利,竟然還是任其在 中肆虐橫行,以致於經常出現拼寫錯誤的變數名和函式名。更加悲劇的是,錯誤的拼寫常常隱蔽得很好,很難發現。至於解決方法,可以在乙個良好的整合開發環境 ide 上寫 或者乾脆用程式設計師專用的文字編輯器,這些都可以顯著減少...

對開發專案有害的程式設計習慣

帕雷託法則明確指出,20 的因導致80 的果。又稱為80 20法則,它適用於幾乎每乙個需要人作為勞動主體的相關領域。在軟體開發領域,這個法則可以概括為,大多數的問題都是由少數不良編碼習慣造成的。改變這些習慣,你會更有效率。下面講講最要不得的編碼習慣 讓我特別訝異的是,為什麼大家明知這個習慣百害而無一...

10個針對開發者的實用CSS工具

儘管使用 css 可以實現很多漂亮的效果,但對於一些任務來說,實現起來比較費事。但是借助於一些工具,可以讓你的專案更快地實現。本文將分享 10 款對於設計師和開發者非常實用的 css 工具。1.dabblet 乙個互動式的 css 開發和 共享工具。該工具託管於 github 站點,提供了很多便利的...