Questions tagged «standards»

标准是软件行业认为重要的规则和习俗,并以某种方式被编纂为标准,例如ISO标准或语言规范之类的正式规范,或诸如工作场所行为规则之类的非正式文件。

17
为了清楚起见,编码标准:注释每一行代码?
我曾在一家生产至关重要的软件的商店工作过,还处理过一些注释规则,这些规则旨在保持代码的可读性并可能挽救生命。以我的经验,尽管要求变成了脑筋急转弯的工作,需要从清单中剔除,但这并不能帮助我专注于编写可理解的代码。这也分散了我的同行审阅者的注意力,使我无法就如何使代码更易于理解进行更有意义的对话。 我还对没有注释的学生代码进行了评分,并查看了为什么应将它们标记为忽略它们。 我知道使用好名,使结构简单,函数简短,并关注模块将使代码易于理解,从而可以最小化注释。 我也理解注释应该解释为什么代码会执行此操作,而不是如何执行。 鉴于所有这些,甚至有可能编写出能够抓住这一想法的良好编码标准?与同行评审有关但不会变成漫不经心的清单活动,不会产生比以下内容更有用的注释:“您忘了在第42行发表评论”。 在清单中被视为一行时,此规则可能需要的代码示例: /* Display an error message */ function display_error_message( $error_message ) { /* Display the error message */ echo $error_message; /* Exit the application */ exit(); } /* -------------------------------------------------------------------- */ /* Check if the configuration file does not exist, then display an error */ /* …

4
example.org的电话号码等于多少?
RFC 2606标准保留了example.org,example.net和example.com域名,以用作文档中的示例。 可以用作示例的电话号码(包括国家代码)的等效项是什么,例如,为用户提供以哪种格式输入电话号码的示例? 在最佳情况下,它将是由相关标准指定的虚拟号码作为示例电话号码,并且不会归属于任何真实订户。

3
为什么硬件加速的矢量图形没有被删除?
我正在开发一个涉及以60fps实时处理矢量路径的应用程序,而关于该主题的信息很少,我感到非常惊讶。最初,我尝试使用CoreGraphics来实现我的想法,但是对于我的目的而言,它的表现并不理想。然后,我发现有一个用于硬件加速矢量图形的Khronos标准称为OpenVG,并且值得庆幸的是,一个善良的人写了一个名为MonkVG的OpenGL ES半实现。 但是,尽管事实上OpenVG是一个非常实用的API,但Khronos似乎还是放弃了它。根据Wikipedia的说法,自2011年以来,工作组“决定……不召开任何常规会议以进一步实现标准化”。据我所知,该文档仅包含一个参考卡。而且,互联网上几乎没有OpenVG的任何示例。我可以在眨眼之间找到数百个OpenGL教程,但是OpenVG似乎明显缺失。 您可能会认为,在当今分辨率迅速提高的世界中,硬件加速矢量将更为重要,而且似乎许多公司正在实现自己的方式。例如,Qt和Flash具有用于硬件加速矢量的方案,并且许多Adobe的工具都可以选择硬件加速。但是,当标准已经存在时,车轮似乎正在被彻底改造! 关于OpenVG,我是否缺少某些东西,使其不适合实际使用?还是仅仅是因为标准没有及时赶上而现在注定要变得晦涩难懂?您认为将来是否存在用于硬件加速矢量图形的标准化API的空间,还是使用基于栅格的传统技术会更容易?还是矢量在进入之前就只是在走出去?

10
什么定义了健壮的代码?
我的教授在谈到“健壮”的代码时一直引用这个Java示例: if (var == true) { ... } else if (var == false) { ... } else { ... } 他声称“健壮的代码”意味着您的程序考虑了所有可能性,并且没有错误之类的东西-所有情况都由代码处理并导致有效状态,因此为“ else”。 但是,我对此表示怀疑。如果变量是布尔值,那么在逻辑上不可能使用第三状态时检查第三状态的意义何在? “没有这样的错误”似乎也很荒谬;即使是Google应用程序,也会直接向用户显示错误,而不是无声地吞下错误或以某种方式将其视为有效状态。很好-我想知道什么时候出了问题。似乎很宣称应用程序永远不会有任何错误。 那么“健壮代码” 的实际定义是什么?

7
标准化所有数据库表上的创建日期和上次更新日期字段是否有意义?
我的老板目前正在尝试将一些开发标准应用到我们的团队中,因此昨天我们开会开会讨论了这些标准,在她提出之前,大部分进展顺利: 所有数据库表都将具有一个CreatedDate和LastUpdatedDate列,并通过触发器进行更新。 在这一点上,我们的团队意见分歧。我们中有一半的人认为,在所有工作台上执行此操作是一项大量工作,几乎没有收益(我们从事固定预算项目,因此任何成本均来自公司的利润);下半年相信它将对项目的支持有所帮助。 我坚定地在前阵营。尽管我很欣赏某些外部情况会导致多余的列提高可支持性,但我认为,首先添加列所需的工作量以及维护工作将使我们花费更少的时间进行更多的工作重要的事情,例如单元测试或负载测试。另外,我相当确定这些额外的列会使使用ORM变得更尴尬-请记住,我们主要使用C#和Oracle,但从一开始就对ORM不太满意。 因此,我的问题是双重的: 我在正确的营地吗?我并没有声称自己拥有享誉全球的数据库技能,因此这可能是一件容易的事,而且没有不利的副作用。 您将如何处理有关标准的会议演变为排渣比赛的情况?我如何才能真正卖出该标准不会长期帮助我们?

2
UTF-8 CSV文件是否应包含BOM(字节顺序标记)?
我们的业务线软件允许用户将某些数据保存为CSV。由于野外使用了许多不同的格式(都称为“ CSV”),因此我们试图确定“默认格式”应是什么样。 关于行/字段分隔符和转义,我们可以使用一个标准:RFC 4180。 关于文本编码,UTF-8似乎在过去十年中以“默认文本文件格式”出现,因此我们将使用它。 一个悬而未决的问题是:我们是否应该在开始时添加BOM?我已经阅读了有关BOM总体使用的多种观点和优缺点,但是对于在CSV文件中使用BOM而言,是否存在“正式”建议或至少某种形式的社区共识?

4
Little Endian赢了吗?
最近在教大恩迪与小恩迪恩之战时,一个学生问它是否已经解决,我意识到我不知道。查看Wikipedia文章,似乎当前最流行的OS /体系结构对使用Little Endian,但是Internet协议指定Big Endian用于在数据包头中传输数值。这将是当前状态的一个很好的总结吗?当前的网卡或CPU是否为切换字节顺序提供硬件支持?


3
我应该使用WADL描述我的RESTful API吗?
我将着手进行一个广泛使用正确的RESTful方法的项目。也就是说,它使用HATEOAS并以允许客户端进行常规探索的方式提供资源。 我想确保以一种允许以多种语言自动生成客户端应用程序的方式提供对端点的描述。我了解对于基于SOAP的Web服务,我可以使用WSDL,并且显然有WSDL2提供了与REST一起使用的HTTP动词的更大定义。但是,我看到许多关于它的实用程序的文章来回摆动。 因此,我应该使用WADL来允许外部代码生成器快速为我的Web应用程序构建客户端,还是期望有更好的标准?

11
为什么会有这么多竞争的文件系统设计?[关闭]
只是一个简单的问题,但是为什么今天仍然有如此多的文件系统在竞争和使用?(ntfs,fat32,ext3(ffs)等) 文件系统设计人员似乎可以就每种类型的系统的最佳方面达成共识,并实现“最佳”文件系统,不是吗?只是想一想,由于这些文件系统已经存在了一段时间,并且至少应该明显看出哪些文件系统具有优于其他文件系统的质量,我们可以将每个文件系统的优点结合起来,创建一个更好的最终系统

3
为什么编程语言(开放式)标准要花钱?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 如果要使标准广泛采用,为C11要求384瑞士法郎或为C ++ 11要求352瑞士法郎是否适得其反? 请注意,我一点也不抱怨,也不反对付款;我想了解设置价格本身的基本原理,尤其是知道ISO是国家标准机构的网络(即由政府资助)。而且我还怀疑这些价格是否会产生足够的收入来为这样的组织提供资金,所以肯定还有另一个原因。

2
JPEG-2000的软件支持的当前状态是什么?
一般建议记录原始扫描图像曾经是“使用TIFF”。但是程序员需要格式的演变才能实现“软件的演变”,而我需要发展自己的系统以从TIFF转换为JP2。 我有一个很大的图像存储区(TB),用于存放法律和科学扫描的材料,它们需要原始记录。我使用了一些缓存规则,但是系统需要显示(通过Web下载)或操纵(ImageMagick等)原始数据。 我读过一篇关于将图像存储从无损TIFF迁移到无损JPEG-2000的文章,其结论是继续使用TIFF。但是,该文章来自2009年,当时他们发现可用软件对JPEG-2000格式的支持非常差。在他们测试的软件中,向JPEG-2000的转换是有损的,并且用于消费图像的可用软件也不支持该格式。 现在是时候从TIFF更改为JP2了吗?软件支持是否仍然像2009年那样存在缺陷?

13
程序员为什么会忽略ISO标准?[关闭]
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我经常遇到的一件事是由不符合ISO标准的程序引起的问题。 一个示例不是使用ISO国家/地区表,而是自己编写简写,这对于美国(US)或荷兰(NL)来说还可以,但对于英国(GB,而不是英国)或西班牙来说则明显错误(ES,而不是SP)和许多其他国家/地区。 另一个示例是内部日期符号。为什么会有人将日期存储为01/02/2014?目前尚不清楚是2月1日还是1月2日,而如果使用ISO标准,则只存储2014-02-01 *,而2月1日则是明确的。 我的问题:有ISO标准可用时,程序员什么时候以及为什么要自己构造结构? *存储2014-02-01,并在将其显示给最终用户时相应地格式化日期。

1
python 3新功能解决了哪些问题?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 Python 3的新功能说: 我们主要是修复众所周知的烦恼和疣,并清除大量旧屑 它提到了什么不同(修复),但没有提到为什么(问题)。我还没有发现问题所在。修复程序解决了哪些问题?

8
Python编码标准与生产力
我为一个大型人道主义组织工作,开发了一个项目构建软件,该软件可以通过加快食品分配来在紧急情况下挽救生命。许多NGO迫切需要我们的软件,而我们比原计划晚了几周。 在这个项目中让我担心的一件事是,我认为过分注重编码标准。我们使用python / django编写并使用PEP0008版本,并进行了各种修改,例如,行长最多可以达到160个字符,并且如果可能的话,所有行都应该走那么长,导入之间没有空行,仅适用于某些种类的换行规则类,我们必须使用很多模板,即使它们不是解决问题的最佳方法等。 一位核心开发人员花了一周的时间重写系统的主要部分以满足当时的新编码标准,并丢弃了过程中的几套测试,因为重写意味着它们“无效”。我们花了两个星期来重写所有丢失的功能,并修复错误。他是首席开发人员,他的话语具有影响力,因此他说服了项目经理这些标准是必要的。初级开发人员按照他们的指示做。我觉得项目经理对所有这些都有强烈的认知失调感,但是尽管他不确定要做什么,但还是非常赞同。 今天,我遇到了严重的麻烦,因为我忘记在关键字参数中的逗号后加上一些空格。在Skype通话期间,我确实被其他两个开发人员和项目经理大喊大叫。就我个人而言,我认为编码标准很重要,但同时我们也认为我们浪费了大量时间来沉迷于它们,当我口头表达这时,它引起了人们的愤怒。我被视为团队的麻烦制造者,一个正在寻找失败者的替罪羊。自从引入编码标准以来,团队的生产力已显着下降,但这只会加剧这种痴迷,即首席开发人员只是将我们不遵守标准归咎于缺乏进步。他认为,如果我们不遵守约定,我们将无法阅读彼此的代码。 这开始变得粘滞。现在,我正在尝试修改各种脚本(autopep8,pep8ify和PythonTidy)以尝试匹配约定。我们还对源代码运行pep8,但是对我们的标准有很多隐式修改,以至于很难跟踪它们。首席开发人员简单地挑出了pep8脚本没有拾取的错误,并在下一次站立会议中向我们大喊。每周都有新的编码标准增加,迫使我们重写现有的,有效的,经过测试的代码。谢天谢地,我们仍然有测试,(我还原了一些提交,并修复了一堆他删除的提交)。 一直以来,满足截止日期的压力越来越大。 我认为一个基本问题是,首席开发人员和另一个核心开发人员拒绝信任其他开发人员来完成工作。但是如何处理呢?我们无法完成工作,因为我们正忙于重写所有内容。 在软件工程团队中,我从未遇到过这种动态。我对他们是否遵守编码标准提出质疑吗?是否还有其他人遇到过类似情况,他们如何成功处理?(我不是在讨论人们只是找到实际解决方案的讨论)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.