浅谈二次开发中如何写通用程序(PB)

原创 2006年05月20日 01:38:00

浅谈二次开发中如何写通用程序

日期:2003-11-21

       随着我国医疗卫生行业信息化建设的深入开展,从早期的财务计费、简单的数据输入查询等基本业务要求,发展到现在用HIS进行临床治疗质量控制、医疗流程优化组合,对HIS提出了更多更高的要求。

不断发展的BSHIS/BSHRP提供了全面的行业解决方案,适应了行业发展要求。系统涵盖门诊、住院、医技、检验、药库药房、医学影像、放射、电子病历、社区卫生、社会医疗保险、病历分型等诸多实际应用领域。BSHIS/BSHRP软件除了充分考虑到行业通用性标准化外,还为各家医院度身定制以满足个性化需求,这就是我们所说的二次开发(也称软件客户化)。二次开发是个庞大的系统工程,开发的好坏、代码质量的优劣直接影响着医院信息化项目的质量和进度,关系到医院、创业公司的切身利益。

       结合本人在创业公司近五年的软件开发、二次开发思想,PB、大型数据库实践经验,在此和大家谈谈软件二次开发,说说写通用程序的重要性和一些具体的方法和技巧。由于本人水平有限,不足之处还望各位批评指正。(文中开发工具以PB为例说明)

 

一、程序为什么要通用

²        统一流程、设计思路,便于操作使用,减少培训时间

²        方便后期维护,减少维护成本

²        加快代码在不同医院、不同系统之间的快速移植,提高二次开发工作效率

²        提高员工自身技术水平,以便较好地开展后续各项开发、二次开发工作

²        为公司积累好的开发经验,增强公司整体技术实力

 

 

二、经验和技巧

可从下面几个方面积累经验,开展好的二次开发工作:

1、 充分认识程序通用的必要性和重要性

2、代码编制遵照《程序编制规范.doc》标准

l         变量命名规范

l         窗口和窗口相关DATAWINDOW命名规范

l         函数的命名规范

l         数据窗口命名规范

l         类的命名规范

l         界面设计风格规范

l         库(PBL)命名规范

l         字段名通用命名规范

3、团结-团结-再团结,加强团队协作,与其他技术人员及时交流

养成先想后做的习惯,避免重复劳动。

加强团队协作,强化员工帮带制度并落到实处。

一些较大的流程调整性的变动,一般需要内部讨论或和院方协商后再修改。

 

 

4、程序开发相关技巧

1)积累、学习、交流

l         先做方案、定流程,再设计、编码

l         定期整理需求和相关代码

鼓励程序员建设客户化支持库,部门定期统一归档整理最终成为标准产品。

l         定期写自我总结,及时纠正知识缺陷并不断向他人学习

2)在开发过程中

l         充分利用面向对象的编程思路

l         强化面向对象信息屏蔽,设计高内聚、低耦合模块

l         参数化编程,通过系统参数调整具体业务,避免直接判断数值

l         控制医院HIS版本,同地区医保代码统一、HIS代码重用,做地区HIS标准版

l         对象程序内部禁止数据的提交、回滚、开始事务等操作

l         函数返回值类型尽量简单,各处代码统一规范

如:1表示成功 0 表示特殊成功 1失败

l         函数参数在4个以上,建议使用结构体或DataWindow/DataStore

l         自定义无界面用户对象,一般为自动实例化对象

l         用户对象内部函数一般设置为Protected

l         对象/窗口名引用

       避免直接引用窗口名称,用 ThisParent等代词。

l         书写SQL语句,大小写和实际字段名同,减少特殊函数,方便跨数据库移植

l         注意报表通用性,使用参数化编程

3)医保代码设计原则:

l         医保和HIS业务代码分开

l         保证同个地区的医保处理程序统一版本   

l         总结医保的一般处理函数,并固定名字和实现结构

4)其他良好的习惯

l         编制文档:

语句简洁、版面条目清晰、格式统一、分段落描述、图文并茂

