优化PB编码:遵循的开发规范与提升项目质量
需积分: 3 174 浏览量
更新于2024-09-17
收藏 63KB DOC 举报
PB开发规范旨在提升PowerBuilder项目的质量和可读性,通过一系列标准化的编码实践和命名约定来实现这一目标。以下是关于PB开发中的关键规则:
1. **代码风格与格式**:
- 局部变量无需使用作用域限定符,操作符和赋值动词前后应有空格,例如 `wf_GetAttrib(id, name, date)`。
- 采用TAB键进行缩进,以清晰表示代码块间的层次关系。
- 函数、事件和变量名应全英文,首字母大写,单词间无连字符,如 `wf_RightTrim()`。
- 数据库命令使用全大写,如 `INSERT` 和 `SELECT`。
- 行延续使用行尾的连接符,避免单行过长,如 `If n_Rows > 6 then dw_report.Retrieve() EndIf`。
2. **函数和事件注释**:
- 在函数或事件代码前必须添加清晰的目标描述、参数列表和可能的返回值,以提高代码可理解性。
3. **库文件命名**:
- PBL库文件遵循PPP_OOOO的格式,PPP代表项目缩写,而OOOO是库内容的简短描述,例如 "app_Orders"。
4. **对象命名约定**:
- 不同类型的PB对象有特定的前缀,如应用对象为 `Order_entry`,应用级函数为 `af_FuncName()`,菜单函数为 `mf_MenuAction()` 等。具体见下表:
|对象类型| 前缀| 示例|
|---|---|---|
|应用| N/A| Order_entry|
|应用级函数| af_| af_GetUserDetails()|
|应用级结构| as_| as_UserData|
|窗口| w_| w_MainForm|
|窗口函数| wf_| wf_DisplayMessage()|
|窗口结构| ws_| ws_FormElements|
|菜单| m_| m_FileMenu|
|菜单函数| mf_| mf_SaveAs()|
|菜单结构| ms_| ms_MenuItems|
|标准用户对象| u_| u_DatePicker|
|定制类用户对象| u_cc_| u_cc_CustomObject|
|标准类用户对象| u_cs_| u_cs_CommonLib|
|可视定制用户对象| u_vc_| u_vc_ViewControls|
|可视标准用户对象| u_vs_| u_vs_Widgets|
|用户对象函数| uf_| uf_ProcessData()|
|用户对象结构| us_| us_UserSettings|
|结构对象| s_| s_DataStructure|
|查询| q_| q_SearchQuery|
|函数对象| f_| f_Calculation()|
|数据窗口对象| d_| d_DataGrid|
遵循这些开发规范有助于团队协作,减少错误,提高代码的可维护性和长期的可读性。在实际开发过程中,严格遵守这些规定,可以使PB项目更具组织性和一致性。
2007-12-08 上传
2021-10-01 上传
2008-10-28 上传
2008-09-29 上传
点击了解资源详情
2014-07-29 上传
2016-02-24 上传
2013-07-26 上传
2010-12-30 上传
Eetze
- 粉丝: 8
- 资源: 21
最新资源
- Refined Microsoft Teams-crx插件
- mtd_nandecctest.rar_单片机开发_Unix_Linux_
- slcartest
- fcuk:旨在帮助手指笨拙的人的AR包
- RTFMbot:Discord bot进行编程,运行代码(600多种lang),查询显示文档和参考
- vue+node+mongodb全栈项目(通用后台系统).zip
- Android中的View.OnLongClickListener不支持长按操作的自定义持续时间。 :sparkles:-Android开发
- Year Progress-crx插件
- HBRecorder:轻量级屏幕录制Android库
- book3s_64_mmu.rar_单片机开发_Unix_Linux_
- Todo List 小项目, Node + Express + MongoDB.zip
- Right-Apprise-ML-Intern:包含Right Apprise在Mentor-Mentee暑期实习计划中完成的所有工作的记录
- color8bit
- SE2Team1Project1:软件工程2的项目1
- 封隔器:webpack + npm + R =:red_heart:
- Splashed-crx插件