博文

如何用正确的方法来写出质量好的软件的75条体会(2005-09-25 07:52:00)

摘要:如何用正确的方法来写出质量好的软件的75条体会

1. 你们的项目组使用源代码管理工具了么?
应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。

2. 你们的项目组使用缺陷管理系统了么?
应该用。ClearQuest太复杂,我的推荐是BugZilla。

3. 你们的测试组还在用Word写测试用例么?
不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。

4. 你们的项目组有没有建立一个门户网站?
要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。

5. 你们的项目组用了你能买到最好的工具么?
应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。

6. 你们的程序员工作在安静的环境里么?
需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。

7. 你们的员工每个人都有一部电话么?
需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。《人件》里面就强烈谴责这种做法。

8. 你们每个人都知道出了问题应该找谁么?
应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。

9. 你遇到过有人说“我以为…”么?
要消灭“我以为”。Never assume anything。

10. 你们的项目组中所有的人都坐在一起么?
需要。我反对Virtual Team,也反对Dev在美国、Tes......

阅读全文(1202) | 评论:0

编程之路-界面美化(2005-09-25 07:51:00)

摘要:编程之路-界面美化
            (录入日期:2002.01.10 阅读次数:20671) 转载不详
            作者:不详             --------------------------------------------------------------------------------             编程之路-界面美化
              现在越来越多的软件都有了很Cool的2D造型,什么×××× XP啦,××××
            2002之类的,看来争夺软件霸权的地位,2D界面是必不可少的,有很多人认为Visual
            Basic语言的先天不足导致它不能够很灵活的改变界面,让俺们来看看究竟吧。               如果大家用过《Windows优化大师》,肯定会被它的界面所倾倒,其实利用ActiveSkin
            就可以办到,甚至更爽,但是如果要做的共享软件只是一个文件,在加上几个OCX累赘,似乎很是不爽,看看VB是怎么利用别......

阅读全文(2715) | 评论:0

用VB6.0编写自我升级的程序(一)(2005-09-25 07:50:00)

摘要:用VB6.0编写自我升级的程序(一)
            曾经有位网友和我讨论怎样编写一个通过服务器对客户机上的程序进行自我升级的问题,由于我的项目也涉及到自我升级,当时我把我的解决方案提了出来,那就是做一个类似于瑞星的升级程序。在这里我也发现了很多的网友对这个问题很困惑,故我愿意把我的设计方案写出来与大家共享,大家也可以通过这个思路用其他语言进行改写。             以下是我的具体思路:             写两个程序,一个是主程序;一个是升级程序(升级程序放在服务器上);             说明:所有升级任务都由升级程序完成。             1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件等)到临时文件夹;             2.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序(同时记下主程序的状态);             3.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置,同时注册相应的文件;             4.检查主程序的状态,若状态为活动的,则启动新的主程序;           ......

阅读全文(1426) | 评论:0

用VB6.0编写自我升级的程序(二)(2005-09-25 07:50:00)

摘要:用VB6.0编写自我升级的程序(二)             二、 projNewMain.vbp工程:             说明:这个是新的主程序,即升级后的主程序,由于我目前没有服务器,故将该程序放在projUpdate.vbp工程的资源文件中。在projUpdate.vbp中模拟网络升级。
            用记事本打开frmNewMain.frm文件,copy以下内容到其中:
            VERSION 5.00             Begin VB.Form frmNewMain
            Appearance = 0 'Flat
            BackColor = &H80000005&
            Caption = "Form1"
            ClientHeight = 1365
            ClientLeft = ......

阅读全文(1565) | 评论:0

[转帖] 手机短信收发(2005-09-25 07:49:00)

摘要:[转帖] 手机短信收发             手机短信发送
            ²        中文转换成Unicode码函数
            因为手机短消息的发送是以PDU串的形式发送出去的,中文字符以Unicode码来表示,所以在发送中文短消息之前必须首先将中文字符转换为Unicode码,下面的函数将实现这个功能。这个函数主要应用到VB自带的一个格式转换函数:ChrW()将中文转换为Unicode码。
                  Public Function chg(rmsg As String) As String
                  Dim tep As String
                  Dim temp As String
                  Dim i As Integer
       &n......

阅读全文(1377) | 评论:0

[转帖]Skin技术实现框架vc(2005-09-25 07:48:00)

