前言 隨着項目的迭代,代碼中存在的分支判斷可能會越來越多,當里面涉及到的邏輯比較復雜或者分支數量實在是多的難以維護的時候,我們就要考慮下,有辦法能讓這些代碼變得更優雅嗎? 正文 使用枚舉 這里我們簡單的定義一個表示狀態的枚舉 ...
業務場景:設備和客戶端按照通訊協議進行通信,設備會有大量的消息送到到客戶端,然后客戶端收到消息並進行解析,根據不同的消息類型進行區分處理。 如果不考慮設計模式,不考慮易擴展性和易維護性,通常我們的代碼會是如下情況: 如果協議中的設備消息有 種,那我們自然就當前switch里面會包含 個case,每個case之間又會還有相關的業務代碼。 真實代碼片段是這樣的 這個switch里面包含了 行代碼,如果 ...
2017-05-19 17:21 0 1895 推薦指數:
前言 隨着項目的迭代,代碼中存在的分支判斷可能會越來越多,當里面涉及到的邏輯比較復雜或者分支數量實在是多的難以維護的時候,我們就要考慮下,有辦法能讓這些代碼變得更優雅嗎? 正文 使用枚舉 這里我們簡單的定義一個表示狀態的枚舉 ...
switch case雖然是代替if else而出現的,並不好維護,有時候使用switch還不如使用if else。 但沒有別的東西能代替switch case了嗎?答案當然是否定的,現在就有兩種方式。 先看一下使用switch的例子: 設定一個函數,傳進來num為1,2,3,4分別返回 ...
使用PHP內置函數的性能優劣 盡可能少用魔法函數 抑制符@會產生額外開銷 優化點:合理使用內存,利用unset()及時釋放不使用的內存(unset()出現注銷不掉的情況) 避免在循環內做運算 減少計算密集型業務 務必使用帶引 ...
1、減少Jquery使用 處理dom遍歷和復雜的腳本場景時,jquery可能有很大的幫助,不過在處理簡單的、直截了當的代碼場景就會遲緩。盡可能的避免jquery對象創建,尤其在循環中。 2、優化循環 用被緩存的數組長度 3、if/else和swith語句 ...
開篇 相信有過編碼經驗的人都知道,程序的正常運行,只是最基本的要求。更多的,還要考慮程序的性能,運行效率,組織結構,和重用性等等。 今天將簡單的討論一下如何優化程序性能。 要寫出高效的程序,可能多數初學者想到的是在程序中用合適的算法和數據結構。這確實是一中提高程序性能的主要方法 ...
本文主要講並行優化的幾種方式, 其結構如下: 鎖優化 減少鎖的持有時間 例如避免給整個方法加鎖 改進后 減小鎖的粒度 將大對象,拆成小對象,大大增加並行度,降低鎖競爭. 如此一來偏向鎖,輕量級鎖成功率提高. 一個簡單 ...
1、展示一下order by 在上億級別數據量有多慢 對於clickhouse來說,當表的基礎大到億級別, 如果做查詢后,在做order by 速遞是非常慢的; 比如我有一張表有3億條數據,表結構是: ENGINE = MergeTreePARTITION ...
1.合理使用索引索引是數據庫中重要的數據結構,它的根本目的就是為了提高查詢效率。現在大多數的數據庫產品都采用IBM最先提出的ISAM索引結構。索引的使用要恰到好處,其使用原則如下:●在經常進行連接,但是沒有指定為外鍵的列上建立索引,而不經常連接的字段則由優化器自動生成索引。●在頻繁進行排序或分組 ...