博客园 - henrylgz - 开发文件操作记录软件的设想,督促一下自己,欢迎指正建议。
来源:百度文库 编辑:神马文学网 时间:2024/05/04 12:03:46
开发文件操作记录软件的设想,督促一下自己,欢迎指正建议。
在做项目的时候发现一个问题:我们这个项目比较老,有300多个文件组成,经常改动的有40个左右。添加一个新功能的时候,有的时候会涉及到很多文件。经常会忘记了在什么地方修改代码,增加注释标志的时候又会打断思路,而且又麻烦。于是有了做一个文件操作记录软件的设想。
构想是这样的:监控一个文件夹下的制定类型的文件。如果有文件的创建,修改等则记录下来。对于创建文件,记录创建的文件名和时间;对于修改文件,对比修改前的文件,记录修改的部分,并加入注释标志修改。
我给这个软件其名字叫:Remember,就是希望它能记住文件的修改。使用C#,VS2005开发。
整个软件有两个技术点,一是监控文件,二是文件的比较。
当我感觉监控文件不好做的时候,很高兴地发现了FileSystemWatcher这个类,在它的例子里,很容易就把监控部分弄好了。不过由于它的监控底层一些,所以一个文件修改后保存时,会报两次修改,只好作个判断,只记录一次。但是目前会有些问题,有的时候会出错,现在考虑是不是要用多线程什么的来捕获修改。以前只用VC写过多线程的,C#刚学,还不了解呢。
接下来就是文件比较,我的设想是不需要太复杂的,完美的文件比较。只需要能比较出增加,删除,修改行就可以。目前的想法是逐行比较,碰到不一致的,就分兵三路:1。文件A取下一行和文件B当前行比较,不同的话继续下一行;2。文件B取下一行和文件A比较,不同的话继续下一行;3。文件A,B同时取下一行比较。直到有相同的行,到达相同的行,则当前行置为相同的行,继续比较。支路1表明文件B相对文件A是删除动作,支路2表明文件文件B对应文件A有增加动作,支路3表明文件B对文件A有修改动作。第三支路下面则继续三个支路。
这样一想的话,感觉很复杂。这样两个各100行的文件,最坏的比较方法,要产生5050*2+100=10200次比较!感觉有点太笨了。还没找到更好的算法,欢迎提供这方面的建议和方法。谢谢。
posted on 2005-08-23 10:20追求卓越 阅读(755)评论(12) 编辑 收藏收藏至365Key
在做项目的时候发现一个问题:我们这个项目比较老,有300多个文件组成,经常改动的有40个左右。添加一个新功能的时候,有的时候会涉及到很多文件。经常会忘记了在什么地方修改代码,增加注释标志的时候又会打断思路,而且又麻烦。于是有了做一个文件操作记录软件的设想。
构想是这样的:监控一个文件夹下的制定类型的文件。如果有文件的创建,修改等则记录下来。对于创建文件,记录创建的文件名和时间;对于修改文件,对比修改前的文件,记录修改的部分,并加入注释标志修改。
我给这个软件其名字叫:Remember,就是希望它能记住文件的修改。使用C#,VS2005开发。
整个软件有两个技术点,一是监控文件,二是文件的比较。
当我感觉监控文件不好做的时候,很高兴地发现了FileSystemWatcher这个类,在它的例子里,很容易就把监控部分弄好了。不过由于它的监控底层一些,所以一个文件修改后保存时,会报两次修改,只好作个判断,只记录一次。但是目前会有些问题,有的时候会出错,现在考虑是不是要用多线程什么的来捕获修改。以前只用VC写过多线程的,C#刚学,还不了解呢。
接下来就是文件比较,我的设想是不需要太复杂的,完美的文件比较。只需要能比较出增加,删除,修改行就可以。目前的想法是逐行比较,碰到不一致的,就分兵三路:1。文件A取下一行和文件B当前行比较,不同的话继续下一行;2。文件B取下一行和文件A比较,不同的话继续下一行;3。文件A,B同时取下一行比较。直到有相同的行,到达相同的行,则当前行置为相同的行,继续比较。支路1表明文件B相对文件A是删除动作,支路2表明文件文件B对应文件A有增加动作,支路3表明文件B对文件A有修改动作。第三支路下面则继续三个支路。
这样一想的话,感觉很复杂。这样两个各100行的文件,最坏的比较方法,要产生5050*2+100=10200次比较!感觉有点太笨了。还没找到更好的算法,欢迎提供这方面的建议和方法。谢谢。
posted on 2005-08-23 10:20追求卓越 阅读(755)评论(12) 编辑 收藏收藏至365Key
博客园 - henrylgz - 开发文件操作记录软件的设想,督促一下自己,欢迎指正建议。
设想一下你的墓志铭
ini文件的创建读写(含源码)-symbian手机开发-智能手机开发-软件工具箱
ini 文件操作记要(1): 使用 TIniFile - 万一的 Delphi 博客 - 博客园
C 的文件操作
Dts文件的记录方法
当前软件开发的反思 - 享受代码,享受人生 - 博客园
欢迎指正,后续还会有一批有关T-Kernel移植的简介。
软件开发的“佛脚”
敏捷软件开发模型--SCRUM - 学无止境 - 博客园
红外光谱仪软件操作步骤 - vick的日志 - 网易博客
拟在公司内实行的开发规定(修改版),敬请大家指正和补充
拟在公司内实行的开发规定(修改版),敬请大家指正和补充
二龙寺文化旅游资源开发设想
删除不能删除的文件含系统文件_电脑达仔(欢迎Windows7)IT知名博客 知识 ...
批处理文件编译为exe文件 软件开发也简单
记录个修闲的博客
怎么查找电脑文件的删除记录
软件开发组的团队精神
软件开发的基本策略
软件开发的项目管理
软件开发的两条铁律 | 程明
软件开发的基本策
软件开发组的团队精神