问题标签 [standards-compliance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 是否有任何忽略默认内联函数的 C++ 标准的编译器?
C++ ISO 标准说:“在类定义中定义的函数是内联函数。” *
您知道任何忽略此规则的编译器吗?
您是否知道任何不会将“内联建议”放在那里的编译器?
(请不要重复关于内联的理论,我知道 - 我需要一个实用的答案)
jquery - 创建自己的 CSS 属性是否合法?
我正在为我的网站开发一个窗口应用程序。现在,我将每个单独的窗口设置为网站正文中的一个。我通过在 body 元素的末尾添加适当的代码来添加新窗口,并通过删除该 div 来删除它们。(我将 jQuery 用于底层 JavaScript 架构。)
我发现对于每个窗口,我都希望能够存储一些不直接使用的值。假设我最大化一个窗口,我想保存它的旧位置和大小,这样当我取消最大化它时,它会返回到它的旧位置,而不仅仅是随机的某个地方。所以我真正的问题是,创建自定义 CSS 属性(完全知道浏览器会忽略它们)是否合法,其唯一目的是在每个 div 的基础上保留这样的信息?或者这会是非法的,我应该看看另一种选择吗?
我当然熟悉将所有这些保存在一个数组中的方法,这样系统就可以盲目地运行它,但这很可爱,而且容易出错和其他事情,而且使用起来仍然有点棘手。
谢谢
html - 传统的“HTML 仅用于内容”的思路如何处理动态格式?
这么久以来,我已经阅读并理解了以下有关 Web 开发的真理:
- HTML 用于内容
- CSS 用于演示
- JavaScript 用于行为。
这通常都很好,而且我发现当我严格遵循这些准则并使用外部.css
和.js
文件时,它使我的整个网站更易于管理。但是,我想我发现了一个打破这种思路的情况。
我有一个为我的网站之一构建的自定义论坛系统。除了此类系统的常用格式(链接、图像、粗斜体和下划线等)外,我还允许我的用户设置其文本的格式,包括颜色、字体系列和大小。所有这些都以格式代码的形式保存在论坛消息数据库中,然后在查看页面时转换为相应的 HTML。(有点低效,技术上我应该在保存之前翻译,但这样我可以在系统上实时工作。)
由于这个系统和其他类似系统的性质,我最终会在生成的 HTML 代码周围出现很多标签,我认为这些标签已被非正式地弃用,因为我应该使用 CSS 进行格式化。这违反了规则一和二,即 HTML 不应该包含格式信息,而是更喜欢将这些信息放在 CSS 文档中。
有没有办法在 CSS 中实现动态格式而不在标记中包含该信息?值得麻烦吗?或者,考虑到正确代码的隐含限制,我要限制我的用户可以做什么,以便遵循“正确”的方式来格式化我的代码?
unit-testing - HTTP 一致性测试套件
有没有好的HTTP一致性测试套件?
我需要测试一些现有代码以符合标准,并且不想重新发明轮子并遇到各种极端情况。
我没有指定我使用的语言。我希望套件足够通用以适应我的需求——尽管我会满足于任何理智的东西。
unit-testing - URL解析测试套件
我需要测试一些现有的 http://
URL 解析代码是否符合RFC 3986。
我不想重新发明轮子并碰到各种角落案例。
是否有一些现有的综合测试套件?
我没有指定我使用的语言,因为我希望测试套件足够通用以适应。不过,我愿意接受任何理智的事情。
xml - 考虑到 WSDL 合规性和性能,在 gsoap 中做数组的最佳方法
我正在使用 gsoap 生成 XML SOAP 解析器和 WSDL 语法,并且想知道什么是推荐的方法来表达一个静态数组,它既可以快速解析又可以生成通过所有验证测试的相应 WSDL(如 Eclipse WSDL Validator或 NetBeans 验证 XML)。
如果我将此输入用于 gsoap:
我得到了这个生成的 WSDL(在定义/类型/模式标签内):
通过 NetBeans "Validate XML" 运行它会出现以下错误:
- 错误:src-resolve:无法将名称“SOAP-ENC:Array”解析为(n)“类型定义”组件。
Eclipse WSDL Validator 给出了这两个错误:
- WS-I:(BP2108) Array 声明使用 - 限制或扩展 - soapenc:Array 类型,或在类型声明中使用 wsdl:arrayType 属性。
- WS-I:(BP2122) wsdl:types 元素包含不是 XML 模式定义的数据类型定义。
我可以通过更改 gsoap 代码来定义动态数组来清除这些错误:
(带有相应的 WSDL :)
但是现在我失去了使用静态数组的性能提升。是否有其他方法可以在保持合规性的同时保持性能?
.net - 如何以符合标准的方式在 .NET 中序列化 DateTime 对象
我的目标是使用 .NET DateTime 对象(在 C# 中),并以符合标准的方式将其序列化为字符串并从字符串中解析(用于 XML)。我想到的具体标准是表示日期和时间的 ISO 8601 标准。
我想要一个易于使用的解决方案(最好每种方法调用一个方法),它将转换为格式的连接版本和从格式的连接版本转换。我还想保留本地时区信息。
这是我想要获得的那种字符串的示例:
2009-04-15T10:55:03.0174-05:00
我的目标 .NET 版本是 3.5。
几年前,我实际上找到了解决此问题的方法,其中涉及自定义格式和 DateTime.ToString(string) 方法。令我惊讶的是,不存在更简单的符合标准的解决方案。使用自定义格式字符串以符合标准的方式进行序列化和解析对我来说有点异味。
css - 好的 CSS 设计和 IE6 / IE7 支持是互斥的吗?
像每个 Web 开发人员一样,我通常每周至少诅咒 IE6 的创建者一次犯规和过早死亡。然而,我的公司要求我继续支持最讨厌的浏览器。
我今天的问题是想首先在我的 CSS 中使用通配符,然后尝试使用“继承”属性。IE7-都不支持这两者。
我真的,真的很想拥有良好的、结构良好的、适当继承的 CSS(面向对象的 CSS,如果你喜欢这个流行词),但我有一种在我的胃里迟早会下沉的感觉是自定义目的和基于位置的类。
这就提出了一个问题:考虑到 IE 在处理许多 CSS 概念方面是多么糟糕,是否不可能在拥有结构良好的 CSS 文档的同时充分支持该浏览器?
澄清一下:我知道有很多方法(一些合法,一些不太合法)来解决 IE6 和 7 中发现的错误和缺点。我真正要问的是“如果你想要一个,正确继承的编写良好的样式表,你必须在它和在所有浏览器中保持一致的外观之间做出选择吗?”。希望这是有道理的。
换句话说,我应该坚持我的原则并编写一个好的样式表,还是我应该接受 IE6 仍然享有非常高的市场份额(最后统计为 20%)并让自己支持它?或者是否有一些快乐的媒介可以让我最小化我的 HTML 和 CSS 上的科学怪人手术,同时仍然在 IE 中取得一些可观的结果?
c++ - 编译时常量索引是编译时常量数组本身的编译时常量吗?
我正在尝试玩让 C++ 编译器在编译时合成常量字符串的哈希值的花哨游戏。这将让我用单个标识符替换字符串,从而大大节省代码大小和复杂性。
为了编程的清晰性和易用性,如果我可以在编译时使用简单的内联字符串(如“Hello”)检查和计算,那将是非常棒的,这些字符串是指向编译时常量字符的编译时常量指针。
如果我可以在编译时索引这些,我可以制作一个模板元程序来做我想做的事。但尚不清楚 C++ 标准是否将 ct-constant 数组的 ct-constant 索引本身视为 ct-constant。
换个方式问,
是非常有效的 C++(和 C)。但是va 的值是编译时间常数吗?
我已经相信答案是否定的,但实际上一些编译器在没有任何警告的情况下接受它,更不用说错误了。例如,下面的编译和运行甚至没有来自英特尔的 C++ 编译器的一个警告:
然而,微软的编译器根本不会编译,给出一个合理连贯的错误信息,关于使用带有内部链接的对象的模板。
我怀疑我的问题的答案是“不,即使对具有常量索引的常量数组的任何数组引用在编译时也是常量”。这是否意味着英特尔编译器的成功执行是英特尔编译器中的一个错误?
c++ - delete[] 提供了一个修改后的新指针。未定义的行为?
在同行代码审查会议期间,我看到了如下一些代码:
首先,我知道在标准 C++ 中,指向过去的数组大小是可以的,尽管访问它会导致未定义的行为。所以我相信最后一行*s++='\0'
很好。但如果我没记错的话,C++ 标准要求delete
应该提供与new
返回相同的指针。
我相信这意味着返回的指针不能被篡改。我想这是因为可能会在可能使用new
的返回地址之前保留一些家政信息。delete
移动new
'd 指针可能会使其无法访问。
它是未定义的行为还是实现定义的或未指定的?任何人都可以确认这一点吗?最好通过指向 C++ 标准中的正确位置。
在免费提供的 C++ 标准草案 (Draft_SC22-N-4411.pdf) 的草案版本中,详细信息在第 5.3.5 节中。我是从 Bjarne 的主页上得到的。