從Swift_寫程式碼命名規範細節中再次溫故一些命名規範(匈牙利命名法vs駝峰命名法的歷史)_查爾斯·西蒙尼生平
在計算機語言發展過程歷史中
衍生出了三種命名規範方法
一、匈牙利命名法(Hungarian notation)
(注重 型別檢查)
通常只針對變數命名
規則是: 變數名 = 類型前綴 + 描述
Ex:
bFoo ----> 表示 布林值 型態的變數
pFoo ----> 表示 指標 型態的變數
strName ----> 表示 字串 型態的變數
iSize ----> 表示 整數變數
u32Identifier ----> 表示 無符號32位元整數
等等
這種命名法其實是對於西蒙尼祖籍的一種諷刺。
查爾斯·西蒙尼(英語: Charles Simonyi)
原名西蒙尼·卡羅利(匈牙利語:Simonyi Károly)
曾任微軟公司的產品開發主任(軟體開發專家)
微軟的早期員工之一,堅持物件導向的軟體開發運程
1948年9月10日生於匈牙利布達佩斯一個電子學教授之家
中學時代 酷愛電腦科學和數學於晚上為大學實驗室打雜工
在當時他所處的實驗室中有一台笨重的蘇聯制烏拉爾二號電腦(Ural II)
西蒙尼透過自學快速掌握該電腦的全部操作指令
並自己開發出一個Fortran語言程序編譯器。
1966年西蒙尼中學畢業後,他憑藉著
開發程序編譯器的工作經驗在丹麥「A/S Regnecentralen」計算中心找到第一份工作。
兩年後
他利用工作攢下的錢至美國加利福尼亞州的加大柏克萊分校
學習工程應用數學及數理統計。
1972年從加大畢業後(六年~)
進入史丹福大學研究生班學習深造計算機科學。
在學習期間他還在施樂公司兼職工作。
在導師的指導下和公司同事合作
開發出當時領先的可視見(WYSIWYG)文本編輯軟體BRAVO。
1977年(五年~)
取得了史丹福大學的博士學位。
1981年
施樂的同事Metcalfe建議他
向微軟公司主席比爾蓋茨寫信毛遂自薦。
後來被重用,主持Multiplan軟體(即Microsoft Excel的前身)的開發工作
採用一項新設計準則使得Multiplan軟體能在多個平台上工作
儘管後來微軟的DOS作業系統迅速普及
使該軟體可移植性意義相對不大
但是西蒙尼的創舉令蓋茨對他深為賞識,隨後兩人密切合作。
後數年,Excel試算表就此誕生,
針對微軟的程式設計師們各自有獨特風格並不擅長團隊合作之陋習
創導了匈牙利命名法(Hungarian notation)。
後來成為世界軟體行業的一種行業標準,
保障了微軟程序的質量和原始碼的易讀性、可維護性。
2007年 從微軟辭職並創辦了「Intentional Programming」公司
力求創造新的軟體開發模式。
匈牙利人名和大多數其他歐洲人名相比是反過來的
即姓氏在名字的前面。
Ex:
英語化的名字「Charles Simonyi」在匈牙利語中原本是「Simonyi Károly」。
在匈牙利命名法中,類型名在實際變數名前
二、駝峰命名法(Camel-Case)
混和使用大小寫字母進行命名
又可細分為
大駝峰(第一個單字全大寫)
小駝峰(第一個單字全小寫)
Ex: myRoomCount
三、帕斯卡命名法(Pascal Case)
當變數名和函式名
是由二個或二個以上單字組合時
第一個單字首字母採用大寫字母
單字之間不以空格斷開或連接號(-)、底線(_)連結
以增加變數和函式的可讀性。
Ex:
FirstName、LastName
MyAddress
和大駝峰命名法規範有相同
於Swift語言中採用駝峰式命名法
以下幾點是Swift變數命名規範
若沒遵守這些細節而養成壞習慣命名
通常會影響團隊之間相互看彼此程式碼不統一規範
而有所影響
因此以下這個統一規範可以作為參考
養成一個小小的命名好習慣
(1)對於 結構體(structure)、類別(class)、列舉(enum)、協定(protocol)
應該採用大駝峰命名法
Ex: SplitViewController
(2)對於文件名稱
採用大駝峰命名法
Ex: BlockOperation.swift
(3)對於 擴展(延伸)文件, 有時會定義在一個獨立的文件中
用 原始類型名 + 擴展名 作為擴展文件名
Ex: NSOperation+Operations.swift
(4)變數 及 屬性 採用小駝峰命名法
Ex: studentNumber
(5)常數、 列舉成員採用 大駝峰命名法
Ex: MaxStudentNumber、ExecutionFailed
(6)函數 及 方法 採用 小駝峰命名法
且第一個單字通常為動詞
Ex: balanceAccount ()、 isButtonPressed()、countCar()、getName()
參考資料:
匈牙利命名法
https://zh.wikipedia.org/wiki/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95
查爾斯·西蒙尼
https://zh.wikipedia.org/wiki/%E6%9F%A5%E5%B0%94%E6%96%AF%C2%B7%E8%A5%BF%E8%92%99%E5%B0%BC
衍生出了三種命名規範方法
一、匈牙利命名法(Hungarian notation)
(注重 型別檢查)
通常只針對變數命名
規則是: 變數名 = 類型前綴 + 描述
Ex:
bFoo ----> 表示 布林值 型態的變數
pFoo ----> 表示 指標 型態的變數
strName ----> 表示 字串 型態的變數
iSize ----> 表示 整數變數
u32Identifier ----> 表示 無符號32位元整數
等等
這種命名法其實是對於西蒙尼祖籍的一種諷刺。
查爾斯·西蒙尼(英語: Charles Simonyi)
原名西蒙尼·卡羅利(匈牙利語:Simonyi Károly)
曾任微軟公司的產品開發主任(軟體開發專家)
微軟的早期員工之一,堅持物件導向的軟體開發運程
1948年9月10日生於匈牙利布達佩斯一個電子學教授之家
中學時代 酷愛電腦科學和數學於晚上為大學實驗室打雜工
在當時他所處的實驗室中有一台笨重的蘇聯制烏拉爾二號電腦(Ural II)
西蒙尼透過自學快速掌握該電腦的全部操作指令
並自己開發出一個Fortran語言程序編譯器。
1966年西蒙尼中學畢業後,他憑藉著
開發程序編譯器的工作經驗在丹麥「A/S Regnecentralen」計算中心找到第一份工作。
兩年後
他利用工作攢下的錢至美國加利福尼亞州的加大柏克萊分校
學習工程應用數學及數理統計。
1972年從加大畢業後(六年~)
進入史丹福大學研究生班學習深造計算機科學。
在學習期間他還在施樂公司兼職工作。
在導師的指導下和公司同事合作
開發出當時領先的可視見(WYSIWYG)文本編輯軟體BRAVO。
1977年(五年~)
取得了史丹福大學的博士學位。
1981年
施樂的同事Metcalfe建議他
向微軟公司主席比爾蓋茨寫信毛遂自薦。
後來被重用,主持Multiplan軟體(即Microsoft Excel的前身)的開發工作
採用一項新設計準則使得Multiplan軟體能在多個平台上工作
儘管後來微軟的DOS作業系統迅速普及
使該軟體可移植性意義相對不大
但是西蒙尼的創舉令蓋茨對他深為賞識,隨後兩人密切合作。
後數年,Excel試算表就此誕生,
針對微軟的程式設計師們各自有獨特風格並不擅長團隊合作之陋習
創導了匈牙利命名法(Hungarian notation)。
後來成為世界軟體行業的一種行業標準,
保障了微軟程序的質量和原始碼的易讀性、可維護性。
2007年 從微軟辭職並創辦了「Intentional Programming」公司
力求創造新的軟體開發模式。
匈牙利人名和大多數其他歐洲人名相比是反過來的
即姓氏在名字的前面。
Ex:
英語化的名字「Charles Simonyi」在匈牙利語中原本是「Simonyi Károly」。
在匈牙利命名法中,類型名在實際變數名前
二、駝峰命名法(Camel-Case)
混和使用大小寫字母進行命名
又可細分為
大駝峰(第一個單字全大寫)
Ex: ClassRoom
小駝峰(第一個單字全小寫)
Ex: myRoomCount
三、帕斯卡命名法(Pascal Case)
當變數名和函式名
是由二個或二個以上單字組合時
第一個單字首字母採用大寫字母
單字之間不以空格斷開或連接號(-)、底線(_)連結
以增加變數和函式的可讀性。
Ex:
FirstName、LastName
MyAddress
和大駝峰命名法規範有相同
於Swift語言中採用駝峰式命名法
以下幾點是Swift變數命名規範
若沒遵守這些細節而養成壞習慣命名
通常會影響團隊之間相互看彼此程式碼不統一規範
而有所影響
因此以下這個統一規範可以作為參考
養成一個小小的命名好習慣
(1)對於 結構體(structure)、類別(class)、列舉(enum)、協定(protocol)
應該採用大駝峰命名法
Ex: SplitViewController
(2)對於文件名稱
採用大駝峰命名法
Ex: BlockOperation.swift
(3)對於 擴展(延伸)文件, 有時會定義在一個獨立的文件中
用 原始類型名 + 擴展名 作為擴展文件名
Ex: NSOperation+Operations.swift
(4)變數 及 屬性 採用小駝峰命名法
Ex: studentNumber
(5)常數、 列舉成員採用 大駝峰命名法
Ex: MaxStudentNumber、ExecutionFailed
(6)函數 及 方法 採用 小駝峰命名法
且第一個單字通常為動詞
Ex: balanceAccount ()、 isButtonPressed()、countCar()、getName()
參考資料:
匈牙利命名法
https://zh.wikipedia.org/wiki/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95
查爾斯·西蒙尼
https://zh.wikipedia.org/wiki/%E6%9F%A5%E5%B0%94%E6%96%AF%C2%B7%E8%A5%BF%E8%92%99%E5%B0%BC
留言
張貼留言