自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10個對開發(fā)項目有害的編程習慣

開發(fā) 項目管理 后端
避免這些常見的編碼習慣,會讓我們的工作更輕松、軟件更安全且更易于擴展。

避免這些常見的編碼習慣,會讓我們的工作更輕松、軟件更安全且更易于擴展。

帕雷托法則明確指出,20%的因?qū)е?0%的果。又稱為80-20法則,它適用于幾乎每一個需要人作為勞動主體的相關(guān)領(lǐng)域。

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

[[132575]]

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

1.拼寫錯誤

讓我特別訝異的是,為什么大家明知這個習慣百害而無一利,竟然還是任其在代碼中肆虐橫行,以致于經(jīng)常出現(xiàn)拼寫錯誤的變量名和函數(shù)名。更加悲劇的是,錯誤的拼寫常常隱蔽得很好,很難發(fā)現(xiàn)。

至于解決方法,可以在一個良好的集成開發(fā)環(huán)境(IDE)上寫代碼,或者干脆用程序員專用的文本編輯器,這些都可以顯著減少拼寫錯誤。還可以選擇特定 的變量名和函數(shù)名,一方面容易拼寫,另一方面即便寫錯了也能輕易發(fā)現(xiàn)。盡量避免使用很容易拼錯的單詞,例如“receive”,很容易拼寫成 “recieve”。

2.未按規(guī)定格式寫代碼

縮進和格式化,能讓我們的代碼一目了然、易于理解,有什么錯誤也能一覽無余。而且也方便別人理解和維護。

如果你使用的是不會自動格式化代碼的IDE,那么可以考慮使用代碼美化軟件,如Uncrustify,這個軟件允許用戶自定義格式要求,然后它會一絲不茍地執(zhí)行。

3.未按規(guī)定模塊化編寫代碼

一個函數(shù)對應一個指令的習慣相當好,因為簡短所以易于理解和維護。長函數(shù)實現(xiàn)的可能路徑太多,所以測試起來就特別麻煩。

***個規(guī)范原則:一個函數(shù)最多只能占一顯示屏的空間。第二個:如果有10個以上的if語句或者循環(huán)語句,那么你就可以考慮重寫了。

4.過度依賴IDE

毫無疑問,IDE和其他一些工具能讓你的代碼寫得又快又好。在一定范圍內(nèi)它們能提供變量和其他很多東西,給出你想要輸入內(nèi)容的多種選擇提示。但是這 種類型的工具也存在著風險——如果你不能保證自己有火眼金睛,那么很容易誤選相似的變量名。從本質(zhì)上說,這類工具替代了人的一部分思維,但實際上這是你自 己的責任。

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

5.使用硬編碼的密碼

很多人傾向于硬編碼一個秘密帳戶和密碼,這樣之后就可以自由進入系統(tǒng)。但是這是不對的——沒錯,這于你而言的確是大大的方便了,但同時這也大大方便了別人去訪問你的源代碼。

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

6.沒有采取良好的加密手段保護數(shù)據(jù)

敏感數(shù)據(jù)在互聯(lián)網(wǎng)上傳輸時是需要加密的,因為在這個過程中它很有可能被攔截。不要抱怨麻煩,這是最基本的安全要求。

這也意味著以明文形式發(fā)送數(shù)據(jù)是不被認可的,同時也排除了我們使用自己的加密方式和混淆目標的措施。寫安全加密系統(tǒng)是很難的——看看wep的情況就知道了——所以我們不妨使用經(jīng)過驗證的標準加密庫。

7.過早優(yōu)化代碼

Donald Knuth,一位傳奇的程序員,曾經(jīng)說過,“程序員將太多的時間花在了思考和擔憂程序非緊要部分的進度問題上,因為這些舉措反而對效率產(chǎn)生了強烈的負面影響,如果還同時要考慮到調(diào)試和維護的話,那么影響更甚。”

善于寫代碼的程序員的確能讓代碼跑得更快更順暢,但是后期調(diào)試和維護相反則會變難。提供一個好策略:清清楚楚地寫好代碼之后,再去找真正需要優(yōu)化的地方以提高性能。

8.沒有超前的思想

項目的目標是什么?預計規(guī)模有多大?會有多少用戶,運行速度得有多快?這些問題乍一看上去好像和我們程序員沒啥關(guān)系——但是,如果不好好思考這些問題,我們怎么能正確選擇開發(fā)應用程序的框架,以滿足這些要求?

Twitter在這方面就有因為低估未來需求而失敗的例子,導致其最終不得不放棄Ruby on Rails,并且重寫了很多使用Scala和其他技術(shù)的代碼,這是因為原先用于架構(gòu)的Ruby代碼,根本跟不上Twitter的快速增長的用戶群。

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

幾乎所有的軟件項目都會落后于計劃。有人會說,人多力量大,落后了那我添加人手不就能跟上進度了嗎?聽上去挺美的,但事實卻是,幾乎所有的項目在增加“新鮮血液”之后都發(fā)生了“凝血反應”——整體效率不升反降。

10.知錯不改,錯上加錯

接上面第9點,有人會說,既然不能添加人手,那我死命趕進度總可以了吧。我奉勸一句,不要抱這種幻想。如果你遠遠落后于計劃時間,那說明本身你對項目的預估時間就是錯的。不要盲目地堅持將錯就錯,還是早點對項目時間做新的估計吧。

 

譯文鏈接:http://www.codeceo.com/article/10-bad-coding-break-project.html
英文原文:10 Bad Coding Practices That Wreck Software Development Projects

 

責任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2014-09-24 10:18:29

開發(fā)者開發(fā)習慣

2014-10-13 11:00:14

編程習慣不良開發(fā)項目

2009-05-11 15:53:39

開源LinuxUbuntu

2009-05-20 10:09:55

編碼習慣代碼風格Java

2022-07-04 08:00:00

Web開發(fā)人員編程習慣程序員

2017-09-01 11:01:22

開發(fā)編程習慣

2015-08-12 11:09:42

開發(fā)者設(shè)計原則

2011-03-24 09:25:54

程序員編程

2011-03-29 12:41:49

編程

2011-04-13 10:16:41

編程習慣

2021-02-20 23:33:34

TypeScript代碼開發(fā)

2009-01-03 14:34:49

ibmdwPHP

2009-01-03 10:40:41

PHP編程代碼

2020-04-22 10:35:07

編程學習技術(shù)

2015-11-23 09:27:39

程序員不良編程習慣

2019-10-16 08:00:00

網(wǎng)管員IT網(wǎng)絡(luò)

2009-09-21 10:14:51

2020-01-10 09:00:00

開發(fā)者編程習慣編程方式

2017-12-06 10:28:37

程序員編程習慣

2023-10-04 17:41:39

編程習慣代碼
點贊
收藏

51CTO技術(shù)棧公眾號