您好,登錄后才能下訂單哦!
本篇內容主要講解“過時的7種編碼風格是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“過時的7種編碼風格是什么”吧!
1. 使用m或this表示成員變量
規則:要區分成員變量和局部變量,請使用以下任一方法
使用匈牙利表示法,即 mMemberVariable 與 localVariable。其中 m 代表成員變量。
this 的使用,即 this.memberVariable 與 localVariable。
過時的原因
原因是當我們閱讀代碼時,可以很容易地知道它們是成員變量還是局部變量,而無需查看它們的聲明。
class MyClass { var mMember = "member" fun doSomething() { val local = "local" println(this.mMember) println(local) }}
現在
如果是現代IDE,則不再需要這種基于文本的區分,參見下面的相同代碼,它將自動為它們涂上不同的顏色。
2. 始終明確聲明public,protected或private
規則:一個類中的所有變量和函數都必須明確聲明為public,private 或 protected。不要采用默認狀態。
需要明確說明類型,例如 String 或 Int
需要明確說明它是 private 還是 public
public class MyClass { public val publicVariable: String = "100" private fun privateFunction() {} public fun publicFunction() {} }
過時的原因
這是為了避免有人錯誤地訪問這些函數或變量,即,如果未聲明函數,則用戶可能不知道默認狀態(如果是公共狀態或私有狀態)。
現在
在現代IDE中,我們不需要顯式地聲明默認值,例如Kotlin是 public。用戶不會無意中誤認為默認狀態,因為自動完成只會顯示public 方法。因此,不太可能有人會混淆默認狀態。
如果有任何錯誤的用法(例如訪問私有函數),它不會在編譯時才出錯。它會立即出錯,并給出明確的信息。
3. 始終明確聲明變量類型
規則:所有的變量都應該用其類型來聲明,即使它的值很清楚,例如,需要明確地說明類型,如 String 或 Int。
public class MyClass { public val publicVariable: String = "100" private fun privateFunction() {} public fun publicFunction() {} }
過時的原因
這是為了避免有人錯誤地訪問這些函數或變量,例如變量分配給錯誤的類型,并導致編譯錯誤。
現在
如果使用現代編程語言,則在可推斷且明確的情況下,無需顯式聲明變量的類型。這就是所謂的類型推理,在今天的許多現代語言中它都是可用的。
如果有任何錯誤的分配等,它不會在編譯時才出錯。它會立即出錯,并有一個清晰的信息。
4. 成員變量應始終為私有
規則:所有成員變量都應該是私有的,通過getter和setter訪問,適用于需要從外部設置或獲取的成員變量。
public class MyClass{ private var member = "member"; public fun getMember(): String { return member; } public fun setMember(value: String) { member = value; }}
過時的原因
如果我們將其公開以進行setting和getting,在setting或getting時我們需要執行一些操作,我們需要改變所有訪問它的代碼。
因此,如果我們限制使用getter和setter,則可以控制它。
class MyClass{ private var member = "member"; fun getMember(): String { println("Setting member") return member; } fun setMember(value: String) { println("Setting member with $value") member = value; }}
現在
在現代語言(例如Kotlin)中,我們可以在需要時輕松地將變量getter或setter插入變量,而無需顯式地設置和獲取兩個不同的函數。
因此,我們可以按以下方式進行編碼,而無需在類中添加附加的setter和getter函數。
class MyClass { var member = "member" }
當我們需要對setter或getter進行操作時,我們可以輕松地添加它們,而無需更改訪問 member 的代碼。
class MyClass { var member = "member" get(): String { println("Setting member") return field } set(value: String) { println("Setting member with $value") field = value }}
5. 開始和結束大括號應對齊
規則:所有大括號應在同一列對齊,以便我們可以輕松找到它們,例如
class MyClass { private var member: String = "member" fun doSomething(state: Boolean) { val local = "local" println(member) println(local) }}
過時的原因
原因是通過縱向觀察,我們可以很容易地找到它們的對,從而知道函數的范圍在哪里。
現在
使用新的IDE,只要代碼看起來很整潔,我們就不再需要在同一列上對齊開始和結束大括號。
class MyClass { private var member: String = "member" fun doSomething(state: Boolean) { val local = "local" println(member) println(local) }}
這是因為我們可以輕松折疊或擴展它們,如下所示。
6. 所有縮進都使用tab鍵
規則:對所有縮進使用tab,而不要使用空格
過時的原因
這減少了所需的鍵入次數,如下所示,當你使用空格時,你需要多次輸入
現在
使用IDE,它將為我們自動縮進適當數量的空格。擁有空格還將確保所有代碼在整個用戶環境中看起來都一致。
7. 使用分號結束代碼語句
規則:在結束代碼語句時,必須使用分號。
過時的原因
這是必需的,因為從前的編程語言(包括C和C ++,Java等)使解析器識別它已經結束。
現在
使用新的現代語言(例如Kotlin),不再需要編寫長語句(例如,我們可以將變量命名為更短,縮進的縮進形式)。
最后
通過改變對上述7種編碼樣式的信念,我對代碼進行了如下更改:
到此,相信大家對“過時的7種編碼風格是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。