在看objc出版的《swift高階》中,看到程式設計風格習慣的內容,覺得很不錯。所以這裡記錄下來,希望我們在自己的專案中使用 swift **時,也應該盡量遵循如下的原則:
1:對於命名,在使用時能清晰表意是最重要。因為api被使用的次數要遠遠多於被宣告的次數,所以我們應當從使用者的⻆度來考慮它們的名字。盡快熟悉swift api 設計準則,並且在你自己的**中堅持使用這些準則。
2:簡潔經常有助於**清晰,但是簡潔本身不應該獨自成為我們編碼的目標。
3:務必為函式新增文件注釋—特別是泛型函式。
4:型別使用大寫字母開頭,函式、變數和列舉成員使用小寫字母開頭,兩者都使用駝峰式 命名法。
5:使用型別推斷。省略掉顯而易⻅的型別會有助於提高可讀性。
6:如果存在歧義或者在進行定義的時候不要使用型別推斷。(比如func就需要顯式地指定
返回型別)
7:優先選擇結構體,只在確實需要使用到類特有的特性或者是引用語義時才使用類。
8:除非你的設計就是希望某個類被繼承使用,否則都應該將它們標記為final。
9:除非乙個閉包後面立即跟隨有左括號,否則都應該使用尾隨閉包(trailingclosure)的語 法。
10:使用guard來提早退出方法。
11:避免對可選值進行強制解包和隱式強制解包。它們偶爾有用,但是經常需要使用它們的話往往意味著有其他不妥的地方。
12:不要寫重複的**。如果你發現你寫了好幾次類似的**片段的話,試著將它們提取到 乙個函式裡,並且考慮將這個函式轉化為協議擴充套件的可能性。
13:試著去使用map和reduce,但這不是強制的。當合適的時候,使用for迴圈也無可厚 非。高階函式的意義是讓**可讀性更高。但是如果使用 reduce 的場景難以理解的話, 強行使用往往事與願違,這種時候簡單的 for 迴圈可能會更清晰。
14:試著去使用不可變值:除非你需要改變某個值,否則都應該使用let來宣告變數。不過 如果能讓**更加清晰高效的話,也可以選擇使用可變的版本。用函式將可變的部分封 裝起來,可以把它帶來的***進行隔離。
15:swift的泛型可能會導致非常⻓的函式簽名。壞訊息是我們現在除了將函式宣告強制寫成幾行以外,對此並沒有什麼好辦法。我們會在示例**中在這點上保持一貫性,這樣 你能看到我們是如何處理這個問題的。
16:除非你確實需要,否則不要使用self.。在閉包表示式中,使用self是乙個清晰的訊號, 表明閉包將會捕獲 self。
17:盡可能地對現有的型別和協議進行擴充套件,而不是寫一些全域性函式。這有助於提高可讀性, 讓別人更容易發現你的**。
c 風格指南
參考 google c 風格指南 ifndef project path file h define project path file h 原始檔中首先包含對應標頭檔案 include 對應標頭檔案 include 禁止使用using namespace foo 而應使用using foo bar...
Vue風格指南
2 元件的data必須是乙個函式 data function 3 prop定義應該詳細。細緻的 prop 定義有兩個好處 更好的做法!props 4 為v for設定鍵值 在元件上總是必須用key配合v for,以便維護內部元件及其子樹的狀態。甚至在元素上維護可 的行為。案例 如你想使用給列表加過渡...
Vue 風格指南
了解vue風格指南,有利於規範編碼,現將一些規則記錄如下 1 元件 單檔案元件的檔名應該要麼始終是單詞大寫開頭 pascalcase 要麼始終是橫線連線 kebab case 單例元件名 在每個頁面中只是使用一次的元件應該以the字首命名,以示其唯一性。這類元件永遠不會接受任何prop。和父元件緊密...