RSS 2.0 Feed
2005-06 Entries
摘要:事先声明,本文一点技术含量都没有。 大家看了我的介绍Refactor!的系列文章后,似乎对如何制作屏幕操作的GIF比重构本身更感兴趣,那只好公布做法。像Refactor!这种软件如果只截取一张静态图片,无法体现出其绚丽的视觉效果和重构前后的不同,所以我在发文介绍这一功能之前,就先研究了动画截屏的功能。 第一步:截取部分屏幕制作成Avi 这类软件非常多,甚至Windows Medis Encoder都可以,你可以选择任何软件,只要你能想办法将屏幕指定区域录下来做成Avi就行了。为什么要Avi?因为支持Avi的GIF制作软件较多。我用的是“豪杰屏幕录像机”。 首先你需要找到你所用的软件的“固定区域设置”功能,只抓取屏幕的特定区域。比如,演示重构,你可以选择一个将代码包围起来的区域。注意操作前后所演示的区域大小可能会发生变化,留好缓冲面积。 第二步:将截取的Avi转化为Gif 豪杰屏幕录像机本身就具有录成Gif的功能,为什么我们还需要这样做呢?因为这样录下来的GIF体积比Avi专成的要大得多!我用的转换软件是AVI-GIF,如图所示:  打开AVI文件之后,要进行几项设置。“颜色减少”是目标调色板种类,要截取屏幕,建议选择“Windows 256”而不是默认设置。而“抖动”是减少颜色的算法,据我的实验,“Nearest”用于屏幕截图比较漂亮。其他的参数,也可以通过你的反复实验找到最佳的设置。当动作比较快时,作出的GIF会显得比较“顿”,所以建议录像时慢慢操作。 好了,只要依次按下“转换”和“保存GIF”,你的动画截屏就制作完成了。AVI-GIF的更多信息,请见http://www.ucansoft.com/。...[阅读全文]

posted @ | Feedback (8) | Filed Under [ 闲话集锦 ]

摘要:上次我们介绍了VB2005的免费重构插件——Refactor! for VB2005和其中两项视觉效果很酷的重构功能。这次我们继续介绍Refactor!的功能。 创建方法重载(Create Overload) Visual Basic支持可选参数,这给我们开发Office程序时带来巨大的方便,然而却不推荐在自己的代码中使用可选参数。因为可选参数只有Visual Basic支持,C#和多数语言都无法享受可选参数,而必须对所有参数照单全输。这时我们可以使用方法重载来创建接受不同数量参数的方法。使用Refactor!的创建方法重载功能,可以自动创建减少参数个数的新重载,并确保功能正确。比如有一个方法“MyMethod”带有三个参数,选中“MyMethod”,就会弹出智能标记,这时从智能标记的菜单中选择“Create Overload”,先按上下键确定重载方法的位置,然后用Tab键在参数间移动,按空格键去除不要的参数,然后按回车创建一个新的重载。 封装字段(Encapsulate Field)      在面向对象封装性的原则下,我们通常不将类的字段暴露给调用者,而是使用.NET的属性来封装对字段的访问。使用属性而不是字段的好处有很多,比如我们可以在属性中增加额外的验证代码,使字段不被非法修改。属性还可以是可重写的(即虚拟的),这样就有利于进行下一步的设计。如果我们已经讲字段暴露给类的外部,那么就可以用封装字段这一重构手段将所有调用方转移到属性的上去。操作方法是:选中一个字段,然后从智能标记中选中“Encapsulate Field”,按上下建确定新属性的位置,然后按下回车。旧字段将被自动重名名,使原有的引用转移到新建的属性上去。 以卫语句取代嵌套条件式(Replace Nested Conditional with Guard Clause)        常常见到这样的代码:很多If一层套一层,使得代码的流程难以看清楚。有时候外层的If条件很少失败,我们就可以将其这条分支独立成为一个If…End If语句,当条件为真立即退出方法,这就是“卫语句”。使用“以卫语句取代嵌套条件式”可以将含有If嵌套的判断语句转变为排列整齐的卫语句。只要在If关键字上使用智能标记即可。   下期继续介绍Refactor!的其他重构和操作方法。...[阅读全文]

posted @ | Feedback (137) | Filed Under [ 技术随笔 ]