l         程序注释、源代码版面优美

函数体注释、分段功能注释,修改、删除、新增代码注释

代码缩进、函数/事件代码不要过长

l         程序员至少一次测试自己的程序,不得写完了就交付。

l         写“若干注意事项”

主要写修改后新程序运行必要的数据准备、流程调整、操作注意点等,帮助实施人员很快理解和使用新程序。

l         书写必要的表结构修改资料,写成可执行的SQL语句

l         SQL语句执行后,要判断操作成功失败并进行相关操作

l         关键数据更新代码处写日志,以便错误跟踪

神思100型二代证设备二次开发包PB演示程序

  • 2015年10月28日 14:40
  • 1.79MB
  • 下载

pb9 通过ole db连接sqlite3数据库

sqlite3数据库,简单而功能强大,比起ini文件保存用户设置,更简单安全,为什么使用数据库存用户设置,由开发者自己去想吧 进入话题: pb中可以用ole DB方式在不注册odbc的情况...
  • hyfound
  • hyfound
  • 2016年12月02日 10:20
  • 1051

【总结】pb打包全过程

以前只知道打过包时需要几个动态连接库,自己在网上也搜了搜,有的说的这、有的说那,还有的说多多易善,不行就多能几个。但,最终也不知道就需要几个.DLL文件,现在终于搞清楚了。         一、创建...
  • tlammon
  • tlammon
  • 2014年12月31日 15:54
  • 1229

【PB】程序中连接数据库

PB程序中如何通过代码连接数据库?如何进行验证数据库的连接?这是很简单的一件事,不信您请看下文!...
  • Dongle_74
  • Dongle_74
  • 2017年06月26日 19:44
  • 504

pb实现自动升级

SatRDA介绍 SatRDA是目前最高效的远程数据访问组件,大数据量测试比外网直连数据库速度提升10-200倍。使用它无需要改动原来的数据连接访问代码就可以支持外网访问远程数据库。能够为and...
  • pcwe2002
  • pcwe2002
  • 2017年03月17日 15:55
  • 1398

PB 后台调用外部EXE文件 防止多重启动

PB 后台调用外部EXE文件 防止多重启动之调用EXE(效果:第二次启动程序则前一进 程的窗口跳到最前) 后台调用外部EXE文件,判断该exe文件是否已经运行,如果已经运行就调出exe对应 的界面...
  • smilysoft
  • smilysoft
  • 2015年06月23日 16:30
  • 1615

pb9 通过ole db连接sqlite3数据库

pb9 通过ole db连接sqlite3数据库 2013-02-17 11:22:05 分类: Python/Ruby sqlite3数据库,简单而功能强大,...
  • aasmfox
  • aasmfox
  • 2015年08月10日 09:39
  • 1281

PB 操作EXCEL表的方法

PB中操作Excel的技巧集一 创建Excel对象  eole=CREATEOBJECT("Excel.application")  2.添加新工作簿   eole.Workbooks.add...
  • samrtian
  • samrtian
  • 2015年07月14日 13:51
  • 3658

PB使用数据管道实现数据的自动迁移和备份

使用数据管道实现数据的自动迁移和备份 摘要:针对MIS系统的开发和使用过程中数据的备份和迁移问题,提出了解决问题的基本思路和方案,详细阐述了方案实施过程中涉及的方法和技巧,并对使用PowerBuil...
  • linybo
  • linybo
  • 2014年04月13日 22:38
  • 1638

pb多线程的实现

最近在看.Net多线程的时候突然想到PowerBuiler是否支持多线程开发呢?于是Google了下,原来真的可以,不过比较遗憾的是这关于PB多线程方面的资料无论是英文的还是中文的都十分稀缺,完全没有...
  • z2007130205
  • z2007130205
  • 2013年02月26日 23:56
  • 1343
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈二次开发中如何写通用程序(PB)
举报原因:
原因补充:

(最多只允许输入30个字)