成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

7種過時的代碼風格

開發 前端
如果您已經進行了十多年的編碼,那么您可能會擁有一些堅定的首選樣式,您會堅定地相信這些樣式,并堅持自己的觀點來捍衛它們直到最后。下面是我曾經堅定支持過的一些人,但現在我認為我必須放手。

如果您已經進行了十多年的編碼,那么您可能會擁有一些堅定的首選樣式,您會堅定地相信這些樣式,并堅持自己的觀點來捍衛它們直到最后。

下面是我曾經堅定支持過的一些人,但現在我認為我必須放手。

[[342260]]

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

規則:要區分成員變量和局部變量,請使用以下任一方法:

  • 使用匈牙利表示法,即mMemberVariable與localVariable。 其中m代表成員變量。
  • 這個的使用 this.member變量與局部變量。

過時的原因:

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

  1. class MyClass {  
  2.   var mMember = "member"  
  3.   fun doSomething() {  
  4.     val local = "local"  
  5.     println(this.mMember)  
  6.     println(local)   }} 

現在:

如果是現代IDE,則不再需要這種基于文本的區分。 參見下面的相同代碼,它將自動為它們涂上不同的顏色。

7種過時的代碼風格

> Different coloring of variables

2. 明確聲明Public,Protected或Private

規則:一個類中的所有變量和函數都必須明確聲明為public,private或protected。 不要采用默認狀態。

  • 需要明確說明類型,例如 字符串或整數
  • 需要明確說明它是私有的還是公共的
  1. public class MyClass {  
  2.     public val publicVariable: String = "100"  
  3.     private fun privateFunction() {}  
  4.     public fun publicFunction() {} 

過時的原因:

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

現在:

使用現代IDE,我們無需明確聲明默認值,例如 對于公開的Kotlin。 用戶不會無意中誤認為默認狀態,因為自動完成只會顯示公共方法。 因此,不太可能有人會混淆默認狀態。

7種過時的代碼風格

> The private Function won't appear on auto-complete

如果有任何錯誤用法(例如訪問私有功能),它不會僅在編譯時出現錯誤。 立即出現錯誤并顯示一條清晰消息。

3. 總是顯式聲明變量類型

規則:所有變量均應使用其類型聲明,即使從已為其賦值的值很明顯即可,例如 需要明確說明類型,例如 字符串或整數

  1. public class MyClass {  
  2.   public val publicVariable: String = "100"  
  3.     private fun privateFunction() {}  
  4.     public fun publicFunction() {} 

過時的原因:

這是為了避免有人錯誤地訪問這些功能或變量,例如 變量分配給錯誤的類型,并導致編譯錯誤。

現在:

如果使用現代編程語言,則在可推斷且明確的情況下,無需顯式聲明變量的類型。 這稱為類型推斷。 如今,它可以多種現代語言提供。

如果有任何錯誤的分配等,它不會僅在編譯時出錯。 立即出現錯誤并顯示一條清晰消息。

7種過時的代碼風格

> 10 + MyClass().publicVairable will error out immediately as Int and String can't be added together

4. 成員變量應始終為私有

規則:所有應為私有的并通過getter和setter訪問的成員變量適用于需要在外部設置或獲取的成員變量。

  1. public class MyClass{  
  2.   private var member = "member";  
  3.     public fun getMember(): String {  
  4.     return member;  
  5.   }     public fun setMember(value: String) {  
  6.     member = value;   }} 

過時的原因:

如果我們將其公開以進行設置和獲取,則在設置或獲取它們時需要執行一些操作時,我們需要更改所有訪問它的代碼。

因此,如果我們限制使用getter和setter,則可以控制它。

  1. class MyClass{  
  2.   private var member = "member";  
  3.     fun getMember(): String {  
  4.     println("Setting member") return member;  
  5.   }     fun setMember(value: String) {  
  6.     println("Setting member with $value") member = value;  
  7.   }} 

現在:

在現代語言(例如Kotlin)中,我們可以在需要時輕松地將變量getter或setter插入變量,而無需明確地具有兩個僅用于設置和獲取的函數。

因此,我們可以按以下方式進行編碼,而無需在類中添加附加的setter和getter函數。

  1. class MyClass { var member = "member"

當我們需要對setter或getter進行操作時,我們可以輕松地添加它們,而無需更改訪問成員的代碼。

  1. class MyClass {  
  2.   var member = "member"  
  3.     get(): String {  
  4.     println("Setting member")  
  5.     return field  
  6.   }     set(value: String) {  
  7.     println("Setting member with $value")  
  8.     field = value  
  9.   }} 

5. 開始和結束大括號應對齊

規則:所有大括號應在同一列對齊,以便我們可以輕松找到它們,例如:

  1. class MyClass  
  2. {   private var member: String = "member"  
  3.     fun doSomething(state: Boolean)  
  4.   {     val local = "local"  
  5.     println(member)     println(local)                  }} 

過時的原因:

原因是通過垂直查看,我們可以輕松找到它們的對,從而知道函數的作用范圍在哪里。

現在:

使用新的IDE,只要代碼看起來很整潔,我們就不再需要在同一列上對齊開始和結束大括號。

  1. class MyClass {  
  2.   private var member: String = "member"  
  3.     fun doSomething(state: Boolean) {  
  4.     val local = "local"  
  5.     println(member)     println(local)   }} 

這是因為我們可以輕松折疊或展開它們,如下所示。

7種過時的代碼風格

> Easily expand or collapse code scope

要了解有關大括號的更多信息,請查看以下內容。

6. 對所有縮進使用制表符

規則:對所有縮進使用制表符,而不要使用空格

過時的原因:

這減少了所需的鍵入次數。 例如 下面顯示了使用空格時,必須多次鍵入

7種過時的代碼風格

> The old text editor, one need to type every space

現在:

使用IDE,它將為我們自動縮進適當數量的空格。 擁有空格還將確保所有代碼在整個用戶環境中看起來都一致。

7種過時的代碼風格

> The modern IDE, till perform auto-indentation of spaces

7. 使用分號結束代碼聲明

規則:在結束代碼語句時,必須使用分號。

過時的原因:

這是必需的,因為從前的編程語言(包括C和C ++,Java等)使解析器識別它已經結束。 部分原因是因為我們有80列,因此當需要為一條語句編寫更多代碼時,我們可以為一條語句編寫多行代碼。

現在:

使用新的現代語言(例如Kotlin),不再需要編寫長語句(例如,我們可以將變量命名為較短,縮進的縮進形式)。

即使我們需要編寫更長的語句,我們也不再受限于8列(盡管這不是一個好習慣)。 此外,這幾天我們的顯示器更長longer

[[342261]]

> Photo by Fotis Fotopoulos on Unsplash

因此,如果一種語言不允許使用分號,那就去吧!

要進一步詳細說明項目4–7,您可以閱讀以下內容。

通過改變對上述7種編碼樣式的信念,我對代碼進行了如下更改:

7種過時的代碼風格

世界在不斷變化。 過去的要求可能不再適用。 借助技術和工具,我們應該始終重新評估我們曾經擁有的規則,并繼續前進。

感覺這么年輕。 看看編碼行業是如何變化的!

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-09-01 07:38:29

編碼開發代碼

2023-07-25 17:54:42

2020-01-06 10:01:12

JavaScript瀏覽器HTML

2024-11-12 12:52:39

Python代碼函數

2017-12-05 15:30:12

2023-09-06 11:35:11

2024-04-02 15:04:44

開發人工智能代碼

2017-07-10 14:58:23

JavaScript代碼風格寫作準則

2013-06-06 10:10:59

項目項目代碼代碼風格

2024-12-05 14:06:29

JS代碼片段

2025-04-22 03:00:00

2025-04-24 08:50:00

軟件架構架構軟件系統

2021-05-06 11:04:55

GooglePython代碼

2023-09-11 08:00:00

代碼審查開發

2024-10-08 05:00:00

PEP 8編碼Python

2009-06-26 10:54:24

JSF技術

2010-09-10 13:40:09

DIV背景

2009-02-01 14:34:26

PythonUnix管道風格

2015-03-10 10:29:26

微軟Windows 7Azure云服務

2021-02-19 14:07:03

JavaScript編程開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜私人影院 | 在线免费观看a级片 | 欧美一区在线看 | 不卡一区二区三区四区 | 亚洲欧美一区二区三区情侣bbw | 国产一区二区在线播放视频 | 成人欧美一区二区三区色青冈 | 天天拍天天操 | 亚洲一区电影 | 亚洲视频在线播放 | 91久久久久久久久久久久久 | 黄网站在线播放 | 91中文字幕 | 欧美国产视频 | 天堂中文字幕av | 综合网在线 | 欧美αv| 请别相信他免费喜剧电影在线观看 | 欧美日韩国产精品激情在线播放 | 欧美久久一区 | 国产一区二区电影 | 亚洲一二三区免费 | 天天射网站 | 奇米四色在线观看 | 一区二区国产在线 | 日日夜夜天天 | 国产极品粉嫩美女呻吟在线看人 | 国产精品欧美一区二区三区 | 91精品国产欧美一区二区 | 色综合99| 日本在线网址 | 麻豆av在线 | 久久国产精品视频 | 伊人网站 | 国产成人精品午夜 | 一区二区三区四区在线视频 | 欧美13videosex性极品 | 国产一级淫片a直接免费看 免费a网站 | 欧美精品一区二区在线观看 | 日韩成人久久 | 成人激情免费视频 |