亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 程序編寫規范倡議書大話篇.htm

?? 編程規范大全
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<P><BR>RE:《程序編寫規范倡議書》大話篇 - 成都 / super_mike 回復于2001-9-7 13:20:00 <BR>C語言編程規范(僅供參考,如有異議,歡迎電子郵件與我聯系):<BR>1. 基本要求<BR>1.1 程序結構清析,簡單易懂,單個函數的程序行數不得超過100行。<BR>1.2 打算干什么,要簡單,直接了當,代碼精簡,避免垃圾程序。<BR>1.3 盡量使用標準庫函數和公共函數。<BR>1.4 不要隨意定義全局變量,盡量使用局部變量。<BR>1.5 使用括號以避免二義性。</P>
<P>2.可讀性要求<BR>2.1 可讀性第一,效率第二。<BR>2.2 保持注釋與代碼完全一致。<BR>2.3 每個源程序文件,都有文件頭說明,說明規格見規范。<BR>2.4 每個函數,都有函數頭說明,說明規格見規范。<BR>2.5 主要變量(結構、聯合、類或對象)定義或引用時,注釋能反映其含義。<BR>2.7 常量定義(DEFINE)有相應說明。<BR>2.8 處理過程的每個階段都有相關注釋說明。<BR>2.9 在典型算法前都有注釋。<BR>2.10 利用縮進來顯示程序的邏輯結構,縮進量一致并以Tab鍵為單位,定義Tab為 6個<BR>字節。<BR>2.11 循環、分支層次不要超過五層。<BR>2.12 注釋可以與語句在同一行,也可以在上行。<BR>2.13 空行和空白字符也是一種特殊注釋。<BR>2.14 一目了然的語句不加注釋。<BR>2.15 注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。<BR>2.16 注釋行數(不包括程序頭和函數頭說明部份)應占總行數的 1/5 到 1/3 。</P>
<P>3. 結構化要求<BR>3.1 禁止出現兩條等價的支路。<BR>3.2 禁止GOTO語句。<BR>3.3 用 IF 語句來強調只執行兩組語句中的一組。禁止 ELSE GOTO 和 ELSE RETURN。<BR>3.4 用 CASE 實現多路分支。<BR>3.5 避免從循環引出多個出口。<BR>3.6 函數只有一個出口。<BR>3.7 不使用條件賦值語句。<BR>3.8 避免不必要的分支。<BR>3.9 不要輕易用條件分支去替換邏輯表達式。</P>
<P>4. 正確性與容錯性要求<BR>4.1 程序首先是正確,其次是優美<BR>4.2 無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應先回頭檢查。<BR>4.3 改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程序的影響。<BR>4.4 所有變量在調用前必須被初始化。<BR>4.5 對所有的用戶輸入,必須進行合法性檢查。<BR>4.6 不要比較浮點數的相等,<BR>如: 10.0 * 0.1 == 1.0 , 不可靠<BR>4.7 程序與環境或狀態發生關系時,必須主動去處理發生的意外事件,如文件能否<BR>邏輯鎖定、打印機是否聯機等。<BR>4.8 單元測試也是編程的一部份,提交聯調測試的程序必須通過單元測試。</P>
<P>5. 可重用性要求<BR>5.1 重復使用的完成相對獨立功能的算法或代碼應抽象為公共控件或類。<BR>5.2 公共控件或類應考慮OO思想,減少外界聯系,考慮獨立性或封裝性。<BR>5.3 公共控件或類應建立使用模板。<BR>          附:C++ 編程規范,delphi作相應的參考</P>
<P>1適用范圍<BR>本標準適用于利用Visul C++ ,Borland C++進行軟件程序開發的人員.。</P>
<P>.2變量命名<BR>命名必須具有一定的實際意義,形式為xAbcFgh,x由變量類型確定,Abc、Fgh表示連續意<BR>義字符串,如果連續意義字符串僅兩個,可都大寫.如OK.<BR>具體例程:<BR>BOOL類型         bEnable;</P>
<P>ch   *       char              chText<BR>c   *       類對象             cMain(對象實例)<BR>h   *       Handle(句柄)         hWnd<BR>i   *       int<BR>n   *       無符號整型<BR>p   *       指針<BR>sz,str *       字符串<BR>w           WORD<BR>x,y          坐標<BR>Char或者TCHAR類型    與Windows API有直接聯系的用szAppName[10]形式否則用<BR>FileName[10]形式,單個字符也可用小寫字母表示;<BR>Int類型          nCmdShow;<BR>LONG類型         lParam;<BR>UINT類型         uNotify;<BR>DWORD類型        dwStart;<BR>PSTR類型         pszTip;<BR>LPSTR類型        lpCmdLine<BR>LPTSTR類型        lpszClassName;<BR>LPVOID類型        lpReserved<BR>WPARAM類型       wParam,<BR>LPARAM類型        lParam<BR>HWND類型         hDlg;<BR>HDC類型          hDC;<BR>HINSTANCE類型      hInstance<BR>HANDLE類型        hInstance,<BR>HICON類型         hIcon;<BR>int             iTmp<BR>float             fTmp<BR>DWORD          dw*<BR>String , AnsiString       str *<BR>m_           類成員變量           m_nVal, m_bFlag<BR>g_           全局變量            g_nMsg, g_bFlag<BR>局部變量中可采用如下幾個通用變量:nTemp,nResult,I,J(一般用于循環變量)。<BR>其他資源句柄同上<BR>.3常量命名和宏定義<BR>常量和宏定義必須具有一定的實際意義;<BR>常量和宏定義在#include和函數定義之間;<BR>常量和宏定義必須全部以大寫字母來撰寫,中間可根據意義的連續性用下劃線連接,每一<BR>條定義的右側必須有一簡單的注釋,說明其作用;<BR>資源名字定義格式:<BR>菜單:IDM_XX或者CM_XX<BR>位圖:IDB_XX<BR>對話框:IDD_XX<BR>字符串:IDS_XX<BR>DLGINIT:DIALOG_XX<BR> ICON:IDR_XX<BR>.4函數命名<BR>函數原型說明包括引用外來函數及內部函數,外部引用必須在右側注明函數來源:模<BR>塊名及文件名, 如是內部函數,只要注釋其定義文件名;<BR>第一個字母必須使用大寫字母,要求用大小寫字母組合規范函數命名,必要時可用下劃線<BR>間隔,示例如下:<BR>void UpdateDB_Tfgd (TRACK_NAME);  <A href="file://Module">file://Module</A> Name :r01/sdw.c<BR>void PrintTrackData (TRACK_NAME); <A href="file://Module">file://Module</A> Name :r04/tern.c<BR>void ImportantPoint (void);      <A href="file://Module">file://Module</A> Name :r01/sdw.c<BR>void ShowChar (int , int , chtype);  <A href="file://Local">file://Local</A> Module<BR>void ScrollUp_V (int , int);      <A href="file://Local">file://Local</A> Module<BR>.5結構體命名<BR>結構體類型命名必須全部用大寫字母,原則上前面以下劃線開始;結構體變量命名必須用<BR>大小寫字母組合,第一個字母必須使用大寫字母,必要時可用下劃線間隔。對于私有數<BR>據區,必須注明其所屬的進程。全局數據定義只需注意其用途。<BR>          示例如下:<BR>          typedef struct<BR>          {<BR>              char         szProductName[20];<BR>              char         szAuthor[20];</P>
<P>              char         szReleaseDate[16];<BR>              char         szVersion[10];<BR>              unsigned long    MaxTables;<BR>              unsigned long    UsedTables;<BR>}DBS_DATABASE;<BR>DBS_DATABASE GdataBase;</P>
<P>6 控件的命名:<BR>用小寫前綴表示類別<BR>用小寫前綴表示類別:<BR>fm       窗口<BR>cmd      按鈕<BR>cob      combo,下拉式列表框<BR>txt      文本輸入框<BR>lab      labal,標簽<BR>img      image,圖象<BR>pic      picture<BR>grd      Grid,網格<BR>scr      滾動條<BR>lst      列表框<BR>frm      fram</P>
<P>7注釋<BR>原則上注釋要求使用中文;<BR>文件開始注釋內容包括:公司名稱、版權、作者名稱、時間、模塊用途、背景介紹等,復<BR>雜的算法需要加上流程說明;<BR>函數注釋包括:輸入、輸出、函數描述、流程處理、全局變量、調用樣例等,復雜的函數<BR>需要加上變量用途說明;<BR>程序中注釋包括:修改時間和作者、方便理解的注釋等;</P>
<P><BR>  引用一: 文件開頭的注釋模板<BR>/******************************************************************<BR>** 文件名:<BR>** Copyright (c) 1998-1999 *********公司技術開發部<BR>** 創建人:<BR>** 日 期:<BR>** 修改人:<BR>** 日 期:<BR>** 描 述:<BR>**<BR>** 版 本:<BR>**--------------------------------------------------------------------------<BR>---</P>
<P><BR>******************************************************************/</P>
<P>  引用二: 函數開頭的注釋模板<BR>/*****************************************************************<BR>** 函數名:<BR>** 輸 入: a,b,c<BR>**   a---<BR>**   b---<BR>**   c---<BR>** 輸 出: x---<BR>**   x 為 1, 表示...<BR>**   x 為 0, 表示...<BR>** 功能描述:<BR>** 全局變量:<BR>** 調用模塊:<BR>** 作 者:<BR>** 日 期:<BR>** 修 改:<BR>** 日 期:<BR>** 版本<BR>****************************************************************/<BR>  引用三: 程序中的注釋模板<BR>/*----------------------------------------------------------*/<BR>/* 注釋內容            */<BR>/*----------------------------------------------------------*/<BR>8 程序<BR>a.   程序編碼力求簡潔,結構清晰,避免太多的分支結構及太過于技巧性的程序,<BR>盡量不采用遞歸模式。<BR>b.  編寫程序時,亦必須想好測試的方法,換句話說,”單元測試” 的測試方案應<BR>在程序編寫時一并擬好。<BR>c.  注釋一定要與程序一致。<BR>d.  版本封存以后的修改一定要將老語句用/* */ 封閉,不能自行刪除或修改,并要<BR>在文件及函數的修改記錄中加以記錄。<BR>e.   程序中每個block 的開頭 ”{" 及 "}” 必須對齊,嵌套的block 每進一套,<BR>縮進一個tab,TAB 為4個空格,block類型包括if、for、while、do等關鍵字引出的。<BR>f. 對于比較大的函數,每個block 和特殊的函數調用,都必須注明其功能,舉例如下<BR>:<BR>count.divisor = 1193280 / freq;        // compute the proper count<BR>OutByte((unsigned short)67, (unsigned char)182); // tell 8253 that a<BR>count is coming<BR>OutByte((unsigned short)66, count. c[0]);   // send low-order byte<BR>OutByte((unsigned short)66, count. c[1]);   // send high-order byte</P>
<P>×××××××××××××××××××××××××××××××××××××××<BR>bcb,delphi中的變量命名:<BR> 遵循匈牙利命名法,命<BR>名必須有意義,制定如下規定<BR> 窗體:以大寫的W開始,如About版權窗體, 命名為WAbout<BR>文件:以大寫的F開始,如About版權窗體,文件命名為FAbout.cpp<BR>按鈕(Button):如退出按鈕,命名為btnExit<BR> ……<BR> 基類:加base標記,如報表基類,窗體命名為:WBaseRep, 文件命名為FBaseRep.cpp</P>
<P>轉貼<BR>&gt; 1. 在.h/.cpp的開頭應有一段格式統一的說明,內容包括:<BR>&gt; a. 文件名 (FileName);<BR>&gt; b. 創建人 (Creater);<BR>&gt; c. 文件創建時間 (Date);<BR>&gt; d. 簡短說明文件功能、用途 (Comment)。<BR>好習慣<BR>&gt; 2. 除非極其簡單,否則對函數應有注釋說明。內容包括:功能、入口/出口參數,必<BR>要<BR>&gt; 時還可有備注或補充說明。<BR>還是好習慣<BR>&gt; 3. 每列代碼的長度推薦為 80列,最長不得超過120列;折行以對齊為準。<BR>太寬了,我的限制是60列,因為文本方式下屏幕一共80列,如果你用BC這一類的編輯<BR>器,窗口邊框等又要占據一定空間,所以80列太寬<BR>&gt; 4. 循環、分支代碼,判斷條件與執行代碼不得在同一行上。<BR>很對<BR>&gt; 5. 指針的定義,* 號既可以緊接類型,也可以在變量名之前。<BR>&gt;<BR>&gt; 例:可寫做:int* pnsize;<BR>&gt;<BR>&gt; 也可寫做:int *pnsize;<BR>&gt;<BR>&gt; 但不得寫做:int * pnsize;<BR>建議采用第二種,除非附加另外一條規定:一次只聲明一個變量,否則就會讓人混淆,<BR>比如:<BR>int* a, b;<BR>看起來b好像也是個指針,其實不是。<BR>&gt; 6. 在類的成員函數內調用非成員函數時,在非成員函數名前必須加上"::"。<BR>這一條我倒覺得并不是必需的,我的看法是決不要讓你的類成員函數和全局函數的名稱<BR>相同(或類似)<BR>&gt; 7. 函數入口參數有缺省值時,應注釋說明。<BR>&gt;<BR>&gt; 例:BOOL CWpsDib::PaintDIB(CDC* pDC, CRect&amp; rc,<BR>&gt;   int nBrightness, <A href="file://*=0*//">file://*=0*//</A><BR>&gt;   BOOL bGrayScale <A href="file://*=FALSE*//">file://*=FALSE*//</A> )<BR>每個變量寫一行,必要時加上/*in, out*/注釋<BR>&gt; 8. else if 必須寫在一行。<BR>應該盡量避免else if這樣的結構<BR>&gt; 9. 與‘{’、‘}’有關的各項規定:<BR>&gt;<BR>&gt; 9.1‘{’、‘}’應獨占一行。在該行內可有注釋。<BR>&gt; 9.2 ‘{’必須另起一行,‘{’ 之后的代碼必須縮進一個Tab。‘{’與‘}’必須在<BR>同<BR>&gt; 一列上。<BR>&gt; 9.3 在循環、分支之后若只有一行代碼,雖然可省略‘{’、‘}’,但不推薦這么<BR>&gt; 做。若省略后可能引起歧義,則必須加上‘{’、‘}’。<BR>持保留意見,因為GNU的代碼規范是這樣的:<BR>if ( NULL == ptr )<BR>  {<BR>    // do something here<BR>  }<BR>或者<BR>if ( NULL == ptr ) {<BR>    // do something here<BR>}<BR>爭論哪個更好并沒有意義,關鍵是統一,如果用VC當然你的辦法最方便,可是如果你用<BR>emacs或者vi,就不是這樣了。<BR>&gt; 10. 與空格有關的各項規定。<BR>&gt;<BR>&gt; 10.1 在所有兩目、三目運算符的兩邊都必須有空格。在單目運算符兩端不必空格。<BR>但<BR>&gt; 在‘—&gt;’、‘::’、‘.’、‘[’、‘]’等運算符前后,及‘&amp;’(取地址)、‘*<BR>&gt; ’(取值)等運算符之后不得有空格。<BR>&gt; 10.2 for、while、if 等關鍵詞之后應有1個空格,再接‘(’,之后無空格;在結<BR>尾<BR>&gt; 的‘)’前不得有空格。</P>
<P>我認為在括號兩端加空格并不是什么錯誤,尤其是在一個條件十分復雜的if語句里<BR>&gt; 10.3 調用函數、宏時,‘(’、‘)’前后不得有空格。<BR>&gt; 10.4 類型強制轉換時,‘(’‘)’前后不得有空格<BR>同上<BR>&gt; 11. 與縮進有關的各項規定<BR>&gt;<BR>&gt; 11.1 縮進以 Tab 為單位。1 個 Tab 為 4 個空格<BR>我認為這個值應該更大,我自己使用8個空格,如果你的代碼因為縮進幅度太大而導致<BR>折行,那么幾乎可以肯定你的程序設計方案有問題。<BR>&gt; 11.2 下列情況,代碼縮進一個 Tab:<BR>&gt; 1. 函數體相對函數名及'{'、'}'。<BR>&gt; 2. if、else、for、while、do 等之后的代碼。<BR>&gt; 3. 一行之內寫不下,折行之后的代碼,應在合理的位置進行折行。若有 + - * / 等<BR>運<BR>&gt; 算符,則運算符應在上一行末尾,而不應在下一行的行首。<BR>這一條我反對,運算符應該放在下一行行首,以使人能清楚的知道這一行是續上一行<BR>的,比如<BR>if ( something<BR>  &amp;&amp; somethingelse<BR>  &amp;&amp; otherthings )<BR>如果寫做<BR>if ( something &amp;&amp;<BR>  somethingelse &amp;&amp;<BR>  otherthings )<BR>反而看不清楚<BR>&gt; 11.3 下列情況,不必縮進:switch 之后的 case、default。</P>
<P>&nbsp;</P>
<P><BR>&nbsp;<BR></P></DIV></TD></TR></TBODY></TABLE><FONT color=#ff0000></FONT>
<P align=right><A href="http://blog.21ic.org/blog.asp?name=cxjr" target=_blank><FONT color=#ff0000>如果你的‘芯’是一座作坊,我愿做那不知疲倦的程序匠。打造一流博客,我們每天在努力!</FONT></A></P><A href="http://blog.21ic.org/blog.asp?name=cxjr" target=_blank><FONT color=#ff0000></FONT></A><br><a name='comment'></a><table width='90%' border='0' align='center' cellspacing='0' cellpadding='0'> <tr> <td><strong>發表評論:</strong></tr></td></table>
<table width='90%' border='0' align='center' cellspacing='0' cellpadding='0'> <tr> <td><table align='left' width='100%' border='0' cellspacing='0' cellpadding='0'>
<form action='more.asp?name=cxjr&id=667&action=addcomment_ic' method='post' name='commentform' onSubmit='return Verifycomment()'>
<tr><td height='25'  align='left'>昵稱:<input name='UserName' type='text' id='UserName' size='15' maxlength='20' value=''></td></tr>
<tr><td height='25' align='left'>密碼:<input name='Password' type='password' id='Password' size='15' maxlength='20' value=''> (游客無須輸入密碼)</td></tr>
<tr ><td height='25' align='left'  >驗證碼:<input name='GetCode' type='text' id='GetCode' size='12' maxlength='20' />&nbsp;<img src='inc/code.asp' width='40' height='10' border='0' /><td></tr><tr ><td height='25' align='left'  >主頁:<input name='homepage' type='text' id='homepage' size='42' maxlength='50' value='http://'><td></tr><tr ><td height='25' align='left'  >標題:<input name='commenttopic' type='text' id='commenttopic' size='42' maxlength='50' value='回復:《程序編寫規范倡議書》大話篇'><td></tr><tr height='200'><td ><INPUT type='hidden' name='edit' id='edit' value=''>
<link rel="STYLESHEET" type="text/css" href="images/edit.css">
<Script Src="images/DhtmlEdit.js"></Script>
<table id="oblog_Container" class="oblog_Body" height=100% width=350 cellpadding=1 cellspacing=0 border=0 >
  <tr> 
    <td  height="10"> <table cellpadding=0 cellspacing=0 >
        <tr class="yToolbar" ID="ExtToolbar0" > 
          <td> <select language="javascript" class="oblog_TBGen" id="FontSize" onchange="FormatText('fontsize',this[this.selectedIndex].value);">
              <option class="heading" selected>字號 
              <option value="1">1 
              <option value="2">2 
              <option value="3">3 
              <option value="4">4 
              <option value="5">5 
              <option value="6">6 
              <option value="7">7</option>
            </select> 
          <td class="oblog_Btn" TITLE="加粗" LANGUAGE="javascript" onclick="FormatText('bold', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/bold.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="斜體" LANGUAGE="javascript" onclick="FormatText('italic', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/italic.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="下劃線" LANGUAGE="javascript" onclick="FormatText('underline', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/underline.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="取消格式" LANGUAGE="javascript" onclick="FormatText('RemoveFormat', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/removeformat.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="左對齊" NAME="Justify" LANGUAGE="javascript" onclick="FormatText('justifyleft', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/aleft.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="居中" NAME="Justify" LANGUAGE="javascript" onclick="FormatText('justifycenter', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/center.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="右對齊" NAME="Justify" LANGUAGE="javascript" onclick="FormatText('justifyright', '');ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/aright.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="插入表情" LANGUAGE="javascript" onclick="oblog_foremot()" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/smiley.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td id="forecolor" name=forecolor class="oblog_Btn" TITLE="字體顏色" LANGUAGE="javascript" onclick="oblog_foreColor();" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/fgcolor.gif" WIDTH="16" HEIGHT="16" unselectable="on" > </td>
          <td id="backcolor" class="oblog_Btn" TITLE="字體背景顏色" LANGUAGE="javascript" onclick="oblog_backColor();ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn';> 
            <img class="oblog_Ico" src="images/fbcolor.gif" WIDTH="16" HEIGHT="16" unselectable="on"> </td>
          <td class="oblog_Btn" TITLE="插入超級鏈接" LANGUAGE="javascript" onclick="oblog_forlink();ondrag='return false;'" onmouseover=this.className='oblog_BtnMouseOverUp'; onmouseout=this.className='oblog_Btn'; > 
            <img class="oblog_Ico" src="images/wlink.gif" WIDTH="18" HEIGHT="18" unselectable="on"> </td>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美优质美女网站| 亚洲精品免费电影| 一区二区三区不卡视频在线观看 | 国产盗摄视频一区二区三区| 91色九色蝌蚪| 国产亚洲短视频| 日韩成人精品视频| 欧洲精品视频在线观看| 国产精品久久毛片a| 久久99国产精品麻豆| 欧美亚洲动漫另类| 国产精品久久久久精k8| 国产福利一区二区| 精品国产一区久久| 污片在线观看一区二区| 91福利在线导航| 亚洲欧洲色图综合| 国产成人小视频| 国产三级精品三级在线专区| 美女视频黄频大全不卡视频在线播放| 精品视频一区 二区 三区| 亚洲免费av网站| caoporn国产一区二区| 欧美经典一区二区| 国产成人亚洲综合a∨婷婷图片| 精品欧美一区二区在线观看| 日韩av网站在线观看| 91.xcao| 婷婷夜色潮精品综合在线| 欧美午夜精品电影| 午夜激情一区二区三区| 欧美日韩五月天| 亚洲18影院在线观看| 911精品国产一区二区在线| 免费在线视频一区| 欧美变态口味重另类| 国产精品自拍网站| 国产精品国产三级国产普通话蜜臀 | 欧美videos大乳护士334| 蜜臀av在线播放一区二区三区| 欧美电影免费观看高清完整版在线观看| 91在线视频观看| 亚洲三级电影全部在线观看高清| 美女视频网站久久| 久久综合久久鬼色中文字| 美女脱光内衣内裤视频久久网站 | 国产精品理论在线观看| 亚洲h在线观看| 成人黄色免费短视频| 正在播放一区二区| 亚洲三级在线观看| 国产黄色91视频| 日韩美女一区二区三区四区| 亚洲一区二区视频在线观看| 国产高清亚洲一区| 日韩免费一区二区| 亚洲高清免费观看 | 久久电影网电视剧免费观看| 欧美在线视频全部完| 日韩理论片在线| 福利一区二区在线观看| 久久久久久久av麻豆果冻| 蜜臀久久久久久久| 欧美浪妇xxxx高跟鞋交| 亚洲一区二区在线免费看| 91在线视频免费91| 亚洲欧洲综合另类| 色综合久久六月婷婷中文字幕| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 成人av电影在线观看| 精品日韩一区二区三区| 美国欧美日韩国产在线播放| 欧美一区二区成人| 蜜臀精品久久久久久蜜臀 | 国产**成人网毛片九色| 国产午夜精品美女毛片视频| 国产成人免费视频一区| 国产欧美日韩久久| 成人黄色在线网站| 中文字幕在线不卡| 91视频www| 亚洲一区二区三区四区中文字幕| 欧美中文字幕一区| 日韩av一区二区三区四区| 日韩欧美国产午夜精品| 国产乱人伦精品一区二区在线观看 | 欧美日韩电影在线| 免费久久99精品国产| 久久免费电影网| 不卡高清视频专区| 亚洲国产毛片aaaaa无费看 | 欧美日韩视频第一区| 免费欧美高清视频| 久久综合成人精品亚洲另类欧美 | 日韩三级.com| 国产白丝精品91爽爽久久| 一区二区三区在线视频免费观看| 欧美日韩色一区| 国精产品一区一区三区mba视频 | 93久久精品日日躁夜夜躁欧美| 亚洲综合精品久久| 日韩一区二区不卡| 成人av动漫在线| 免费一级欧美片在线观看| 国产情人综合久久777777| 在线日韩av片| 国产一区二区在线电影| 一区二区三区日韩在线观看| 欧美成va人片在线观看| 色综合夜色一区| 国产在线精品一区二区三区不卡| 中文字幕一区二区三区视频| 91精品婷婷国产综合久久性色| 成人爱爱电影网址| 国模少妇一区二区三区| 亚洲另类春色国产| 国产欧美日本一区二区三区| 欧美午夜宅男影院| 大胆亚洲人体视频| 麻豆精品一二三| 亚洲国产视频一区| 国产精品久久久久久久久久久免费看 | 国产日韩欧美精品综合| 欧美日韩一区二区三区在线| 处破女av一区二区| 国精品**一区二区三区在线蜜桃| 亚洲第一精品在线| 亚洲天堂免费在线观看视频| 久久久99精品免费观看不卡| 91精品国产高清一区二区三区| 99免费精品视频| 国产成人啪免费观看软件| 久久er精品视频| 伦理电影国产精品| 日韩有码一区二区三区| 亚洲欧美区自拍先锋| 国产精品久久久久一区| 中文字幕免费在线观看视频一区| 精品国产a毛片| 日韩欧美国产一区二区在线播放| 在线免费观看不卡av| 色综合久久综合| 91网址在线看| 一本到三区不卡视频| 一本在线高清不卡dvd| 91麻豆免费看片| 91视频你懂的| 欧美在线观看一二区| 91福利资源站| 欧美系列亚洲系列| 欧美天堂一区二区三区| 欧美揉bbbbb揉bbbbb| 欧美日韩精品欧美日韩精品一综合| 日本久久电影网| 在线精品视频一区二区三四| 欧洲另类一二三四区| 欧美二区三区的天堂| 欧美一级专区免费大片| 欧美精品一区二区三区蜜臀| 久久久电影一区二区三区| 国产精品污网站| 一区二区三区高清| 天堂资源在线中文精品| 久久99精品视频| 国产精品一区二区三区网站| fc2成人免费人成在线观看播放 | 国内成+人亚洲+欧美+综合在线| 韩国三级电影一区二区| 国产成a人无v码亚洲福利| voyeur盗摄精品| 欧美人xxxx| 国产日韩一级二级三级| 亚洲人成网站色在线观看| 五月婷婷久久综合| 激情五月激情综合网| k8久久久一区二区三区 | 亚洲天天做日日做天天谢日日欢| 一区二区三区免费在线观看| 日本亚洲天堂网| 成人精品视频.| 欧美三级在线视频| 欧美成人欧美edvon| 综合av第一页| 日韩二区在线观看| 国产黄色91视频| 欧美亚洲免费在线一区| 久久网站热最新地址| 亚洲另类中文字| 激情小说欧美图片| 欧美日韩中文字幕一区二区| 久久久欧美精品sm网站| 亚洲第一电影网| 国产成人精品一区二 | 美女www一区二区| 91亚洲男人天堂| 亚洲久本草在线中文字幕| 免费高清不卡av| 91在线精品一区二区| 欧美一级片免费看| 亚洲精品乱码久久久久|