在類的頭文件中盡量少引用其他頭文件
主要是為瞭避免兩個類相互調用導致編譯錯誤,特別是兩個類都聲明瞭協議方法的時候,也許不會出現直接相互調用(相互依賴)的情況,但是要是出現第三個文件導致的相互調用的報錯,那就喜感瞭,找起來相當費勁。 防止這種情況,一般盡量使用@class 關鍵詞進行處理,並且註意協議[……]
只講重點的設計教學,立刻學習網頁教學網誌!
主要是為瞭避免兩個類相互調用導致編譯錯誤,特別是兩個類都聲明瞭協議方法的時候,也許不會出現直接相互調用(相互依賴)的情況,但是要是出現第三個文件導致的相互調用的報錯,那就喜感瞭,找起來相當費勁。 防止這種情況,一般盡量使用@class 關鍵詞進行處理,並且註意協議[……]
1.瞭解Objective-C語言的起源
2.在類的頭文件中盡量少引入其他頭文件
3.多用字面量語法,少用與之等價的方法
4.多用類型常量,少用#define預處理器指令
5.用枚舉表示狀態、選項、狀態碼
Objective-C與[……]
11.理解objc_msgSend的作用
12.理解消息轉發機制
13.用“方法調配技術”調試“黑盒方法”
14.理解“類對象”的用意
在對象上調用方法是Objective[……]
29.理解引用計數
30.以ARC簡化引用計數
31.在dealloc方法中隻釋放引用並解除監聽
32.編寫異常安全代碼時留意內存管理問題
Objective-C語言使用引用計數來管理內存,也就是說每個對象都有個可以遞增或遞減的計數器。如果想使某個對象繼續存活,那就[……]
15.用前綴避免命名空間沖突
16.提供全能化初始方法
17.實現description方法
18.盡量使用不可變對象
Objecti-C沒有其他語言那種內置的命名空間機制,鑒於此,我們在起名時要設法避免潛在的命名沖突,否則很容易出現重名。
避免此問題的唯[……]
19.使用清晰而協調的命名方式
20.為私有方法名加前綴
21.理解Objective-C錯誤模型
22.理解NSCopying協議
類、方法及變量的命名是Objective-C編程的重要環節。其語法結構使得代碼讀起來和句子一樣。名稱中一般都帶有in、f[……]
23.通過委托與數據源協議進行對象間通信
24.將類的實現代碼分散到便於管理的數個分類之中
25.總是為第三方類的分類名稱加前綴
26.勿在分類中聲明屬性
27.使用class-continuation分類隱藏實現細節
28.通過協議提供匿名對象
33.以弱引用避免保留環
34.以自動釋放池塊降低內存峰值
35.用僵屍對象調試內存管理問題
36.不要使用retainCount
對象圖裡經常會出現一種情況,就是幾個對象都以某種方式相互引用,從而形成環。這種情況通常會泄漏內存,因為最後沒有別的[……]
37.理解塊這一概念
38.為常用的塊類型創建typedef
39.用handler塊降低代碼的分散程度
40.用塊引用其所屬對象時不要出現保留環
塊與函數類似,隻不過是直接定義在另一個函數裡,和定義它的那個函數共享同一個范圍內的東西。塊用^符號來表[……]
41.多用派發隊列,少用同步鎖
42.多用GCD,少用performSelector系列方法
43.掌握GCD及操作隊列的使用時機
44.通過Dispatch Group機制,根據系統資源狀況來執行任務
45.使用dispatch_once來執行隻需要運行一次的線程安全代碼
46.不要使用[……]
47.熟悉系統框架
48.多用塊枚舉,少用for循環
49.對自定義其內存管理語義的容器使用無縫橋接
50.構建緩存時選用NSCache而非NSDictionary
51.精簡initialize與load的實現代碼
52.別忘瞭NSTimer會保留其目標對象
如何書寫高質量jQuery代碼(使用jquery性能問題)。
1.正確引用jQuery
1.盡量在body結束前才引入jQuery,而不是在head中。
2.借助第三方提供的CDN來引入jQuery,同時註意當使用第三方CDN出現問題時,要引入本地的jQuery文件。(對於已經使用瞭cdn的網站可[……]
CleverCode在實際的工作也寫過一些低效率的sql語句。這些語句會給資料庫帶來很大的壓力,最主要的表現就是sql語句運行慢,後來逐漸的去優化和嘗試。總結瞭一些高質量的sql語句的寫法。這裡CleverCode總結一下分享給大傢。
盡量避免在列上運算,這樣會導致索[……]
MySQL的優化主要分為結構優化(Scheme optimization)和查詢優化(Query optimization)。本章討論的高性能索引策略主要屬於結構優化范疇。本章的內容完全基於上文的理論基礎,實際上一旦理解瞭索引背後的機制,那麼選擇高性能的策略就變成瞭純粹的推理,並且可以理解這些策略背[……]
才華橫溢的Stoyan Stefanov,在他寫的由O’Reilly初版的新書《JavaScript Patterns》(JavaScript模式)中,我想要是為我們的讀者貢獻其摘要,那會是件很美妙的事情。具體一點就是編寫高質量JavaScript的一些要素,例如避免全局變量,使用單變量[……]
J2EE學習者越來越多,J2EE本身技術不斷在發展,湧現出各種概念,本文章試圖從一種容易理解的角度對這些概念向初學者進行解釋,以便掌握學習J2EE學習方向。
首先我們需要知道Java和J2EE是兩個不同概念,Java不隻是指一種語言,已經代表與微軟不同的另外一個巨大陣營,所以Java有時是指一種[……]