“流浪的条纹喵”通过精心收集,向本站投稿了3篇轻松实现代码修改前后的对比,下面是小编整理后的轻松实现代码修改前后的对比,欢迎您能喜欢,也请多多分享。

轻松实现代码修改前后的对比

篇1:轻松实现代码修改前后的对比

有时候做网页,经常要修改代码,有时候属于临时的修改,但是又不希望丢掉之前的修改,有时候希望对比着修改代码,那么我们怎么轻松的代码的对比呢,我们可以借助下面的代码对比软件。

下载地址:Beyond Compare

Beyond Compare

软件功能:用于比较和合并源代码

Beyond Compare 是一款不可多得的专业级的文件夹和文件对比工具。使用他可以很方便的对比出两个文件夹或者文件的不同之处。并把相差的每一个字节用颜色加以表示,查看方便。并且支持多种规则对比。对软件汉化者来说,这绝对是一款不可多得的工具。该工具有Windows和Linux下两个版本。

下载地址:TextDiff

TextDiff

Windows比较好的一个小巧的工具,只有几百kb.

TextDiff 是一个开放源代码的文本比较工具,与商业或共享文本比较工具相比,虽然在功能上显得较弱,但是已经完全可以满足一般的源代码比较、修改的要求,

另外,由于是开源软件,只要您愿意,可以完全按照自己的要求把它改造得更加强大。

下载地址:WinMerge

WinMerge

当您有两个以上的内容相似的文字文件时,WinMerge就可以立刻派上用场,帮您检查两个文件里头不同之处。如您有写过程序就会了解,当您在改版时,在新的程序码与旧的程序码之间到底有哪些不同之处,的确会让您伤一些脑筋。或者您曾撰写两份以上的文字文件,内容稍有差异,但要从头查起,可能会相当累人,这时候就可以利用WinMerge来帮您自动比对。WinMerge会将两个文件内容做比对,并在相异之处以高亮度的方式显示,让使用者可以很快的查知,并且您可以直接让左方的文件内容直接覆盖至右方,或者反过来也可,这对需要常常修改文件内容的朋友来说,会是相当便利的一个功能。

以上几个软件总体来说都不错,不过我比较喜欢小巧的软件,只要能实现需要的功能就行,所以只用于代码比较的话,还是推荐TextDiff.

篇2:python轻松实现代码编码格式转换

由于某些原因,需要将代码从A机房迁移到B机房,这两个之间不能互相访问,但是历史原因导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个怎么解决,虽然很简单,但是还是要推荐给大家,需要的小伙伴参考下吧。

最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我之前主要是做php后台开发的,来这边之后还要把我半路出家的前端学好、还要学习C++,哈哈,总之很充实了,每天下班回家都可以睡的很香(一句话总结,就是吃得香、睡的香~)。再说说换工作时候吧,今年年初正式毕业半年了,感觉自己技术增长很快,原公司里面程序员的地位还不如运营,所以想换个工作,面试了3家(2家大的、一家小的),都给offer了,当然从大公司里面挑了个各方面综合(工资、干什么、交通等等)还不错的,反正感觉就很顺利的进来了(比毕业的时候容易多了),哈哈,越努力、越幸运,越幸运、越努力!。从这周开始,继续整理博客,免得给自己造成懒得习惯。

刚来这个公司,熟悉了环境,老大就开始让我做一个迁移、修改代码的工作,我想说的是,这种工作真没劲~~,看别人的代码、改别人的代码、这里改个变量、那里改个文件名・・・・・・,都是些没技术含量、很繁琐的事情,不过通过迁移代码顺便熟悉下环境也好。扯了这么多,说说今天的主题吧――代码编码格式改变,由于某些原因,需要将代码从A机房迁移到B机房,这两个之间不能互相访问,但是历史原因导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个怎么解决。

编码问题

先说说为什么会有编码问题,就拿上面那个例子来说,B机房这边数据库全是GBK编码的,因此从数据库中取出来的数据都是GBK的,从数据库中取出来的数据是GBK编码的,要在展示的时候不乱码,在不对数据库取出的数据转换的情况下,就需要发送header的时候设置编码为GBK,输出的文件(html、tpl等)都必须是GBK的,看看下面这个图会更清楚点:

DB(GBK) =>php等(编码格式不限但如果代码文件中有汉字,文件就要是gbk编码或者在汉字输出的时候转化为gbk) =>header(GBK) =>html、tpl(GBK)

