Unity C# | Clean Code #1 無瑕的程式碼

更新於 發佈於 閱讀時間約 4 分鐘

一、前言

  這篇文章將會簡單介紹無瑕的程式碼(Clean Code)是一種什麼樣的程式設計流派,並且分享以及命名相關的概念。

1. 終於有時間閱讀

  忙碌的生活讓我始終沒有機會讀書,應該說我一直不停的在開發專案,撰寫企劃書、撰寫學校的企劃書、撰寫研究室的企劃書,相較於我原本認為自己應該走向程式的自己,我現在更像是一位遊戲企劃。

2. 閱讀到第二章

  我依然覺得程式很重要,他能協助我處理很多東西,從人生思維到解決問題的能力,潛移默化的讓我成長了很多,也讓我在遊戲設計的領域站穩了腳根,我自己也很喜歡寫程式...除了Debug。

3. 是一本很有用的書

  我決定在這個清明連假把這一本書讀完,哪怕不精或有遺忘,我也能對這份知識有一定的理解,讀書跟學習都有很多方法,我打算都嘗試看看,這本書能帶給我很多知識,讀完後我也打算在實際寫程式的時候運用它。

二、Clean Code

  這本書出自於某一位程式設計的大師,他為程式設計建立了一個程式設計的流派,Clean Code 對每一位程式設計師的意義都不盡相同,對某些人來說,這是維護、命名的準則,對某些人來說,則是程式開發的架構與雛形。

1. 簡潔

  這本書最為著名的就是簡潔,簡單扼要的程式邏輯、清楚易懂的程式設計知識與架構,這是它廣為流傳的核心守則,這本書不會實際教導如何寫程式,它會把寫程式要注意、要避免的事情一步步告訴設計師。

2. 直覺

  其中最重要的一件事情,是Clean Code 強調程式是一種語言,因此在撰寫裡面的每一個字都要設計與思考,就像寫一本書一樣,要能讓人一看就懂,不需要經過轉化或推測,能很直覺的就理解程式碼的內容,因此也容易維護。

3. 零重複

  它的一項特徵是程式碼不會有重複的內容,同一功能的程式寫完之後就不用再撰寫第二次,能讓程式碼的數量大為減少,重複利用的同時依然保持單一職責的設計模式。

三、程式碼的命名

  那接下來我分享一寫我看到後,有印象的一些知識。

1. 有意義的名稱

  給我程式設計習慣改變最大的一章,就是在講述變數與函式的命名方式,也就是表達的功能大於字數的精簡,不要為了省字數而縮短名稱,應該讓名稱描述的越精準越重要。

2. 明確描述功能的名稱

  如何描述明確也式裡面提到很讓我印象深刻的內容,這本書的做法會讓讀程式碼的過程就像是在閱讀一本書,裡面很多字詞與句子,而不是那種晦澀不明的代號與代碼。

3. 避免代號與裝可愛

  提到代號,Clean Code 還提到要避免使用「a=1」這種內容,這樣設計師就會去思考a是什麼,也不要把變數與函式命名為「SuperCoolFloat」這種具有情緒與玩笑的字詞,未來回首會發現自己一個字都看不懂。

4. 避免雙關

  在撰寫程式碼的同時,要避免那些具有雙關含意的單字,或者說在使用的時候要避免你形容的是另一件事情,這部分我就不太理解,所以不多做解釋,我對雙關的理解,其實就是命名的時候要精確,不要讓人誤會。

5. 定義好相同含意的詞彙

  在英文語句中,有很多具有相同意義的詞彙,譬如「add」、「increase」這兩個單字都有增加的意思,如果你會需要讓撰寫具有相近概念的兩個函式,那使用相同的程式名稱會是比較好的做法。

四、後記

  閱讀這本書讓我獲得不少體悟,說一個實在話,這個清明連假我除了打遊戲以外,我很多時候都想到這本書,我決定趁這段時間空閒比較多,認真讀一讀這本書,並且認真撰寫自己的幾個遊戲專案。


留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
114會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/07/21
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
Thumbnail
2023/07/21
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
Thumbnail
2023/06/21
這篇文章將會介紹建構式(Constructor),這是一個隱藏在程式腳本中的重要知識,我們極常使用建構式,但新手程式員幾乎不會知道它。
Thumbnail
2023/06/21
這篇文章將會介紹建構式(Constructor),這是一個隱藏在程式腳本中的重要知識,我們極常使用建構式,但新手程式員幾乎不會知道它。
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
今天推薦的書和課程,不見得適合當作第一本書唷
Thumbnail
今天推薦的書和課程,不見得適合當作第一本書唷
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
這篇文章將會分享一場討論程式發展階段的體悟。
Thumbnail
這篇文章將會分享一場討論程式發展階段的體悟。
Thumbnail
這篇文章將會分享 Clean Code 關於註解的重點,內容主要以個人閱讀後心得為主,有興趣了解更多請自行購買這本書。
Thumbnail
這篇文章將會分享 Clean Code 關於註解的重點,內容主要以個人閱讀後心得為主,有興趣了解更多請自行購買這本書。
Thumbnail
這篇文章將會簡單介紹無瑕的程式碼(Clean Code)是一種什麼樣的程式設計流派,並且分享以及命名相關的概念。
Thumbnail
這篇文章將會簡單介紹無瑕的程式碼(Clean Code)是一種什麼樣的程式設計流派,並且分享以及命名相關的概念。
Thumbnail
這篇文章專門寫給「非」資訊相關科系畢業的人,說明怎麼樣開始學寫程式,還有到什麼程度才能轉到資訊相關產業。 我大學跟研究所都是念土木系,因為對寫程式蠻有興趣,所以除了系上的課之外,還有去資工系還有電機系修一些相關課程,因為不是資訊相關科系,所以有走了一些冤枉路,但是研究所的時候我已經可以開發套裝軟體了
Thumbnail
這篇文章專門寫給「非」資訊相關科系畢業的人,說明怎麼樣開始學寫程式,還有到什麼程度才能轉到資訊相關產業。 我大學跟研究所都是念土木系,因為對寫程式蠻有興趣,所以除了系上的課之外,還有去資工系還有電機系修一些相關課程,因為不是資訊相關科系,所以有走了一些冤枉路,但是研究所的時候我已經可以開發套裝軟體了
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
這篇文章將會講述企劃撰寫給程式員的邏輯流程圖。
Thumbnail
這篇文章將會講述企劃撰寫給程式員的邏輯流程圖。
Thumbnail
初學程式時認為寫程式是在跟機器溝通,它懂了、可以動了,我的目的達成了,結案!然而大多時候,光是連編譯器吐出來的錯誤訊息都看不懂,更別說是考慮自己寫出來的程式碼的可讀性,而且專案太小也感覺不出維護上的困難。
Thumbnail
初學程式時認為寫程式是在跟機器溝通,它懂了、可以動了,我的目的達成了,結案!然而大多時候,光是連編譯器吐出來的錯誤訊息都看不懂,更別說是考慮自己寫出來的程式碼的可讀性,而且專案太小也感覺不出維護上的困難。
Thumbnail
本文章主要介紹保護程式的方法及封裝方法的唯讀屬性。
Thumbnail
本文章主要介紹保護程式的方法及封裝方法的唯讀屬性。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News