程序員工做三年想漲薪,卻由於小細節沒注意,被直接開除!

需求是暫時的,只有變化纔是永恆的,面向變化編程,而不是面向需求編程。編程

不要過度追求技巧,下降程序的可讀性。學習

簡潔的代碼可讓bug無處藏身。要寫出明顯沒有bug的代碼,而不是沒有明顯bug的代碼。ui

先把眼前的問題解決掉,解決好,再考慮未來的擴展問題。spa

1、命名規範

一、統一要求

含義清楚,儘可能作到不須要註釋也能瞭解其做用,若作不到,就加註釋,使用全稱,不使用縮寫。code

二、類名

大駝峯式命名:每一個單詞的首字母都採用大寫字母對象

==例:== MFHomePageViewController教程

三、私有變量

  • 私有變量放在 .m 文件中聲明
  • 以 _ 開頭,第一個單詞首字母小寫,後面的單詞的首字母所有大寫。

==例:== NSString *_somePrivateVariable內存

四、property變量

  • 小駝峯式命名:第一個單詞以小寫字母開始,後面的單詞的首字母所有大寫
  • 屬性的關鍵字推薦按照 原子性,讀寫,內存管理的順序排列。
  • BlockNSString屬性應該使用copy關鍵字
  • 禁止使用synthesize關鍵詞

==例:==開發

五、宏和常量命名

  • 對於宏定義的常量
    • #define 預處理定義的常量所有大寫,單詞間用 _ 分隔
    • 宏定義中若是包含表達式或變量,表達式或變量必須用小括號括起來。
  • 對於類型常量
    • 對於侷限於某編譯單元(實現文件)的常量,以字符k開頭,例如kAnimationDuration,且須要以static const修飾
    • 對於定義於類頭文件的常量,外部可見,則以定義該常量所在類的類名開頭,例如EOCViewClassAnimationDuration, 仿照蘋果風格,在頭文件中進行extern聲明,在實現文件中定義其值

==例:==get

六、Enum

  • Enum類型的命名與類的命名規則一致
  • Enum中枚舉內容的命名須要以該Enum類型名稱開頭
  • NS_ENUM定義通用枚舉,NS_OPTIONS定義位移枚舉

==例:==

七、Delegate

  • delegate作後綴,如
  • optional修飾能夠不實現的方法,用required修飾必須實現的方法
  • 當你的委託的方法過多, 能夠拆分數據部分和其餘邏輯部分, 數據部分用dataSource作後綴. 如
  • 使用didwill通知Delegate已經發生的變化或將要發生的變化。
  • 類的實例必須爲回調方法的參數之一
    1. 回調方法的參數只有類本身的狀況,方法名要符合實際含義
    2. 回調方法存在兩個以上參數的狀況,以類的名字開頭,以代表此方法是屬於哪一個類的

==例:==

八、方法

  • 方法名用小駝峯式命名
  • 方法名不要使用new做爲前綴
  • 不要使用and來鏈接屬性參數,若是方法描述兩種獨立的行爲,使用and來串接它們。
  • 方法實現時,若是參數過長,則令每一個參數佔用一行,以冒號對齊。
  • 通常方法不使用前綴命名,私有方法可使用統一的前綴來分組和辨識
  • 方法名要與對應的參數名保持高度一致
  • 表示對象行爲的方法、執行性的方法應該以動詞開頭
  • 返回性的方法應該以返回的內容開頭,但以前不要加get,除非是間接返回一個或多個值。
  • 可使用情態動詞(動詞前面can、should、will等)進一步說明屬性意思,但不要使用dodoes,由於這些助動詞沒什麼實際意義。也不要在動詞前使用副詞或形容詞修飾

==例:==

分享以前我仍是要推薦下我本身建的iOS學習羣:656315826,史上第一個iOS5000人羣,都是學iOS開發的,若是你正在學習iOS,小編歡迎你加入,今天分享的這個案例已經上傳到羣文件,你們都是iOS黨,不按期分享乾貨(只有iOS開發相關的),包括我本身整理的一份2017最新的iOS資料和零基礎入門教程,歡迎初學和進階中的小夥伴。

相關文章
相關標籤/搜索