« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
|
[Progam]市检系统的一些收获 |
1.如果调用者希望被调用者访问自身的成员,举例来说,一个窗体上的数据列表希望操作者(如一条发出的消息,一个下载任务)能够更新自己(指被调用者)对应的ITEM,应该设法将引用传给被调用者,而不应该调用者每次搜索出对应ITEM。
2.多写注释,说的啰嗦总比没有来的强。需要写的比如特定的逻辑,类的使用方法,参数及返回值说明。
3.每个人对于子系统(项目),模块,代码文件的划分都有不同。我想流行的方式有:按应用功能分,这种分法如:协议,共同工具,报表,自动更新,阅读器等等分为独立的项目。另一种则是先按系统分层,然后再按照不同的业务分模块,这种算是多层应用程序的一种典型分法吧,如:用户界面(不同的界面分成独立的项目,例如管理端,指挥中心,审讯端),视频逻辑,案件逻辑,刻录逻辑等等。
4.最好不要把过多的功能放在一个类里头造成庞大的结构,像这次有个类达到7000多行代码,可是大部分代码都可以在别的类里头实现,虽然作者使用了REGION的方法把代码尽可能的组织起来,但是仍然显得臃肿。
5. REMOTING技术里头客户端调用的方法其实是服务器代理对象的方法,在服务器上才是方法的真正实现,但是该方法(不知道包不包括其调用的本地方法)不能被声明成私有。具体的例子在代码里头。
6.调试状态下的输出可以看到console.writeline以及debug.writeline的输出,这个可以多加以利用。
7.个人觉得if语句还是应该先写false或者说是意外的情况会比较好,像if(false){exit;}else{//normal process}会比反过来的写法好懂。
8.与别人合作的话要尽快将工作的内容交出去,这样的话你就站在主动的一方。并且要主动进行沟通和监督,话不怕说多几次,完成任务要紧。
9.进程间通讯其实有多种手段,最简单的应该算wm_message,其他的还有socket,ipc,wcf,remoting等。
10.下载个NERO SDK就可以用程序控制刻录机刻录了,不需要安装NERO的软件。可以下载到的版本是1.0.6
11.singleton的例子是在当启动第二个该程序时后者用remoting通知前者命令行参数。
12.这次代码中涉及到多种通讯消息,原作者为声明消息类型时用的是整数,如1-DVD消息,2下载光盘,3认证消息等等,强烈建议应该使用枚举,否则程序里头到处是数字根本看不懂。而使用枚举最大的好处就是自说明本身的意义。相当于写了个注释。
REMOTING代码例子,来自codeproject:
500)this.width=500'>ProcessCommunition2.zip
500)this.width=500'>SingletonApp.zip | |
|
|
|
公告 |
Anybody can contact me through Email:

or through instant message messageing
davidxiem@hotmail.com
Thanks Nexodyne for email icon generation. |
统计 |
blog名称: 日志总数:174 评论数量:98 留言数量:-1 访问次数:531405 建立时间:2007年7月20日 | |