在过去,编程习惯涉及较少的猜测.我会编写一些代码行,并且100%确定代码的作用以及它不会一目了然.错误主要是拼写错误,但与功能无关.
在过去的几年里,我认为这种"试错"编程有一种趋势:编写代码(就像在草稿中一样),然后迭代调试,直到程序的行为符合要求.测试,再次测试,然后再测试.有趣的是,在我的Visual Studio中,"运行"按钮已被标记为"调试"的按钮所取代(=我知道你有一些错误!).我不得不承认,在我编写的几个应用程序中,我无法保证无错误的代码.
你怎么看 ?或者我们的系统现在过于复杂(浏览器/ OS/Service Pack兼容性等),这证明了在所有类型的环境中进行测试的合理性.
我一直更喜欢固定宽度布局而不是流体宽度布局,其中一个主要原因是我能够更好地了解整个画面如何,而不必担心屏幕分辨率.
但是现在"图片"发生了变化,现在大多数用户使用的最低和最高分辨率之间存在很大的差异,而且它们似乎仍然存在.
我的上网本只支持800像素或1024像素宽; 我还有一个支持1650像素的22英寸显示器,支持1920像素以上的24英寸显示器正变得非常普遍.
我已经非常"忽略"800像素的用户一段时间了,我一直在开发固定的950/960像素宽,我也注意到流行的网站(SO为一个)要么使用这种方法,要么使用流畅的网站.
对于文本(几乎)只有网站(如维基百科),我没有看到使用流体系统的问题,但是所有其他依赖图像/视频来创建有趣内容的网站呢?社交网络,分类等等......他们解决这个问题的方法是什么?
在不久的将来,Seam Carving似乎是一个不错的选择,但它还不够成熟(浏览器和jQuery本来都不支持它),我也觉得用户不会理解它,对它感到困惑和结果放弃了网站.
在事实上的网络标准仍是1024个像素宽,并留下980个像素的未使用的24"显示器似乎只是普通的奇不说是错误的.那么,什么是我们的选择?
具有固定布局的屏幕分辨率http://i45.tinypic.com/1692oat.jpg
我很想听听您对此的看法以及您对流体和固定系统的体验.
PS:使用其中任何一个系统的热门网站也受欢迎,我特别感兴趣的是看到使用流体系统的非文本网站.
编辑:我刚刚看到这个答案,我对液体和液体布局之间的区别感到困惑,它们是不是应该完全一样?
我需要像RichEdit这样的免费组件,但也可以在里面显示图片.我使用的是Delphi 7.不幸的是RichEdit无法显示图片,而且很少有组件可以免费使用.
如何将javascript代码"window.onkeyup"(或body标签中的onkeyup)转换为GWT?
问候
我有一个方法返回一个像1.234567890的浮点数.我想测试它确实这样做.但是,似乎这个返回的float在不同平台上具有不同的精度,那么如何断言返回值是1.23456789?如果我这样做:
$this->assertEqual(1.23456789, $float);
Run Code Online (Sandbox Code Playgroud)
那么在某些精度不够的平台上可能会失败.
在C#中,为了将信号连接到插槽(委托给方法),我所做的就是:
first.signal += second.slot
Run Code Online (Sandbox Code Playgroud)
但在Qt中它是:
connect( & first, SIGNAL( signal( int, int, QString ) ), & second, SLOT( slot( int, int, QSTring ) ) );
Run Code Online (Sandbox Code Playgroud)
而且这个被计算得很短,通常它们会产生2-3行.当然我完全理解Qt只模拟.h文件,而对于.cpp,它们必然会受到标准语法的限制,但是有什么技巧/方法可以使信号插槽连接更短一些吗?我知道通过给插槽提供特殊名称来自动将信号连接到插槽,但这仅适用于.ui文件中的信号.任何提示?
我在我的JavaScript文件中使用了JSLint.它抛出了错误:
for( ind in evtListeners ) {
Run Code Online (Sandbox Code Playgroud)
第41行的问题字符9:for的主体应该包含在if语句中,以过滤原型中不需要的属性.
这是什么意思?
因为很长一段时间我都在试着听.pls文件(shoutcasts).我不得不说我失败了.由于StreamFurious可以做到这一点,它必须是可能的.首先,我尝试通过套接字(TCP和UDP)连接到shoutcast - >失败.我甚至无法从服务器接收一个字节.
我快要哭了.我甚至不知道建立连接的最佳方式是什么,然后继续下载/接收数据流.
我真的希望有人可以指出我正确的方向并给我一个简短的代码段(如果有的话).
Rgds Layne
为什么这个表达式不遵循贪婪的方法?
string input = @"cool man! your dog can walk on water ";
string pattern = @"cool (?<cool>(.*)) (?<h>((dog)*)) (?(h)(?<dog>(.*))) ";
MatchCollection matches = Regex.Matches(input, pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.IgnorePatternWhitespace);
foreach (Match match in matches)
{
Console.WriteLine("cool=" + match.Groups["cool"].Value);
Console.WriteLine("dog=" + match.Groups["dog"].Value);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
输出:
酷=男人!你的狗可以在水上行走 狗=
你可以观察到:(狗)组匹配0次.但是,因为,*是贪婪的,为什么不尝试找到(狗)的最大匹配为1?
有线索吗?