<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 開發規范 遵循開發規范可以增強代碼的可讀性和可維護性,提高程序的執行效率,降低由于不規范的編寫或修改導致的各種錯誤發生機率。本節將以ExDUI開發中的常見情況對代碼開發中的規范要求進行說明。 * * * * * ### 總體要求 1. 開發者應當嚴格執行本規范以確保源代碼的可讀性及可維護性。 2. 所有的程序都應配有注釋,以便提高程序代碼的可讀性。 3. 程序開發過程中,除特定情況應盡量避免使用拼音或拼音首字母的命名方式。 * * * * * ### 文件命名規范 1. 文件的命名應以與該文件相關的關鍵字詞命名。 2. 命名的長度應在3-30個左右的字符。 3. 應嚴格區分文件的后綴名,對于常用格式的文件后綴名應遵循系統默認后綴名,對于相同私有格式的文件后綴名應保持一致。 4. 文件名應盡量使用英文進行命名,盡量不使用生僻字或Ansi編碼以外的字符,以免部分軟件不支持。 5. 使用英文名應遵循首字母大寫的原則,盡量不使用空格,若使用縮寫,應使用本節最后統一的縮寫范例。 6. 不建議使用拼音或其他語言進行命名。 7. 應對軟件工程中的各項文件進行目錄分類管理,目錄的命名遵照上面的規范實施。 * * * * * ### 變量名命名規范 1. 變量名的命名應與該變量存放數據有關。 2. 變量名的命名應盡量使用英文,遵循匈牙利命名法或駝峰命名法。 3. 變量名前綴應包含作用域、類型等關鍵信息。 4. 變量的命名應避免使用與函數名、程序集名、窗口等對象相同的名稱。 5. 避免使變量名為另一個變量名的一部分。 6. 邏輯變量應包括 Is(是否/可否) 關鍵字,如 bWindowIsEnable 或 窗口是否可用。 7. 根據變量的作用域,變量名前綴可分為全局變量:g_XXX(全_XXX),程序集/類成員變量:m_XXX(集_XXX),靜態變量:s_XXX(靜_XXX),參數變量和局部變量:不加前綴(XXX)。 * * * * * ### 函數/子程序/成員方法命名規范 1. 函數/子程序/成員方法(以下統稱函數)的命名應與該函數的功能有關。 2. 函數的命名應盡量使用英文,遵循駝峰命名法或首字母大寫命名法。 3. 函數名應由動詞開頭,如 SaveImage 或 保存圖片。 4. 若函數的返回值具有特定意義,應在函數名中得到體現,如第三點中的例子所示。 5. 當類中成員方法為某屬性的讀取設置器時,應以名詞開頭并首字母大寫,如 ImageWidth 或 圖片寬度。 6. 全局函數應包含與其功能相關的功能前綴,如 Obj_XX、組件_XX、Ex_Wnd_XX、窗口_XX等。 * * * * * ### 常量命名規范 1. 常量的命名應與該常量值代表的意義有關。 2. 常量的命名應盡量使用英文名命名。 3. 若使用英文命名,常量名應保持全部大寫,單詞間用下劃線連接。 4. 常量應帶有前綴用于描述常量所屬的組別信息,如 STRING_ALIGN_CENTER 或 文本對齊_居中。 * * * * * ### 程序編寫規范 1. 對于不同的程序功能,應區分不同的程序集或命名空間。 2. 循環中盡量不使用常數,假設某數組a,成員為10。循環不應使用 for i=1 to 10,而是 for i=1 to a.length,或不應使用 計次循環首(10,i) 而使用 計次循環首(取數組成員數(a),i)。 3. 盡量不隨便定義全局變量。 4. 一個變量應只用于一個用途,且變量類型應符合該用途,同時變量名前綴應與變量類型一致。 5. 一個函數應實現一種功能,不應在一個函數中實現多種不同功能。 6. 函數中應盡量減少對全局變量的使用,必要時將其變為局部變量使用。 7. 函數與函數之間應只存在包含關系,而不應存在交叉關系。 * * * * * ### 注釋規范 1. 注釋應使用通順易懂的中文語句和中文符號。 2. 對某段代碼可以進行統一的段注釋,也可對每句代碼進行行注釋,段注釋應寫在該段代碼的上方。 3. 對重要變量和函數,邏輯和循環分支應有注釋。 4. 可對部分代碼進行注釋調試,或將部分參數替換時臨時放置于注釋中。 5. 在代碼編寫完畢交付時,應刪掉臨時的或無關的注釋內容。 6. 對于特定類型函數,需要進行附加的注釋內容: 1. 事件函數應注釋有回調函數的聲明形式及參數意義,如“回調(整數行 X坐標,整數型 Y坐標,整數型 狀態[取值為狀態_開頭的常量]),返回 整數型[是否攔截,1為攔截 0為放行]”。 2. 屬性讀取設置器函數若與XML綁定,應注釋XML的對應屬性名和屬性值信息,如“@XML:Point='X坐標[整數型],Y坐標[整數型]'” * * * * * ### 布局文件編寫規范 1. 布局文件遵循標準的XML語法。 2. 布局文件是大小寫區分的,編寫時請注意。 3. 布局文件中請區分使用閉合節點(<xx />)和開放節點(<xx></xx>),以便更好的表示是否有子控件。 4. 各節點的節點名應設置為與節點相關的名稱,如<LoginUserName ... />表示登錄用戶名。 5. XML中存在轉義字符,請注意自行轉換。 6. XML中的所有符號均為半角符號,不可使用全角符號代替。 * * * * * ## 附錄 ### 附1:主要名詞/動詞漢英對照表 | 中文 | 英文 | | -- | -- | | 獲取 | Get | | 設置 | Set | | 附加 | Attach | | 創建 | Create | | 銷毀 | Destory | | 釋放 | Free | | 編輯 | Edit | | 修改 | Modify | | 加載 | Load | | 控制 | Control/Ctrl | | 初始化 | Initialization/Init | | 主要的 | Main | * * * * * ### 附2:縮寫標準 | 縮寫 | 全稱 | 解釋 | | -- | -- | -- | | addr | Address| 地址 | | arr/ary | Array | 數組 | | bg/bkg | Background | 背景 | | func | Function| 函數 | | img | Image | 圖像 | | info | Infomation | 信息 | | max | Maximum | 最大 | | min | Minimum | 最小 | | msg | Message | 消息 | | tmp/temp | Temporary | 臨時的 | | num | Number | 數字/號碼 | | bmp | Bitmap | 位圖 | | pic | Picture | 圖片 | | proj | Project | 工程 | | rnd | Random | 隨機 | | pwd | Password | 密碼 | | subj | Subject | 主題 | | doc | Document | 文檔 | | sys | System | 系統 | | wnd | Window | 窗口 | | ele | Element | 元素 | | obj | Object | 對象 | | ctrl | Control | 控制/控件 | | init | Initialization | 初始化 | | str | String | 字符串| | cls | Class | 類 | | lib | Library | 庫 | | proc | process | 過程 | | ptr | Pointer | 指針 | | cbk | Callback | 回調 | * * * * * ### 附3 匈牙利命名法 變量前綴縮寫 | 類型名稱 | 前綴縮寫| 示例 | | -- | -- | -- | | **類型前綴** ||| | boolean/邏輯型 | b | bIsOK | | byte/字節型 | by | byData | | binary/字節集 | bin/lpby/lp | binData,lpbyData,lpData | | datetime/時間日期 | dtm | dtmNow | | int/整數型 | i/n | iWidth,nWidth | | float/小數型 | f | fDistance | | double/雙精度小數型 | d/lf | dMoney,lfMoney | | long/長整型 | l | lLength | | short/短整型 | n | nSecond | | ptr/指針 | p/lp | pVar,lpVar | | function/函數 | fn | fnGetX,pfnGetY | | void/無類型 | v | pvVar | | handle/句柄 | h | hWnd | | string/字符串 | sz | szName | | Unicode字符串 | wz | wzName | | object/對象 | o/obj | oPeople | | word/字(2字節) | w | wMonth | | double word/雙字(4字節) | dw | dwSize | | unsigned/無符號 | u | uHeight | | array/數組 | a/arr | aPeople,arrPeople | | **用途前綴** ||| | file/文件 | f | fOut | | count/計數 | c | cRef | | temporary/臨時 | t | tData | | color/顏色 | cr | crText | | picture/圖片 | pic | picFace | | source/源 | src | srcDC | | destination/目的 | dest/dst | destDC | | Point/坐標 | pt | ptCursor | | Rect/矩形 | rc | rcWindow | | callback/回調函數 | cbk | cbkOnClick | | **控件前綴** ||| |Label/標簽| lab | labUserName | |Button/按鈕| btn | btnOK | |Edit/文本框| txt,edt | txtPwd,edtFileName | |CheckBox/復選框| chk | chkRememberMe | |RadioButton/單選框| rdb,radio | rdbAll | |ImageBox/圖片框| img | imgFace | |ListView/列表框| lst | lstFileList | |ComboBox/組合框| combo | comboBirthYear | |GroupBox/分組框| gp | gpSystem | |Page/頁面| pg | pgInfo | |Window/窗口| wnd,frm | wndLogin,frmMain |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看