WEB程序代码优化入手的几方面
生活随笔
收集整理的這篇文章主要介紹了
WEB程序代码优化入手的几方面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里對web程序方面的優化作一個總結.
1.編碼規范化可讀性優化
編碼規范我想一般程序員不會不了解,如果你這方面是空白你應該好好補補基礎了,做到編碼規范是一個好的程序員的最基礎要求,一個團隊也應該有自己的編碼規范。所以程序的優化也應該包含到這個方面,在你開發程序的過程中可能會有些遺漏,所以在我們進行編碼規范化可讀性優化是很有必要的。其實一份再好的程序代碼若干年后你自己都未必能看的懂更不用說別人來看你的代碼,使你自己寫出的代碼有更好的可讀性,這個是一個好的程序員應該做的,并且是對一個團隊和你自己作品的責任感。
優化方向就是使你的代碼更清析更易懂。
2.程序效率、流程邏輯優化
程序效率的優化是最重要的,程序運行速度是程序代碼好壞最重要的因素,程序邏輯其實就是你的解決思路,解決思路并不是唯一的,所以我們可以對它進行優化。邏輯的設計也和可讀性有一定的關系,邏輯清晰可讀性就更強。
優化的方向就很明確了提高速度,清晰邏輯。簡單的邏輯并不代表一定是速度快,復雜的邏輯并不一定是慢的。所以在這兩方面是關聯。
3.SQL優化,減少查詢次數
在使用數據庫的程序中我們知道數據庫的查詢是在整個程序執行中占很大比例的,所以SQL的優化是非常重要的。
優化的方向一方面是SQL語句本身的優化,熟悉SQL的人應該會知道,不同的SQL寫法執行的效率差別是很大的,如:盡量不對字段加函數操作 ,更多的大家可以去查找高效SQL這方面的資料。第二在一個頁面中減少查詢次數,這個道理很清楚,我們可以把整個頁面的SQL都輸出來進行分析,是否可以合并語句,是否可以做冗余字段等等,盡量減少SQL的查詢次數,堅絕不在循環中使用查詢。
4.緩存優化
緩存優化其實就是對上一點的補充,但緩存優化是很重要的,所以可以單獨列為一點。緩存的數據主要就是從數據庫中讀取出來的。
對緩存的一些介紹:
當然緩存也應該適當,應該只把需要緩存的數據進行緩存。
5.html,css,js文件優化,減少冗余代碼
這一點與服務端程序沒有關系,主要是與瀏覽器相關的幾方面。html的結構是會影響到瀏覽器的解析,所以好的html代碼也會影響訪問速度。相比之下客戶端的代碼就不允許有一點無用的東西存在,能把文件減少一K就應該減少。js雖然是在客戶端執行但也應該去考慮它的效率問題,網絡上也有這方面的文章介紹。
6.可用性優化
可用性優化主要指的是UED方面的,并不是每一個團隊都有專門的UED,作為web程序的開發人員也應該有這方面的意識,去了解用戶,而不是埋頭寫代碼。努力使你開發的頁面對用戶更友好,更容易使用。
7.框架架構優化
如果有使用到開發框架,也應該考慮到對框架的優化,減少框架本身占用的資源。
其它:服務器架構優化、數據庫優化
這些方面和程序開發沒有直接關系,但和web程序的運行也是關系密切的,所以順便提一提。
1.編碼規范化可讀性優化
編碼規范我想一般程序員不會不了解,如果你這方面是空白你應該好好補補基礎了,做到編碼規范是一個好的程序員的最基礎要求,一個團隊也應該有自己的編碼規范。所以程序的優化也應該包含到這個方面,在你開發程序的過程中可能會有些遺漏,所以在我們進行編碼規范化可讀性優化是很有必要的。其實一份再好的程序代碼若干年后你自己都未必能看的懂更不用說別人來看你的代碼,使你自己寫出的代碼有更好的可讀性,這個是一個好的程序員應該做的,并且是對一個團隊和你自己作品的責任感。
優化方向就是使你的代碼更清析更易懂。
2.程序效率、流程邏輯優化
程序效率的優化是最重要的,程序運行速度是程序代碼好壞最重要的因素,程序邏輯其實就是你的解決思路,解決思路并不是唯一的,所以我們可以對它進行優化。邏輯的設計也和可讀性有一定的關系,邏輯清晰可讀性就更強。
優化的方向就很明確了提高速度,清晰邏輯。簡單的邏輯并不代表一定是速度快,復雜的邏輯并不一定是慢的。所以在這兩方面是關聯。
3.SQL優化,減少查詢次數
在使用數據庫的程序中我們知道數據庫的查詢是在整個程序執行中占很大比例的,所以SQL的優化是非常重要的。
優化的方向一方面是SQL語句本身的優化,熟悉SQL的人應該會知道,不同的SQL寫法執行的效率差別是很大的,如:盡量不對字段加函數操作 ,更多的大家可以去查找高效SQL這方面的資料。第二在一個頁面中減少查詢次數,這個道理很清楚,我們可以把整個頁面的SQL都輸出來進行分析,是否可以合并語句,是否可以做冗余字段等等,盡量減少SQL的查詢次數,堅絕不在循環中使用查詢。
4.緩存優化
緩存優化其實就是對上一點的補充,但緩存優化是很重要的,所以可以單獨列為一點。緩存的數據主要就是從數據庫中讀取出來的。
對緩存的一些介紹:
1.靜態頁
靜態頁是所有大型網站不必有的處理方式,主要對一級頁面和所有信息的詳細頁面的處理。其實靜態頁就是一種緩存處理,可以最大的降低服務器的負載,還有就是對SEO上的好處。靜態頁處理屬于永久緩存,對于信息的詳細頁面只有在數據修改時才進行更新和當模版修改時進行批量的更新,對于一級頁面進行編輯手動更新和定時更新。
2.小數據的永久緩存
像數據字典,新聞欄目,后臺角色、用戶等數據少長期不更新的數據可以進行永久的緩存處理。涉及到讀取只讀取緩存,只在修改數據時直接生成緩存。
3.訪問頻率高的數據按時緩存
像一些信息的點擊率排行,最新數據等數據訪問和更新頻率高但如果都直接讀取數據庫肯定對贊成很大的負載,這種類型的數據就必須對數據緩存后定時更新。這里用memcached內存緩存是最好的處理方式。
當然緩存也應該適當,應該只把需要緩存的數據進行緩存。
5.html,css,js文件優化,減少冗余代碼
這一點與服務端程序沒有關系,主要是與瀏覽器相關的幾方面。html的結構是會影響到瀏覽器的解析,所以好的html代碼也會影響訪問速度。相比之下客戶端的代碼就不允許有一點無用的東西存在,能把文件減少一K就應該減少。js雖然是在客戶端執行但也應該去考慮它的效率問題,網絡上也有這方面的文章介紹。
6.可用性優化
可用性優化主要指的是UED方面的,并不是每一個團隊都有專門的UED,作為web程序的開發人員也應該有這方面的意識,去了解用戶,而不是埋頭寫代碼。努力使你開發的頁面對用戶更友好,更容易使用。
7.框架架構優化
如果有使用到開發框架,也應該考慮到對框架的優化,減少框架本身占用的資源。
其它:服務器架構優化、數據庫優化
這些方面和程序開發沒有直接關系,但和web程序的運行也是關系密切的,所以順便提一提。
轉載于:https://www.cnblogs.com/MaxIE/archive/2008/03/07/1094859.html
總結
以上是生活随笔為你收集整理的WEB程序代码优化入手的几方面的全部內容,希望文章能夠幫你解決所遇到的問題。