Unity C# | 命名法則 & 低耦合、高內聚

更新 發佈閱讀 4 分鐘

前言

  距離上一次撰寫文章,相隔了半年多,這一段時間考慮相當久,甚麼時候要回來寫作、要寫些什麼,躊躇不前而延宕相當長一段時間,最近一段時間鍛鍊程式技能,感覺是個好時機,決定回來認真經營專欄。

  這段時間,發現方格子上面UnityC#相關的內容相當少,雖然可能是因為寫程式不太上方格子,以及其他領域資源豐富,不過依然決定經營,也很開心方格子上更新了程式工具。

命名法則

  進入主題, 命名規則在撰寫程式中是相當重要的一環,無論是Debug或是維護和討論等等都有十足的地位, 世界上有相當多的命名規則,本文主要介紹兩個命名法則:PascalCase、CamelCase

PascalCase | 第一個字大寫,單字字首大寫

//範例
Void PickUp(){}
Void PrintName(){}

適用範圍:

  • Class及同層級名稱。(ex.enum)
  • Public等公開屬性。

CamelCase | 第一個字小寫,單字字首大寫

//範例
private int boxHealth;
private bool findTargert;

適用範圍:

  • object name
  • private私有屬性

補充:
不過命名法則的適用範圍並非一定,主要是團體程式內部溝通好,或者自己使用順手即可,譬如我是以public使用Pascal,而private使用CamelCase。

微軟命名規則

Google命名規則

耦合與內聚

耦合

  兩個模組間的關聯性或相依性,高耦合的相依性高,導致小錯誤(Bug)容易牽一髮而動全身,無論是維護還是修改細節都有相當高的風險。

內聚

  模組本身不需要依賴其他模組,這個程式本身就能完成工作,雖然提高了獨立性,但有可能程式碼重複。

好的程式

低耦合、高內聚

  由 Larry Constantine 提出來的兩個名詞,當一個軟體內部的程式每個都可以獨立運作,彼此的關聯性較低,那這個程式就是一個好的程式。

why?

  由相反的「高耦合、低內聚」來解釋相對容易,假設今天撰寫角色狀態和特殊狀態的程式,如果使用特殊狀態去連結角色血量:

public class PaticularState : MonoBehaviour
{
  [SerializeField]
  private PlayerState playerState;
  ...
}

那當未來我們整個改寫角色狀態時,也必須要一併改寫特殊狀態,如果這一段連結改成Event的訂閱來處理,那特殊狀態只要取消訂閱即可。

(P.S 寫完才想到我們不會把狀態和特殊狀態分開寫)

公開與私有

  當public出來的值太多,公開就容易變冗長,浪費資源,在撰寫程式的時候也不方便快速找到需要的程式碼,所以可以如上面使用的[SerializeField],讓這段私有的程式直接在Unity中呈現。


結語

  在認真專研程式的第一站我參考的朋友的專案,非常謝謝願意讓我看看,也同時因此查找了想當多的資料,我認為不管是命名法則還是耦合內聚,我覺得無論是否新手都非常重要,這些和寫程式並無直接關聯,卻是撰寫程式的準則和細節。


vocus|新世代的創作平台


留言
avatar-img
瓶裝雪的沙龍
117會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章將會分享 Clean Code 關於函式的重點,內容主要以個人閱讀後有印象的部分著手,有興趣了解更多請自行購買這本書。
Thumbnail
這篇文章將會分享 Clean Code 關於函式的重點,內容主要以個人閱讀後有印象的部分著手,有興趣了解更多請自行購買這本書。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
在Unity和其他應用程式中,if-else是一定會使用上的陳述式,這篇文章主要面向對只了解if-else使用方式的程式員,補足在專有名詞上的知識並且提供省略程式碼區塊的小技巧與範例。
Thumbnail
在Unity和其他應用程式中,if-else是一定會使用上的陳述式,這篇文章主要面向對只了解if-else使用方式的程式員,補足在專有名詞上的知識並且提供省略程式碼區塊的小技巧與範例。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
Thumbnail
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
這篇文章將會講述 Unity C# 中關於 Interface (介面/接口)的基本介紹以及原理說明,最後提供完整的使用流程。
Thumbnail
這篇文章將會講述 Unity C# 中關於 Interface (介面/接口)的基本介紹以及原理說明,最後提供完整的使用流程。
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
Thumbnail
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News