Exploring Ruby I:Name Conventions
Posted on 2006-09-29 18:56 chenger 閱讀(425) 評論(0) 編輯 收藏 引用 所屬分類: Programming Stuff
Ruby中的名字約定
歷史:高級程序語言的老祖宗,Fortran,對源程序中的名字,或者叫標識符(identifier)有很嚴格的規定,譬如首字母代表變量的類型等等。個人認為這是當年編譯技術還未成熟時的權宜之計。后來主流的程序設計語言都放松了對名字的限制,像C/C++/Java,只有一點點小小的約束(對所用字符的限制:只能使用英文字母、數字、下劃線,必須以下劃線或英文字母開頭。這也容易理解,完全是為了寫詞法分析器的方便)。而和Fortran同時代的Lisp,這方面更是大開綠燈,愛怎么定義怎么定義。然而到了現在,似乎有點復古的潮流,有些語言開始對名字設立一些規則,比如Haskell,Erlang,包括Ruby。言歸正傳。Ruby中的名字規則主要是根據名字的第一個字母來決定這個名字的使用方式。具體來說,
- 局部變量,方法名,方法參數:以小寫字母或下劃線開頭,以'_'連接。
Example:i,note_controller - 常量:全部大寫,以'_'連接
Example:A_NUM - 類,模塊(module):都是開頭大寫(因為類名是全局變量),其他小寫并且直接連接在一起
Example:ActiveRecord - 全局變量:以'$'開頭(肯定是跟Perl學的,我覺得不怎么好)
- 實例變量(instance variable):以'@'開頭(同上)
- 類變量(class variable):以'@@'開頭(詭異)