或者还有一种方式只在出库的时候在代码中将utf8转化为gbk,总的来说utf8还是更流行点,问题更少点

DB(GBK) =>php等(utf8,并将从数据库取出的数据转化为utf8) =>header(utf8) =>html、tpl(utf8)

只要按照上面这两种规范编码格式,就不会出现乱码情况,起码我测试的第一种方式是没问题的,所以我猜第二种也ok,好了,现在就来写一个转换文件编码格式的小脚本:

#!/usr/bin/python# -*- coding: utf-8 -*-#Filename:changeEncode.pyimport osimport sysdef ChangeEncode(file,fromEncode,toEncode): try: f=open(file) s=f.read f.close() u=s.decode(fromEncode) s=u.encode(toEncode) f=open(file,“w”); f.write(s) return 0; except: return -1;def Do(dirname,fromEncode,toEncode): for root,dirs,files in os.walk(dirname): for _file in files:_file=os.path.join(root,_file)if(ChangeEncode(_file,fromEncode,toEncode)!=0): print “[转换失败:]”+_fileelse: print “[成功:]”+_filedef CheckParam(dirname,fromEncode,toEncode): encode=[“UTF-8”,“GBK”,“gbk”,“utf-8”] if(not fromEncode in encode or not toEncode in encode): return 2 if(fromEncode==toEncode): return 3 if(not os.path.isdir(dirname)): return 1 return 0if __name__==“__main__”: error={1:“第一个参数不是一个有效的文件夹”,3:“源编码和目标编码相同”,2:“您要转化的编码不再范围之内:UTF-8,GBK”} dirname=sys.argv[1] fromEncode=sys.argv[2] toEncode=sys.argv[3] ret=CheckParam(dirname,fromEncode,toEncode) if(ret!=0): print error[ret] else: Do(dirname,fromEncode,toEncode)

脚本很简单,使用也很简单

代码如下:

./changeEncode.py target_dir fromEncode toEncode

这里要注意下,几种常见编码的关系:

轻松实现代码修改前后的对比us-ascii编码是utf-8编码的一个子集,这个是从stackoverflow上得到的,原文如下ASCII is a subset of UTF-8, so all ASCII files are already UTF-8 encoded,

我试了下确实是的,在不加汉字的时候显示编码为us-ascii,加了汉字之后,变为utf-8,

还有就是ASNI编码格式,这代表是本地编码格式,比如说在简体中文操作系统下,ASNI编码就代表GBK编码,这点还需要注意

还有一点就是一个在linux下查看文件编码格式的命令是:

代码如下:

file -i *

可以看到文件的编码格式。

当然了,上面的可能有些文件中有特殊字符,处理的时候会失败,但一般程序文件是没有问题的。

以上就是本文所述的全部内容了,希望对大家学习python能够有所帮助。

请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!

篇3:修改VS代码重构简化接口属性成员实现

在VS2005或VS2008中实现一个接口的代码往往如下:

publicclassMyCommand: System.Data.IDbCommand

{

#regionIDbCommand 成员

publicvoidCancel()

{

thrownewNotImplementedException();

}

publicstringCommandText

{

get

{

thrownewNotImplementedException();

}

set

{

thrownewNotImplementedException();

}

}

经常要自己修改Property的get和set的代码,但VS2008的编译器中已经支持缺少get和set的定义;那如何在实现接口时让VS2008自动生成缺少get和set的属性呢,其实接口的实现代码是通过模板来完成的,我们只需要适当的修改一下模板就能达到我们的目标。

修改模板文件路径:

X:Program FilesMicrosoft Visual Studio 9.0VC#Snippets2052RefactoringPropertyStub.snippet

修改如下:

CodeLanguage=“csharp”>

{

get;

set;$end$

}]]>

修改后实现接口代码如下:

publicclassMyCommand: System.Data.IDbCommand

{

#regionIDbCommand 成员

publicvoidCancel()

{

thrownewNotImplementedException();

}

publicstringCommandText

{

get;

set;

}

publicintCommandTimeout

{

get;

set;

}

publicSystem.Data.CommandTypeCommandType

{

get;

set;

}

publicSystem.Data.IDbConnectionConnection

{

get;

set;

}

来自:www.cnblogs.com/henryfan/archive/2008/03/16/1108606.html

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。