精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 群件>>个人专集>>chchen专集>>程序?程序!——1

主题:程序?程序!——1
发信人: cvchen()
整理人: kamkam(2002-07-11 10:50:46), 站内信件
也该为群件版留点垃圾了。应KAM要求,这里我先讲讲我的想法。也不是为了其他,只是希望大家如果有机会,真正能够多交流,能够一起将NOTES技术发扬发扬。现在这类人才还是不多啊,呵呵。
如果大家有兴趣,可以发邮件到我cvchen的163邮箱里交流,要是能一起合作就更好了。

记得在NOTES前,学的是ACCESS和VB,首先接触了一套微软的东东,它的通用化和设计风格一直欣赏并沿用。

Sub Initialize
On Error Goto Err_Agent_Initialize
'Declaration

'Operation
'...

Exit_Agent_Initialize:
Exit Sub

Err_Agent_Initialize:
'Get Error Message
Resume Exit_Agent_Initialize
End Sub

就拿它开始程序的风格的一点体会吧。
一般来说,程序风格中,关键的是几点:
* 注释——之所以放在第一位,就是要能够让大家明白你做的是什么;
* 合法性判断和错误处理——程序里面应该多一些合法性判断,以便对程序出现的错误异常能够快速地调试,不管是多简单或者多复杂,这一步都不应该省略;
* 交互性——从用户那里获取需要的数据,提醒用户那些该做哪些不该做,以及处理的过程,处理中间的一些信息;
* 规范化——比如规范的变量命名便于你判断和查找错误,使程序可读性加强;一些常见的错误处理方式,以及可能冗余但是也有必要的判断等;
* 通用性——如何将程序分割成通用化的函数甚至是类,封装起来,但是可以为其他函数方便地调用。

注释这玩意儿说得太多了,就少说一点,我的习惯很多也都是抄袭来的(天下程序一大抄?)无非就是
一、函数头:
%Rem
Creator: 
Create Time:
Function Name:
Description:
Parameters:
Return Value:
Error Message:

Update Record:

%End Rem

二、判断和循环的描述:
FieldName = "Field1"
FieldValue = "value1"
If doc.HasItem(FieldName) Then
'If the field exists, set and...
Call doc.SetItemValue(FieldName, FieldValue)
'...
Else
'skip or terminate...
End If

三、程序中间的一些规定、错误考虑以及其他:
FieldName = "Body"
FieldValue = "value1"
If doc.HasItem(FieldName) Then
'If the field exists, set and...
Set RichTextItem = doc.GetFirstItem(FieldName)
'skip checking RichTextItem.Type=RICTTEXT, maybe next we should add...
Call RichTextItem.AppendText(FieldName, FieldValue)
'...
Else
'skip or terminate...
End If


先说到这儿吧,休息一下,也免得大家看多了犯困头晕。
错误这一块等我理理清楚再灌。



----
要交流合作的话,给我写信吧。

[关闭][返回]