Fw:Notes程式開發規範
1. 表單的規則
1.1. 表單命名規則
表單命名規範:必須有中文名和英文別名,其中英文別名命名格式為:frm + 其他字元。
必須填寫表單的別名.別名的可以用英文單片語合或漢語拼音.如果用拼音,在能夠容忍的長度內,儘量用全拼。
通用表單的英文別名命名格式為:$$ + 其他字元,一般不需要自己建立。
1.2. 表單的Js Header
表單的Js Header中的函式應儘可能的少。只保留僅與本表單相關的特殊的Js函式。
通用的Js函式應放到資源資料庫中。
1.3. 表單隱藏域設計
表單中的隱藏域全部放在一起,以表格的形式展現,並且放在表單的上方,如:
透過
的方式隱藏內容,不採用Domino本身的隱藏方式。通用的隱藏域,如文件UNID,不能在表單中單獨建立這些域,如是通用的,則在資源庫中建立,表單再引入,方便日後管理和維護。
隱藏域用到多少建立多少,沒用到的隱藏域一個也不用放在表單中,隱藏域必須包含文字說明。
為了介面直觀明瞭,隱藏的內容全部採用紅色標出來。
1.4. 表單中的按鈕設計
表單按鈕採用HTML格式,每個按鈕佔用一列,方便日後的統一修改和維護。
1.5. 表單中的顯示內容
介面內容儘可能不用HTML程式碼方式設計,多采用Domino本身的設計方式,表格寬度選取“按視窗大小調整”,而不是“按固定寬度”,然後在表格外套一大表格,程式碼如:
…… |
正文內容和附件都是子表單,從資源庫中引入,不能重新建立,減少日後的維護。
1.6. 表單的OnLoad
Onload中的程式碼要儘可能的簡短,不要寫具體的實現程式碼,只寫被呼叫的函式體即可。例如:
//開啟前設定相關狀態域: ondocload();
1.7. 表單代理的呼叫
最好採用這樣的形式:document.all.item(‘savedoc’).click。這樣做的好處在於代理可以取得表單上所有域的內容,呼叫代理之前可以進行js前臺判斷。
如上邊方法不能實現,則根據自己擅長的方式處理。
2. 域的規則
命名規則:可以用英文單片語合或漢語拼音.如果用拼音,在能夠容忍的長度內,儘量用全拼,如收文編號:swbh或者swNumber。
表單保留域:表單中有些域必須統一,如標題(Subject),正文(Body)。
3. 檢視的規則
隱藏檢視命名規範:必須有中文名和英文別名,而且必須有括號括起,中文名命名為 $$ + 中文名稱,英文別名命名為 $$vw + 英文字元。如 ($$模組配置) $$vwModelConfig。
顯示檢視命名規範:必須有中文名和英文別名,英文別名命名為 vw + 英文字元。如: 模組配置 vwModelConfig。
檢視列中列標題和內容全部靠左對齊,沒有特殊的情況下,只有一列有連結,其他列只是顯示資訊;每列最好有排序功能。
刪除列放在檢視的第一列。
檢視的索引:“重新整理索引”屬性一般選為:“自動重新整理”;“廢棄索引”屬性一般選為:“不廢棄”。對於“使用者經常訪問,檢視中文件經常變動”的檢視,這種設定有助於提高檢視的開啟速度。
4. 代理的規則
代理命名規範:ag + 函式名,如儲存文件agSaveDoc,代理中不編寫具體實現程式碼,只是呼叫一個函式,如 call SaveDoc。函式存放在Script庫中,並且函式名稱必須是代理名字去掉ag後的函式名,即保持名字的同步。
有幾個通用代理:agToExcelPrint(列印)、ViewQueryOpenDefault(檢視模板表單開啟時呼叫)、wDeleteDocument(刪除文件)。
5. Script庫的規則
每個資料庫中一般包括3個Script庫,ErrorLog(出錯處理),MainLib(代理呼叫的各個函式),Common(通用函式),特別說一下,Common庫以資源庫中的為基準,如設計過程中,出現通用的函式,則先將函式放到資源庫的Common庫中,然後在複製的自己的庫,即一定保持資源庫中的Common庫的函式是最新最全的。
為了程式碼的規範,特作以下設定:
當前會話物件命名:session
當前資料庫物件:db,其他的資料庫:db+ 英文字元.
當前文件物件: note或者doc。其他的文件 doc+英文字元。
6. 註釋規則
每個函式前邊必須包含一段註釋,包括函式功能、引數說明、建立日誌等。程式碼段內,必須有足夠的註釋,原則上根據每個子功能劃分,即函式到底做了哪些事情?把你的回答寫成註釋即可。
7. 錯誤處理規則
每個函式必須具備出錯處理機制,錯誤內容寫入系統出錯日誌庫中。出錯函式呼叫已經寫好,不用自個編寫。
原理:使用LotusScript的“on error goto lable”,當發生錯誤時,跳轉到”lable”指定的行下面,然後由我們自己來處理錯誤,我們提供了一個錯誤處理類“ErrorLog”。該類中的方法“Sub writeErrorToLog(db As notesdatabase,Byval Errmsg As String,Byval Errline As String)”用於處理錯誤,該方法的功能是記錄出錯資訊,並寫到出錯日誌庫中。
使用方法:
在函式的開始新增
On Error Goto er1 ‘當發生錯誤時轉到”er1:”行處寫:
Call writeErrorToLog(session.CurrentDatabase,Cstr(Error()),Cstr(Erl()))
8. LotusScript程式碼規則
8.1. 函式的長度
函式中的程式碼行數原則上不要多於100行。
8.2. 函式的命名
讓我們看一些錯誤的命名:
PersonLog ‘更新人員日誌
PeopleOut ‘列印人員外出的資訊
相對比較正確的應該是這樣
UpdatePersonLog ‘更新人員日誌
PrintPeopleOut ‘列印人員外出的資訊
8.3. 引數的規則
引數名字要有意義
例如:
sub SetValue(width, height) ’ 良好的風格
sub SetValue(x,y)’不好的風格
例如編寫字串複製函式StringCopy,它有兩個引數。如果把引數名字起為str1和str2,例如function StringCopy( str1, str2)。那麼我們很難搞清楚究竟是把str1複製到str2中,還是剛好倒過來。可以把引數名字起得更有意義,如叫strSource和strDestination。這樣從名字上就可以看出應該把strSource複製到strDestination。
如果輸入引數以值傳遞的方式傳遞 ,則宜改用“ByVal argument”方式來傳遞,這樣可以防止作為引數的變數值被修改,同時又可以省去臨時變數的構造過程,從而提高效率。
避免函式有太多的引數,引數個數儘量控制在5個以內。
8.4. 函式的返回值
要書寫函式的返回值型別
函式的返回值要與函式的名字相配合
函式的正常返回值和錯誤返回值的區分
函式儘量不要透過引數傳遞函式的返回值
8.5. 函式的職責
函式的職責要單一,如果覺得職責的“粒度”不好把握,可以先用自然語言寫出總控模組(可以作為註釋),針對自然語言的每句話即可作為一個函式。
8.6. 變數的規則
變數的定義後面要書寫該變數的註釋
變數的作用範圍儘量少用全域性,作用範圍越小越好
一組變數作用相近時,可將這組變數集中在一起定義,並且對該組變數作個說明,比如下面分為兩組
Private docApp As notesdocument '應用主文件
Private dbApp As notesdatabase '應用資料庫
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/tangyunning/archive/2009/08/04/4409031.aspx
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/184309/viewspace-1027068/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端開發規範:命名規範、html規範、css規範、js規範前端HTMLCSSJS
- Panorama系統程式開發規範
- iOSOC開發程式碼規範iOS
- 開發規範
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- iOS 開發(一) 程式碼規範篇iOS
- redis開發規範Redis
- 前端開發規範前端
- MySQL 開發規範MySql
- 規範開發工具
- INFORMATICA 開發規範ORM
- MySQL開發規範MySql
- Redis 開發規範Redis
- react 開發規範React
- oracle開發規範Oracle
- lisp 開發規範。Lisp
- php 開發規範PHP
- Git 開發規範Git
- iOS開發總結之程式碼規範iOS
- web前端開發規範Web前端
- 規範:開發環境部署開發環境
- app開發流程規範APP
- 移動開發規範移動開發
- Vue前端開發規範Vue前端
- Android開發規範Android
- Web 開發規範 — WSGIWeb
- 前端開發規範文件前端
- API介面開發規範API
- 開發中的程式碼規範實踐 PHPPHP
- 個人專案開發規範
- React Native 開發規範React Native
- 前端開發編碼規範前端
- C#開發命名規範C#
- 開發流程規範機制
- JAVA後端開發規範Java後端
- 開發前統一規範
- 軟體開發程式設計規範及原則程式設計
- PHP 規範 - Symfony 程式碼規範PHP