摘要:[转帖]Skin技术实现框架
Skin技术实现框架(一) 
本来想把代码和E文的文章提交到codeproject再写,不知道为什么,这两天codeproject提交向导一直有问题,也罢,先开始写原理吧,反正恐怕也要写几天的 前言
嘿嘿,估计今天写不了多少,就叫前言吧,下次再写原理
说到skin技术,大家都不会陌生,最早接触这东西,可能是winamp吧,可以灵活的更换界面风格,非常的花哨。后来使用skin的软件就越来越多了,毕竟做一个漂亮的界面对软件还是很重要的。虽然Windows标准界面越做也是越花哨,但总不能满足人的胃口。有一个自己特殊的华丽界面总是值得夸耀的,看看MSN Explorer,Media Player, RealOne...。实现这种定制的外观方法很多,早期的Skin技术都需要程序本身做许多处理,基本就是贴一些图片在界面上,然后通过换图片获得不同的视觉效果,象winamp就是这样的。这种方式其实非常灵活,可以实现想要的任何效果,缺点是编码实现起来太麻烦了。 随着希望有自己特定Skin的软件越来越多,就出现了专门的Skin插件,这个比较有名的是WindowBlinds和ActiveSkin,我所知道和用过的就这俩,也不知道是不是最有名的,这些产品一般都是提供一个COM组件,需要Skin支持的程序创建这个COM组件,然后调用几个方法,就可以使自己的程序外观完全改变,甚至可以在运行时动态改变外观。这样的组件包使用起来非常的方便,不需要编程者对skin技术有任何的了解。缺点么,主要是要收费的,当然我们可以用破解版,我当初用的WindowBlinds组件就是我们公司一大拿花了一晚上弄出来的破解版。收费只是一方面,用人家的劳动成果是应该给钱的,真正的问题在于往往还不能满足要求。为了弄出100%符合自己要求的Skin,当然就只能自己写了。 从今天起我就来讲讲怎么写这样的Skin插件。2002年的时候写了一个这样的插件,当初的目的是在PC机上模拟Mac的效果。一开始用windowblinds组件,总是不能令人满意,终于说还是自己写吧,就开始写了。花了一个多月的时间吧大概,本来已经写的差不多了,后来由于商务上的原因,居然项目取消了,白干了。当然对于技术人员没有什么白干的东西,工资没少发,技术上......

阅读全文(3935) | 评论:0

VisualBasic 6编程中的汉字处理(2005-09-25 07:45:00)

摘要:VisualBasic 6编程中的汉字处理
      http://tech.sina.com.cn 2000/12/18 15:24 软件世界 焦纯 杨国胜 王健琪
        在DOS时代,拥有一个华丽的汉字菜单几乎是每个高档中文应用程序必须的包装。中文Windows操作系统的出现使得高级开发平台实现全中文的提示和界面非常容易和方便。在一般的应用程序中已经很少需要去专门考虑汉字处理的问题。
        但是在许多工程控制和字符串处理的环境中,汉字字符的处理仍然有别于西文字符的处理,需要加以专门的考虑。
        一、VB6对汉字处理的支持
        对汉字处理,VB6主要是提供了一些输入法设置方面的支持。它提供了一个ImeMode属性和ImeStatus函数来确定和设置输入法的状态。而且此属性和方法只在VB6的东亚区版本中有效。
        IMEStatus函数返回一个整数,用来指定当前Windows的输入法(IME)方式。
        下面是中文地区的返回值:
        常数 值 描述
        vbIMENoOP 0 不安装IME(缺省)
        vbIMEOn 1 打开IME
        ImeMode属性返回或者设置被选定的对象的 IME (Input Method Editor,输入方法编辑器)状态。
        可以先用ImeStatus函数来检测当前的输入状态,并用IMEMode来控制其输入状态。
  ......

阅读全文(1275) | 评论:0

VB 技巧 - 文本框使用技巧(2005-09-25 07:44:00)

摘要:VB 技巧 - 文本框使用技巧               1、控制文本框中输入的内容
              例如我们只要求在文本框中输入数字,而不允许出现其它字符,则我们使用KEYPRESS事件并检查KeyAscii参数即可,KeyAscii参数用来保存键盘所用的ANSI码(不是ASCII码),下面是一个例子:                Private Sub Text_KeyPress(KeyAscii As Integer)
               if KeyAscii < Asc("0") Or KeyAscii > Asc("9") then
                 KeyAscii=0
               end if
               end sub
              2、从外部文本文件读入和从文本框中写出内容到文件内容:
              有时我们需要从外部的文本文件中读入到文本框中,或是把输入到文本框中的内容保存到文件中,这时可以通过对文件......

阅读全文(1666) | 评论:0

VB 技巧 - 树视TreeView树视的使用技巧(2005-09-25 07:44:00)

摘要:VB 技巧 - 树视TreeView树视的使用技巧             1、为树状浏览器控件添加节点和子节点
              用ADD方法添加一个新节点到树状浏览器的NODES集合时,可以声明它是和已存在的节点所联系起来的。通常使用ADD方法,其语法如下:
               Nodes.Add(relative,[relationship][,key][,text][,image][,selectedimage])               各个参数的意义如下:
               relationship 参数是通过关系节点参数与新节点连接的另一个节点;
               relationship 参数可能是以下情况:
                 tvwlast--1;该节点置于所有其他的在relative中被命名的同一级别的节点的后面
                 tvwNext--2;该节点置于在relative中被命名节点的后面
                 tvw......

阅读全文(2163) | 评论:0

B 技巧 - VB中如何实现文本查找功能-Instr函数使用技巧(2005-09-25 07:43:00)

摘要:B 技巧 - VB中如何实现文本查找功能-Instr函数使用技巧       谈谈您的看法
      已有 0 条发言
            VB中如何实现文本查找功能
              实现查找功能的关键在于使用InStr函数,这个函数可以找到指定的字符串在另一字符串中最先出现的位置。我们先来看一看使用这个函数的语法:
               InStr([start, ]string1, string2[, compare])
              这个函数需要的的参数是起始位置、主体字符串、要查找的字符串;Compare是可选参数。指定字符串比较。此compare参数是可以省略的,也可以是
            0, 1或
            2。指定0(缺省)做二进制比较。指定1做不区分大小写的文本比较。例如我们要查找在字符串“abcdefg”中是否存在“cd”并返回其位置,则使用下面的语句就可以实现:
               pos=InStr(1,"abcdefg","cd")
          ......

阅读全文(1895) | 评论:0