修改别人程序的技巧

修改别人程序的技巧

ID:37012203

大小:265.91 KB

页数:17页

时间:2019-05-11

修改别人程序的技巧_第1页
修改别人程序的技巧_第2页
修改别人程序的技巧_第3页
修改别人程序的技巧_第4页
修改别人程序的技巧_第5页
资源描述:

《修改别人程序的技巧》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、谈程序的修改技巧郑海山http://dog.xmu.edu.cnwww.zzx8.com收集整理修改代码原则寻找合适的代码记录每个修改通读源代码修改最少耦合度最低寻找合适的代码修改代码不如自己重写代码,除非时间、人力方面不允许。 修改代码之前必须先读懂对方的源代码,这花的时间可能会比自己写花的时间更多。必须在这两者之间取得平衡。改变自身需求,使需求适应下载的代码,达到直接使用,无需修改。 比如你打算找一个实现某些功能的代码,可是找了很多代码,要不只能实现其中的某些功能,要不就是某些功能不完全符合你的要求,这时就必须改变自己最原始的想法,找一个最接近的代码。因为有时候你原先的需求就是错

2、误的。寻找合适的代码代码必须架构合理,编码规范,这样的代码安全系数才比较高。源代码作者经常更新。 源代码公布后,如果有什么安全漏洞,整个系统就暴露在cracker面前。只有源代码作者根据用户的建议不断修复Bug和增加功能,才是可信赖的系统。寻找合适的代码推荐网站www.sourceforge.net和www.google.com。sourceforge.net是网上最大的开放源代码聚合地。有大量的源代码,分类组织,便于查找。google.com最好的搜索引擎,基本上你可以找到任何东西,如果你使用了正确的关键字。通过搜索技巧,变换关键字。记录每个修改使用文本文件记录下修改,以便快速恢复

3、 因为开始我们只是试用一个系统,或者只是试着加入一些功能,如果加入功能失败,你又不知道加入了那些东西,这时你可以全部删除你刚才的修改,把原始文件重新解压,根据文本文件的记录恢复到某个版本。或者使用cvs系统自动控制。记录下打算增加或者修改的事情,记为todo,完成后放入done区。可以使用文本文件手动维护todolist。记录每个修改有了这个记录,就可以在下次推出新版本后继续修改。每件事都有记录是一个好的习惯。在源代码里也可加上记录,比如//2003.12.25modifybyHaishion,禁止在下班时间发表,Begin something………… //2003.12.25mod

4、ifybyHaishion,禁止在下班时间发表,End通读源代码通读代码包括通读目录下的所有文件,特别是Readme,Manual,help,guide,doc,faq这种开头的文档。很多简单的安装出错其实在手册里面都已经告诉你了。修改别人的程序时一定要通读代码,这样才可以保证修改了不加入新的Bug,并且可以充分利用原先的代码。有时为了增加一个新功能,你可以写了一个下午的代码,过几天后发现源代码里面其实有这个功能函数,只需调用某个函数即可。这就是没有通读源代码的结果。通读源代码用文本文件记录下代码的函数功能,一些值得注意的地方。一定必须确保你知道这个软件在干什么,管理员有几个入口,有

5、几个内置帐号需要关闭等等。修改最少定位修改位置,可以使用Editplus的目录全文检索功能。根据用户界面的文字做关键字。Web的用户界面文字可能不准确,可以查看web源代码或者缩小文字单位。如果一个功能有多个修改方法,使用修改最少的那种。虽然这种可能破坏了代码的架构。耦合度最低增加进去的代码应该尽量跟原程序比较分离。总的原则是:源代码就像刺猬,能不碰就不碰。把增加的代码包装成一个过程或者函数,在正确的地方调用一下即可。这样是为了代码的美观。耦合度最低给函数增加功能的方法:比如一个函数voidfoo(inti,strings);在多处有调用,你要给foo加入一个新的功能在你自己的代码内

6、调用,你可以。写一个voidfoo_new(inti,strings,booleanb);把foo这个函数体拷贝到foo_new。在foo_new里添加代码,这样的坏处是你如果更新foo,你必须同时更新foo_new。有相同的代码散布在系统各处是编程大忌。写一个voidfoo_new(inti,strings,booleanb);把foo改为调用foo_new(i,s,DEFAULTVALUE)。不写foo_new函数,使用全程变量,blnHackIt,初始值为DEFAULTVALUE,在新调用的地方把blnHackIt设置定某个值,在foo里面加入ifblnHackIt=SOMEV

7、ALUEthen dosomething… endif选择后面2种之一。针对下载的Asp代码的修改修改数据库文件名 例如改为dsfs354sfubzdpIUHndsgs.mdb,使用拷贝粘贴放入数据库连接字符串。 根据zhiwei的建议,在IIS里给*.mdb影射一个字节为0的假*.dll文件。如果是SqlServer,新建一个权限比较低的用户作为该数据库的管理员。如果这个用户被攻破,他也做不了什么。如果可以,使用Windows身份验证而不是Sql身份验证

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。