1. 做網站時網站命名規范大全(CSS規范便于交流 )

      2011-06-17

          良好的命名規范可以為團隊合作開發推波助瀾,無論在項目開發,還是產品維護上都起到了至關重要的作用。應該說命名規范是一種約定,也是程序員之間良好溝通的橋梁。

      另外古人相信只要知道一個人真正的名字就會獲得凌駕于那個人之上的不可思議的力量。只要給事物想到正確的名字,它就可以帶來比代碼更強的力量。如果所有的命名都與其自然相適合,則關系清晰,含義可以推導得出,一般人的推想也能在意料之中。

      CSS+DIV的命名規則:

        登錄條:loginBar
        標志:logo
        側欄:sideBar
        廣告:banner
        導航:nav
        子導航:subNav
        菜單:menu
        子菜單:subMenu
        搜索:search
        滾動:scroll
        頁面主體:main
        內容:content
        標簽頁:tab
        文章列表:list
        提示信息:msg
        小技巧:tips
        欄目標題:title
        友情鏈接:friendLink
        頁腳:footer
        加入:joinus
        指南:guild
        服務:service
        熱點:hot
        新聞:news
        下載:download
        注冊:regsiter
        狀態:status
        按鈕:btn
        投票:vote
        合作伙伴:partner
        版權:copyRight

        1.CSSID的命名
        外套:wrap
        主導航:mainNav
        子導航:subnav
        頁腳:footer
        整個頁面:content
        頁眉:header
        頁腳:footer
        商標:label
        標題:title
        主導航:mainNav(globalNav)
        頂導航:topnav
        邊導航:sidebar
        左導航:leftsideBar
        右導航:rightsideBar
        旗志:logo
        標語:banner
        菜單內容1:menu1Content
        菜單容量:menuContainer
        子菜單:submenu
        邊導航圖標:sidebarIcon
        注釋:note
        面包屑:breadCrumb(即頁面所處位置導航提示)
        容器:container
        內容:content
        搜索:search
        登陸:login
        功能區:shop(如購物車,收銀臺)
        當前的current

        2.樣式文件命名
        主要的:master.css
        布局版面:layout.css
        專欄:columns.css
        文字:font.css
        打印樣式:print.css
        主題:themes.css

      說明:均為class,需要擴展,則在當前命名內以“_“(下劃線)后綴自定名稱。
      我習慣稱列表頁為list,新聞列表則為newslist,圖片列表為piclist,
      內容頁為view,
      /**/
      整體大框架:#wrapper
      大框架內:#inwrapper
      /////////////////////////////////////////////////////////////////////////////////////////////////////////
      頂部及banner:.top
      頂部及banner內:.intop
      Logo:.logo
      Banner:.banner
      導航:.menu
      導航內:.inmenu
              .Menuul
              .Menuul li
              .Menuul li a
      下拉菜單:.inmenu_xiala
                .Inmenu_xialaul
                .Inmenu_xialaul li
                .Inmenu_xialaul li a
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////
      主體內容:.mainWrapper
      主體內容內:.inmainwrapper
      左側攔:.sideleft
      左側內:.insideleft
      右側欄:.sideright
      右側內:.insideright
      中間:.sidecenter
      中間內:.insidecenter
      /////////////////////////////////////////////////////////////////////////////////////////////////////////////
      底部:.foot
      底部內:.infoot
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////
      /*其他命名*/
      搜索:.search
      搜索內:.insearch
      搜索條:.searchselect
      搜索按鈕:.serachbuttom
      輸入文本框:.input
      .select

      /*表格樣式*/
      表格整體框架:.listbox
      表格的寬度:.listbox-table
      表格頭部文字樣式:.listbox-header
      表格正文文字樣式:.listbox-entry
      /*通用型*/
      通用:.GM/*這個有點郁悶,英文太差...*/
      通用內:.INGM
      通用左浮動:.GMfl(GM FLOAT LEFT)
      通用右浮動:.GMfr(GM FLOAT RIGHT)
      /*通用圖片樣式*/
      通用圖片樣式:.img
      /*清除浮動*/
      清除所有浮動:.clear
      清除左側浮動:.clearleft
      清除右側浮動:.clearright
      /*文字樣式*/
      文字:.font
      /*新聞列表*/
      新聞列表:.fontnews
      /*View頁字體總樣式*/
      VIEW頁字體:.fontview


      商 標:  label
      標 題:  title
      主導航:  mainbav(globalnav)
      頂導航:  topnav
      邊導航:  sidebar
      左導航:  leftsidebar
      右導航:  rightsidebar
      旗 志:  logo
      標 語:  banner
      菜單內容1: menu1 content
      菜單容量: menu container
      子菜單:  submenu
      邊導航圖標:sidebarIcon
      注釋:   note
      面包屑:  breadcrumb(即頁面所處位置導航提示)
      容器:   container
      內容:   content
      搜索:   search
      登陸:   Login
      功能區:  shop(如購物車,收銀臺)
      當前的   current
      報頭:   masthead
      摘要, 概要  summary或general
      左邊的浮動照圖片 photoleft
      右邊的浮動圖片 photoright
      標題   title
      條目底端    entrybottom
      更多    extended或.more
      容器背景 containerbg
      服務   service
      服務鏈接   servicelink
      線   line
      文本   text
      右邊   rightside
      版權   copyright
      新聞   news
      書皮   wrapper
      介紹      intro-part1
      專欄   column
      路徑   pathways
      片斷   section
      模塊   module
      上導航   subnav
      2.另外在編輯樣式表時可用的注釋可這樣寫:

      <-- Footer -->
      內容區
      <-- End Footer -->

      3.樣式文件命名

      主要的 master.css
      布局,版面 layout.css
      專欄 columns.css
      文字 font.css
      打印樣式 print.css
      主題 themes.css

      4.樣式表中的注示
      實例一
      /* GLOBAL --------------------------- */
      /* LINKS --------------------------- */
      /* FORMS --------------------------- */
      /* IDS --------------------------- */
      /* HEADER --------------------------- */
      /* COLUMN 1 --------------------------- */
      /* COLUMN 2 --------------------------- */
      /* CLASSES --------------------------- */

      實例二

      HTML

      實例三(網易)

      CSS
      #UrsLogin
      #LogoNav
      #Column
      #Content1
      #bNav
      #Copyright
      #UrsLogin
      #LogoNav
      #SearchArea
      #ChannelArea
      #HotNews
      #NewsCenter
      .keyword
      #MallArea
      #city
      #aboutus

      ……………………
      常見命名

      包含 wrapper和container
      頁頭 header 或縮寫為hd
      頁尾 footer 或縮寫為ft
      導航 nav
      您的位置 breadcrumbs
      二級導航 sub_nav
      側欄 sidebar或side-column
      模塊 module

      數據庫中的命名規則

      數據庫涉及字符規則

      采用26個英文字母(區分大小寫)和0 -9這十個自然數,加上下劃線_組成,共63個字符。不能出現其他字符(注釋除外)。

      數據庫對象命名規則

      數據庫對象包括表、視圖(查詢)、存儲過程(參數查詢)、函數、約束。對象名字由前綴和實際名字組成,長度不超過30。前綴:使用小寫字母。

      例如:表-tb 視圖-vi 存儲過程-sp 函數-fn

      實際名字

      實際名字盡量描述實體的內容,由單詞或單詞組合,每個單詞的首字母大寫,其他字母小寫,不以數字和_開頭。

      例如:表 User_Info 視圖 UserList 存儲過程 UserDelete

      因此,合法的對象名字類似如下。

      表 tbUser_Info、tbMessage_Detail

      視圖 vi_MessageList

      存儲過程 sp_MessageAdd

      數據庫表命名規則

      字段由前綴和實際名字組成。實際名字中首單詞一個系統盡量采取同一單詞。

      前綴:使用小寫字母tb,表示表。

      例如:tbMember   tbMember_Info   tbForum_Board   tbForum_Thread1

      字段命名規則

      數字、字符、日期/時間、lob(大對象)、雜項,字段由表的簡稱、下劃線,實際名字加后綴組成。

      后綴:使用小寫字母,代表該字段的屬性。

      例如:  User_Idint     User_Namestr     User_RegDatedtm

      視圖命名規則

      字段由前綴和實際名字組成,中間用下劃線連接。

      前綴:使用小寫字母vi,表示視圖。

      例如:vi_User    vi_UserInfo

      存儲過程命名規則

      字段由前綴和實際名字組成,中間用下劃線連接。
      前綴:使用小寫字母sp,表示存儲過程。
      例如:sp_User

      數據庫設計文檔規則

      所有數據庫設計要寫成文檔,文檔以模塊化形式表達。大致格式如下:

        '-------------------------------------------

        '  表名:  tbUser_Info  

        '  建立人:UAM_Richard

        '  日期:  2004-12-17

        '  版本:  1.0

        '  描述:  保存用戶資料

        '  具體內容:

        '  UserId  int,自動增量  用戶代碼

        '  UserName  char(12)  用戶名字

        '  ......

        '--------------------------------------------
      CSS類及id中的命名規則

        Web開發人員可以通過創建CSS類及id名稱并使用這些名稱來對div以及其他的格式頁面元素進行標識。對開發人員來說,在命名重新定義XHTML標記(tags)的CSS selectors時,必須保證其與預定義的標記準確匹配,但就類以及id選擇器名稱而言,則仁者見仁,智者見智。然而隨心所欲的為這些類以及id命名則并不是個好的習慣。

      1、直觀命名

      當在設計Web頁面以及需要對一個div進行標識的時候,自然的想法就是使用可以描述元素所在頁面位置的詞匯來對其命名。

      例如:top-panel

         horizontal-nav

         left-side

         center-column

         right-col

      這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡單并且能夠使人顧名思義,因此滿足了標識頁面元素以及相應的CSS樣式的需要。

      但問題是這樣的名稱同頁面內容的特定表達方式相關聯。這些命名參考了某種特定頁面布局中的頁面元素位置,因此在這樣的布局之外使用就會顯得不合適甚至造成理解混亂。這些命名沒有涉及文檔內容的結構。因此,下面給出了對CSS類以及ID命名更好的方法。

      2、結構化命名

      這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡單并且能夠使人顧名思義,因此滿足了標識頁面元素以及相應的CSS樣式的需要。 這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡單并且能夠使人顧名思義,因此滿足了標識頁面元素以及相應的CSS樣式的需要。

      有標記的相關信息都是用來描述文檔的結構而不是外觀。這樣的特點使得我們可以通過簡單的改變CSS的方式來對不同外觀格式下的內容(content)以及標記(markup)進行重用。當你理解這種方式時,很容易就可以發現采用頁面位置來為類以及id命名的方式在處理如音頻(audio)等外觀格式上顯得非常不合適。因此,應當根據在文檔中的使用目的而非出現位置來對類以及id進行結構化命名。

      可以按照如下所示的結構化方式來對類以及id名稱命名:

      例如:branding

         main-nav

         subnav

         main-content

         sidebar

      這些名字同直觀命名方式一樣非常易懂,但他們描述了頁面元素的作用而非位置。這使得代碼更加符合使用純粹的結構化標記(structural markup)的初衷,即開發人員可以在不改變標記的情況下對各種各樣媒體下的顯示格式進行處理。

      即使你不打算在其他的媒體上對Web頁面進行格式修改,使用結構化命名方式還可以幫助你在日后的站點升級或重新設計中更為輕松。例如,結構化命名避免了當一個div同id right-column移動到頁面左邊后所帶來的混亂。對div sidebar的采用這樣的命名方式就顯得更加適當,因為無論它出現在頁面的哪一邊,這個名字仍然對開發人員來說直觀易懂。

      3、慣例

      Andy Clarke分析了40份由推崇標準化Web設計理念的開發人員所設計的Web站點的源代碼。盡管類以及id名稱很不統一,但是還是發現了一些頻繁出現的常用名稱。這里給出了常用類/id名稱的示例列表:

      例如:header

         content

         nav

         sidebar

         footer

      3.基于成員的命名規范
      基于成員的命名規范是指按照文件,文件夾的從屬關系,通過歸類的方法進行命名,這樣可以使文件的排列具有較強的邏輯性.
      例如:一個圖片文件是在鼠標點擊之前為"file_on".而在點擊后的圖片文件命名為"file_off"根據這個類別命名.更加的清晰.

      4.基于屬性的命名規范
      例如:裝飾性小圖片按照"<圖片內容說明>_<顏色>_<圖片尺寸>_<序號>.*"來表現.這個為"heart_red_401*334_1.jpg"

      5.基于序數的命名規范
      在網頁中一般為了減少圖片的下載時間把圖片分隔成一小部分,組成一個整體圖.這時可以用二維數組的方式命名.
      例如:     

      這個圖片為"donghua_11.jpg"


      這個圖片為"donghua_12.jpg"

      這個圖片為"donghua_21.jpg"


      這個圖片為"donghua_22.jpg"

      這些組成一幅圖片.

      6.基于枚舉的命名規范

      第一個為書的側面為"ddd_cemian.jpg"
      第二個為書的封皮為"ddd_fengpi.jpg"
      第三個為書的封底為"ddd_fengdi.jpg"

      還有的網站上圖片的欣賞也有不同的大小,可根據用戶的意愿查看.

      例如:"ddd_cemian_401*334.jpg"和"ddd_cemian_1024*768.jpg"

      這些供大家建設網站參考.

      為避免代碼沖突(這樣做也會讓你的代碼更為通用),就要使用命名法則,這是一個很好的編程習慣。好啦,這里介紹一些常用的法則。

      ◆命名變量、方法、以及屬性

      變量、方法和屬性的名稱的第一個字母應該大寫,并且名稱應該能表達出它們的用途(或者說是意義)。

      變量
      .NET 命名
      匈牙利命名
      描述

      Cstring
      EmployeeName
      szName
      Name of an employee.

      Int
      AttendanceCounter
      nCounter
      A counter of type long.

      Long
      NumberOfBytes
      lBytes
      A long type variable stores bytes.


      有時我們習慣于在定義中使用下劃線 "_",例如: Add_Data(int a, int b). 按照新的命名法則,這不是一個好的編程習慣,雖然它并沒有錯。你應該將定義 Add_Data 改為 AddData。 這不是微軟的標準,你也不是必須按照這些法則。但是,在一些地方你會明白下邊這些法則的合理性。

      就我個人而言,我更喜歡匈牙利命名法。當然,變量也使用同樣的法則。如果你記得匈牙利命名法的話,一個布爾型的變量定義以"b"打頭,比如:

      BOOL bFlag = TRUE;


      新的法則不推薦使用Flag 和 "b":

      bool IsFileFound = true;

      你可以瀏覽一下MSDN,那里邊有更多有關新的法則的說明。


      ◆命名組件以及集合(Assemblies)

      為避免代碼沖突, 按照命名法則給你的庫(在 .NET 中稱為assembly)命名是一個良好的編程習慣。假定你是MindCracker 公司的,你在開發一個用于擴充C# database 類的庫, 把它的名字命名為MindCracker.DatabaseAssembly.ADOSet 要比MyAssembly.Database.ADOSet好的多。

      再假定你的庫有一個方法,它是從表中讀取數據,并返回一個數據集。你如果取名為 DataSet return_data()的話,改為DataSet ReturnData()好啦.

      你還應該在命名中遵循一個統一的單詞順序。例如,你有倆個表,分別為Employee 和 Manager ,并且你還為它們分別定義了一個向表里邊插入一條記錄的方法, 那么方法名AppendEmployee 和 AppendManager 要比AppendEmployee 和 ManagerAppend要好。
      我更喜歡的二種方法,因為很容易清楚一個塊兒結構和嵌套塊兒結構。

      ◆匈牙利命名法(efoxxx附)

      匈牙利命名法是一名匈牙利程序員發明的,而且他在微軟工作了多年。此命名法就是通過微軟的各種產品和文檔傳出來的。多數有經驗的程序員,不管他們用的是哪門兒語言,都或多或少在使用它

      這種命名法的基本原則是:

      變量名=屬性+類型+對象描述

      即一個變量名是由三部分信息組成,這樣,程序員很容易理解變量的類型、用途,而且便于記憶。

      下邊是一些推薦使用的規則例子,你可以挑選使用,也可以根據個人喜好作些修改再用之。

      ⑴屬性部分:

      全局變量: g_

      常量 : c_

      類成員變量: m_

      ⑵類型部分:

      指針: p

      句柄: h

      布爾型: b

      浮點型: f

      無符號: u

      ⑶描述部分:

      初始化: Init

      臨時變量: Tmp

      目的對象: Dst

      源對象: Src

      窗口: Wnd

      將介紹匈牙利命名法,后面的例子里也會盡量遵守它和上面的代碼風格。還是那句話,并不是要求所有的讀者都要去遵守,但是希望讀者作為一個現代的軟件開發人員都去遵守它。

      a       Array                                 數組

      b       BOOL (int)                            布爾(整數)

      by      Unsigned Char (Byte)                  無符號字符(字節)

      c       Char                                  字符(字節)

      cb      Count of bytes                        字節數

      cr      Color reference value                 顏色(參考)值

      cx      Count of x (Short)                    x的集合(短整數)

      dw      DWORD   (unsigned long)                 雙字(無符號長整數)

      f       Flags   (usually multiple bit values)   標志(一般是有多位的數值)

      fn      Function                              函數

      g_      global                                全局的

      h       Handle                                句柄

      i       Integer                               整數

      l       Long                                  長整數

      lp      Long pointer                          長指針

      m_      Data member of a class                一個類的數據成員

      n       Short int                             短整數

      p       Pointer                               指針

      s       String                                字符串

      sz      Zero terminated String                以0結尾的字符串

      tm      Text metric                           文本規則

      u       Unsigned int                          無符號整數

      ul      Unsigned long (ULONG)                 無符號長整數

      w       WORD (unsigned short)                 無符號短整數

      x,y     x, y coordinates (short)              坐標值/短整數

      v       void                                  空

      下邊舉例說明:

      hwnd: h表示句柄,wnd表示窗口,合起來為“窗口句柄”。

      m_bFlag: m表示成員變量,b表示布爾,合起來為:“某個類的成員變量,布爾型,是一個狀態標志”。

      C# .net 命名規范
      一個好的命名規范如此難找,還是自己收藏一個比較好

      1 ADO.NET          命名規范          數據類型          數據類型簡寫          標準命名舉例         
      Connection          con          conNorthwind         
      Command          cmd          cmdReturnProducts         
      Parameter       parm          parmProductID         
      DataAdapter      dad          dadProducts         
      DataReader      dtr          dtrProducts         
      DataSet          dst          dstNorthWind         
      DataTable        dtbl          dtblProduct         
      DataRow          drow          drowRow98         
      DataColumn         dcol          dcolProductID         
      DataRelation      drel          drelMasterDetail         
      DataView          dvw          dvwFilteredProducts        

      WinForm          Control          命名規范

      數據類型          數據類型簡寫          標準命名舉例         
      Label            lbl          lblMessage         
      LinkLabel       llbl          llblToday         
      Button          btn          btnSave         
      TextBox          txt          txtName         
      MainMenu          mmnu          mmnuFile         
      CheckBox          chk          chkStock         
      RadioButton      rbtn          rbtnSelected         
      GroupBox          gbx          gbxMain         
      PictureBox       pic          picImage         
      Panel             pnl          pnlBody         
      DataGrid          dgrd          dgrdView         
      ListBox          lst          lstProducts         
      CheckedListBox    clst          clstChecked         
      ComboBox          cbo          cboMenu         
      ListView          lvw          lvwBrowser         
      TreeView          tvw          tvwType         
      TabControl          tctl          tctlSelected         
      DateTimePicker     dtp          dtpStartDate         
      HscrollBar          hsb          hsbImage         
      VscrollBar          vsb          vsbImage         
      Timer              tmr          tmrCount         
      ImageList          ilst          ilstImage         
      ToolBar           tlb          tlbManage         
      StatusBar          stb          stbFootPrint         
      OpenFileDialog      odlg          odlgFile         
      SaveFileDialog      sdlg          sdlgSave         
      FoldBrowserDialog   fbdlg          fgdlgBrowser         
      FontDialog          fdlg          fdlgFoot         
      ColorDialog          cdlg          cdlgColor         
      PrintDialog          pdlg          pdlgPrint        

      3          WebControl          命名規范

      數據類型          數據類型簡寫          標準命名舉例         
      AdRotator          adrt          Example         
      Button             btn          btnSubmit         
      Calendar          cal          calMettingDates         
      CheckBox          chk          chkBlue         
      CheckBoxList       chkl          chklFavColors         
      CompareValidator   valc          valcValidAge         
      CustomValidator     valx          valxDBCheck         
      DataGrid           dgrd          dgrdTitles         
      DataList           dlst          dlstTitles         
      DropDownList       drop          dropCountries         
      HyperLink          lnk          lnkDetails         
      Image             img          imgAuntBetty         
      ImageButton      ibtn          ibtnSubmit         
      Label            lbl          lblResults         
      LinkButton       lbtn          lbtnSubmit         
      ListBox          lst          lstCountries         
      Panel            pnl          pnlForm2         
      PlaceHolder     plh          plhFormContents         
      RadioButton          rad          radFemale         
      RadioButtonList          radl          radlGender         
      RangeValidator          valg          valgAge         
      RegularExpression          vale          valeEmail_Validator         
      Repeater                    rpt          rptQueryResults         
      RequiredFieldValidator      valr          valrFirstName         
      Table              tbl          tblCountryCodes         
      TableCell          tblc          tblcGermany         
      TableRow          tblr          tblrCountry         
      TextBox            txt          txtFirstName         
      ValidationSummary    vals          valsFormErrors         
      XML                xmlc          xmlcTransformResults        

      .NET中的命名規則

      名稱空間的命名 

         命名名稱空間的一般規則如下:
         CompanyName.TechnologyName
        這樣,我們看到的名稱空間應該是這樣的:  
         Microsoft.Office
         PowerSoft.PowerBuilder                               

        注意:這只是一個原則。第三方公司可以選擇其它的名字。
        避免用公司名稱或其它著名品牌的名稱作為名稱空間的前綴,這樣會造成兩個公布的名稱空間有同一個名稱的可能性。
        例如: 將微軟提供的Office自動類命名為Microsoft.Office

        使用Pascal大寫方式,用逗號分隔邏輯成分。
        例如:Microsoft.Office.PowerPoint

        如果你的品牌使用的是非傳統大寫方式,那么一定要遵循你的品牌所確定使用的大寫方式,即使這種方式背離了通常的名稱空間大寫規則。
        例如:NeXT.WebObjects
           ee.cummings


      類和類成分的命名

        類的命名原則是用名詞或名詞短語命名類,使用Pascal大寫。減少類名中縮寫的使用量。不要使用任何類前綴(比如C),不要使用帶下劃線的字符。
        例如:public class FileStream {}
            public class Button {}
            public class String {}