真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

過(guò)時(shí)的7種編碼風(fēng)格是什么

本篇內(nèi)容主要講解“過(guò)時(shí)的7種編碼風(fēng)格是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“過(guò)時(shí)的7種編碼風(fēng)格是什么”吧!

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營(yíng)銷推廣、網(wǎng)站重做改版、霍爾果斯網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為霍爾果斯等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

1. 使用m或this表示成員變量

規(guī)則:要區(qū)分成員變量和局部變量,請(qǐng)使用以下任一方法

  • 使用匈牙利表示法,即 mMemberVariable 與 localVariable。其中 m 代表成員變量。

  • this 的使用,即 this.memberVariable 與 localVariable。

過(guò)時(shí)的原因

原因是當(dāng)我們閱讀代碼時(shí),可以很容易地知道它們是成員變量還是局部變量,而無(wú)需查看它們的聲明。

class MyClass {   var mMember = "member"   fun doSomething() {     val local = "local"     println(this.mMember)     println(local)  }}

現(xiàn)在

如果是現(xiàn)代IDE,則不再需要這種基于文本的區(qū)分,參見(jiàn)下面的相同代碼,它將自動(dòng)為它們涂上不同的顏色。

過(guò)時(shí)的7種編碼風(fēng)格是什么

2. 始終明確聲明public,protected或private

規(guī)則:一個(gè)類中的所有變量和函數(shù)都必須明確聲明為public,private 或 protected。不要采用默認(rèn)狀態(tài)。

  • 需要明確說(shuō)明類型,例如 String 或 Int

  • 需要明確說(shuō)明它是 private 還是 public

public class MyClass {   public val publicVariable: String = "100"     private fun privateFunction() {}     public fun publicFunction() {} }

過(guò)時(shí)的原因

這是為了避免有人錯(cuò)誤地訪問(wèn)這些函數(shù)或變量,即,如果未聲明函數(shù),則用戶可能不知道默認(rèn)狀態(tài)(如果是公共狀態(tài)或私有狀態(tài))。

現(xiàn)在

在現(xiàn)代IDE中,我們不需要顯式地聲明默認(rèn)值,例如Kotlin是 public。用戶不會(huì)無(wú)意中誤認(rèn)為默認(rèn)狀態(tài),因?yàn)樽詣?dòng)完成只會(huì)顯示public  方法。因此,不太可能有人會(huì)混淆默認(rèn)狀態(tài)。

過(guò)時(shí)的7種編碼風(fēng)格是什么

如果有任何錯(cuò)誤的用法(例如訪問(wèn)私有函數(shù)),它不會(huì)在編譯時(shí)才出錯(cuò)。它會(huì)立即出錯(cuò),并給出明確的信息。

3. 始終明確聲明變量類型

規(guī)則:所有的變量都應(yīng)該用其類型來(lái)聲明,即使它的值很清楚,例如,需要明確地說(shuō)明類型,如 String 或 Int。

public class MyClass {   public val publicVariable: String = "100"   private fun privateFunction() {}   public fun publicFunction() {} }

過(guò)時(shí)的原因

這是為了避免有人錯(cuò)誤地訪問(wèn)這些函數(shù)或變量,例如變量分配給錯(cuò)誤的類型,并導(dǎo)致編譯錯(cuò)誤。

現(xiàn)在

如果使用現(xiàn)代編程語(yǔ)言,則在可推斷且明確的情況下,無(wú)需顯式聲明變量的類型。這就是所謂的類型推理,在今天的許多現(xiàn)代語(yǔ)言中它都是可用的。

如果有任何錯(cuò)誤的分配等,它不會(huì)在編譯時(shí)才出錯(cuò)。它會(huì)立即出錯(cuò),并有一個(gè)清晰的信息。

過(guò)時(shí)的7種編碼風(fēng)格是什么

4. 成員變量應(yīng)始終為私有

規(guī)則:所有成員變量都應(yīng)該是私有的,通過(guò)getter和setter訪問(wèn),適用于需要從外部設(shè)置或獲取的成員變量。

