作者Matthias Ettrich,译者Googol Lee,原文地址在这里。
在奇趣(Trolltech),为了改进Qt的开发体验,我们做了大量的研究。这篇文章里,我打算分享一些我们的发现,以及一些我们在设计Qt4时用到的原则,并且展示如何把这些原则应用到你的代码里。
设计应用程序接口,API,是很难的。这是一门和设计语言同样难的艺术。这里可以选择太多的原则,甚至有很多原则和其他原则有矛盾。
现在,计算机科学教育把很大的力气放在算法和数据结构上,而很少关注设计语言和框架背后的原则。这让应用程序员完全没有准备去面对越来越重要的任务:创造可重用的组件。
在面向对象语言普及之前,可重用的通用代码大部分是由库提供者写的,而不是应用程序员。在Qt的世界里,这种状况有了明显的改善。在任何时候,用Qt编程 就是写新的组件。一个典型的Qt应用程序至少都会有几个在程序中反复使用的自定义组件。一般来说,同样的组件会成为其他应用程序的一部分。KDE,K桌面 环境,走得更远,用许多追加的库来扩展Qt,实现了数百个附加类。(一般来说,一个类就是一个可重用组件,原文这里没有写清楚。)
但是,一个好的,高效的C++ API是由什么组成的呢?是好还是坏,取决于很多因素——比如,手头的工作和特定的目标群体。好的API有很多特性,一些特性是大家都想要的,而另一些则是针对特定问题域的。
API是面向程序员的,用来描述提供给最终用户的GUI是什么样子。API中的P带表程序员(Programmer),而不是程序(Program),用来强调API是给程序员用的,给人类的程序员用的。
我们坚信API应该是最小化且完整的,拥有清晰且简单的语义,直觉化,容易记忆,并且引导人写出易读的代码。
最后,记住,不同类型的用户会用到API的不同部分。虽然简单的实例化一个Qt类是非常直觉化的,让资深专家在试图子类化之前读一遍文档,是很合理的。
继续阅读
前不久,好朋友钟文将一篇谈Braid艺术风格的文章打印出来,给我看,我从那时起便多 方收集Braid的资料。直到最近,才在Xbox360上玩了它的试玩版,作者(Jonathan Blow对待这部作品的态度更像是一位作家,而不是游戏开发者)和画家David Hellman的完美配合更令我深深感动。也许不久后会有机会在PC或360上玩到这款出类拔萃的个人作品的完整版,不过,我迫不及待的要将这篇出自 David Hellman的文章介绍给你,希望你能喜欢这款作品。由于译者并不从事美术相关工作,有错漏之处,还请行家不吝指出。
Who has seen the wind?
Neither you nor I.
But when the trees bow down their heads,
The wind is passing by.谁见到过风?
你没有,我也没有。
但当树儿低下头,
便是风儿经过的时候。
windows下修改mac地址,原来我一直借助于使用mac修改软件的帮助,最近想想,还是要能手动修改比较好一些,毕竟有的时候在别人电脑上没有现成工具的
在本地连接里
点击相应网卡的旁边的配置按钮,在高级标签页下,左边选择Network Address,右边填入MAC地址既可
禁用本地连接后再启动既可生效,或者重启电脑
window的MAC信息是保存在注册表中的,如果需要编程修改的话,可以用读写注册表值来实现,难点估计在于如何不需要重启生效的问题
具体在注册表的位置,可以自己修改后,通过注册表查找特定的字符串来定位 ^_^
卸载TCP/IP协议,这个是在被病毒破坏了TCP/IP协议后需要善后的动作
1、开始——运行——regedit.exe,打开注册表编辑器,删除以下两个键:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
2、用记事本打开%winroot%\inf\nettcpip.inf文件,找到:
[MS_TCPIP.PrimaryInstall]
Characteristics = 0xa0 <——把此处的0Xa0改为0×80 保存退出
3、打开本地连接的TCP/IP属性—添加协议——从磁盘——浏览找到刚刚保存的nettcpip.inf(%winroot%\inf\nettcpip.inf)文件,然后选择“TCP/IP协议”(不是选择那个TCP/IP 版本6)。
经过这一步之后,又返回网络连接的窗口,但这个时候,那个“卸载”按钮已经是可用的了。点这个“卸载”按钮来把TCP/IP协议删除,然后重启一次机器。
4、重启后再照着第3步,重新安装一次TCP/IP协议便可。
5、再重启一次,这时应该可以了,可以照着需要,设置一下IP地址。
从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:
WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件…> <@列表文件…> <解压路径\>
命令 要 WinRAR 运行的字符组合代表功能
开关 切换操作指定类型,压缩强度,压缩文件类型,等等的定义。
压缩文件 要处理的压缩文件名。
文件 要处理的文件名。
列表文件 列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用//字符后添加注释
继续阅读