關于程序的小細節優化

最近在看一本書,分享一下關于程序的一些小細節優化問題.
在OC代碼中,能使用不可變的對象,就盡量使用不可變的對象.


  • 程序的性能優化,在于代碼的一點點積累.一點一滴的優化,加起來也是不可忽視的.


關于頭文件,協議的優化


  • 在我們導入頭文件的時候,在不必要的時候導入頭文件,不要使用#import,使用@class,這樣可以提高程序的執行時間.

  • 若要使用者必須要知道其所有接口的細節的時候,在使用#Import.

  • 將引入頭文件的時機盡量延后,只要確有需要時才引入,這樣可以減少類的使用者所需引入的頭文件數量.此過程要持續下去,則要引入許多根本用不到的內容,這樣當然會增加編譯時間.

  • 如果兩個文件使用#Import互相引用了,不會出現想#Include出現死循環,但卻意味這兩個類有一個無法被正確編譯

  • 如果你寫的類繼承自某一個超類,則必須引入定義那個超類的頭文件,同理,如果要聲明你寫的類遵從了某一個協議,那么該協議必須有完整定義,并不能使用向前聲明.

  • 如果當前協議不是委托協議,可以把協議放在一個單獨的頭文件中.

  • 有時無法使用向前聲明,比如要聲明摸一個類遵循一項協議.這種情況下,盡量把改類遵循的某協議 的這條聲明移至** 分類** 中.如果不行的話,就把協議單獨放在一個頭文件中,然后將其引入.


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,523評論 25 708
  • 最近整理1080P電影,懶得轉格式了,就基本統一MKV格式了,但有些MKV沒有封裝字幕,所以需要個工具封裝字幕到M...
    999d9c289d60閱讀 910評論 0 0
  • 先講一個笑話: 某日去杭州游玩,走到“岳母刺字”的雕像前,聽到一個中年男子說:“也就丈母娘干的出來,親媽不能干這事...
    白立平閱讀 451評論 0 1
  • 今天看完三毛寫本書了,不是太歡樂的筆法,并不是太喜歡,荷西的死對她來說打擊太大。我在想要不明天直接走好了,走到哪里...
    地瓜222閱讀 164評論 0 0