public class MyClass{   private var member = "member";   public fun getMember(): String {     return member;   }  public fun setMember(value: String) {     member = value;  }}

過(guò)時(shí)的原因

如果我們將其公開(kāi)以進(jìn)行setting和getting,在setting或getting時(shí)我們需要執(zhí)行一些操作,我們需要改變所有訪問(wèn)它的代碼。

因此,如果我們限制使用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;  }}

現(xiàn)在

在現(xiàn)代語(yǔ)言(例如Kotlin)中,我們可以在需要時(shí)輕松地將變量getter或setter插入變量,而無(wú)需顯式地設(shè)置和獲取兩個(gè)不同的函數(shù)。

因此,我們可以按以下方式進(jìn)行編碼,而無(wú)需在類中添加附加的setter和getter函數(shù)。

class MyClass {   var member = "member" }

當(dāng)我們需要對(duì)setter或getter進(jìn)行操作時(shí),我們可以輕松地添加它們,而無(wú)需更改訪問(wèn) member 的代碼。

class MyClass {   var member = "member"   get(): String {     println("Setting member")     return field   }  set(value: String) {     println("Setting member with $value")     field = value   }}

5. 開(kāi)始和結(jié)束大括號(hào)應(yīng)對(duì)齊

規(guī)則:所有大括號(hào)應(yīng)在同一列對(duì)齊,以便我們可以輕松找到它們,例如

class MyClass  {  private var member: String = "member"   fun doSomething(state: Boolean)   {    val local = "local"     println(member)    println(local)  }}

過(guò)時(shí)的原因

原因是通過(guò)縱向觀察,我們可以很容易地找到它們的對(duì),從而知道函數(shù)的范圍在哪里。

現(xiàn)在

使用新的IDE,只要代碼看起來(lái)很整潔,我們就不再需要在同一列上對(duì)齊開(kāi)始和結(jié)束大括號(hào)。

class MyClass {   private var member: String = "member"   fun doSomething(state: Boolean) {     val local = "local"     println(member)    println(local)  }}

這是因?yàn)槲覀兛梢暂p松折疊或擴(kuò)展它們,如下所示。

過(guò)時(shí)的7種編碼風(fēng)格是什么

6. 所有縮進(jìn)都使用tab鍵

規(guī)則:對(duì)所有縮進(jìn)使用tab,而不要使用空格

過(guò)時(shí)的原因

這減少了所需的鍵入次數(shù),如下所示,當(dāng)你使用空格時(shí),你需要多次輸入

過(guò)時(shí)的7種編碼風(fēng)格是什么

現(xiàn)在

使用IDE,它將為我們自動(dòng)縮進(jìn)適當(dāng)數(shù)量的空格。擁有空格還將確保所有代碼在整個(gè)用戶環(huán)境中看起來(lái)都一致。

過(guò)時(shí)的7種編碼風(fēng)格是什么

7. 使用分號(hào)結(jié)束代碼語(yǔ)句

規(guī)則:在結(jié)束代碼語(yǔ)句時(shí),必須使用分號(hào)。

過(guò)時(shí)的原因

這是必需的,因?yàn)閺那暗木幊陶Z(yǔ)言(包括C和C ++,Java等)使解析器識(shí)別它已經(jīng)結(jié)束。

現(xiàn)在

使用新的現(xiàn)代語(yǔ)言(例如Kotlin),不再需要編寫長(zhǎng)語(yǔ)句(例如,我們可以將變量命名為更短,縮進(jìn)的縮進(jìn)形式)。

過(guò)時(shí)的7種編碼風(fēng)格是什么

最后

通過(guò)改變對(duì)上述7種編碼樣式的信念,我對(duì)代碼進(jìn)行了如下更改:

過(guò)時(shí)的7種編碼風(fēng)格是什么

到此,相信大家對(duì)“過(guò)時(shí)的7種編碼風(fēng)格是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)頁(yè)標(biāo)題:過(guò)時(shí)的7種編碼風(fēng)格是什么
轉(zhuǎn)載注明:http://weahome.cn/article/jcjjep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部