程序员相信的谬误

2020-09-08 16:11:31

世界的逻辑先于一切真理和谬误。-路德维希·维特根斯坦(Ludwig Wittgenstein)[1]。

虚假文章是对特定主题的一种评论形式,由于其有效性和简洁性而受到广大开发人员社区的赞赏。它们是一种方便的书面形式,可以驱散神话,指出常见的陷阱,显示不一致和微妙之处,从而接近一个陌生的领域。

从某种意义上说,虚假的文章是一套冗长的单元测试,涵盖了现实世界使用提供的广泛的边缘案例。

程序员相信的错误--常见错误的列表。这是对虚假世界的一个很好的概述和快速介绍。

关于汽车的谬论--即使是给汽车下定义这样常见的事情,也充满了陷阱。

Etsy';会计系统中的小数点错误-会计软件中类型的重要性:错过小数点将导致100倍的多收费。

CLDR货币定义-由于叛乱、入侵、新宪法和计划采用缓慢,当前有效日期范围重叠。

关于时间和时区的错误-另一种是与时间相关的错误,重点是时区。

关于时间的谬误的批判--以上面的第一篇文章为基础,用更多的上下文和外部资源对每一种谬误进行解释。

你的日历谬论是认为…。-由iOS和macOS开发者社区制作的关于嵌入和文化影响的列表。

时区数据库-代表全球许多代表性地点当地时间历史的代码和数据。

时间的漫长而痛苦的历史--守时习惯中的大多数都可以在历史中找到解释。

你提倡日历改革--你的想法行不通。这篇文章告诉你为什么。

所以你想要废除时区-取消时区听起来可能是个好主意,但有相当多的复杂因素让它变得不完全是这样。

时区的问题--如果可以的话告诉你为什么永远不应该处理时区问题。

ISO-8601,YYYY,YYYY,以及为什么您的年份可能是错误的-日期的字符串格式很难。

协调世界时(UTC)对每个人来说都足够了,对吗?-关于日期和时间(特别是协调世界时),有一些你可能没有想到的边缘情况。

将UTC存储不是灵丹妙药--将日期存储在UTC中并不总是正确的方法。

为什么将这两次相减(1927年)会得出一个奇怪的结果?-关于复杂的历史时区和空洞的日期的InnamousStack溢出答案可以被较新版本的软件重新解释。

关键日期和重要日期-从Y2K到从Unix纪元开始的32位秒溢出,根据系统的不同,需要关注的特殊日期列表。

错误信息CS学生(仍然)在毕业时相信事情(不仅是)计算机科学的学生倾向于错误地,有时令人惊讶地相信,尽管他们(可能)应该知道得更好。

博士后神话-很多关于博士后研究人员的说法、文章和看法都是不真实的。

我知道如何验证电子邮件地址,直到我阅读了RFC-822提供的复杂示例,这些示例都是根据RFC-822意外有效的电子邮件地址。

因此,您认为可以验证电子邮件地址(FOSDEM 2018)-表示边缘大小写的电子邮件地址,以及为什么不应该使用正则表达式来解析它们。

关于名字的错误-带着例子-重新访问了上面文章的版本,这一次有详细的解释。

关于性别的谬论:#1-性别是人类身份的一部分,有其自身的微妙之处。

同性恋婚姻:数据库工程视角-如何将婚姻存储在数据库中,同时解决大多数关于性别、名字和关系的错误。

世界各地的人名--世界各地的人的名字有什么不同,这对网络有什么影响?

Xkcd#327:利用一个母亲--有趣的是,如何实现一个错误可能会导致安全漏洞。

你好,我是诺尔先生。我的名字让计算机看不见我--真实的例子,说明实施的谎言如何对某人的生活产生负面影响。

我的名字会导致任何预订的问题!-旧航空公司预订系统将MR后缀视为MISTER,并将其删除。

关于语言的谬误--把软件从英语翻译过来并不像看起来那么简单。

Internationalis(Z)ing Code--关于在国际化代码时需要牢记的事情。

了解Unicode和字符集的最低限度-很好地介绍了Unicode,它的历史背景和起源,随后Byan概述了它的内部工作原理。

让我们停止将意义归因于代码点-深入到Unicode中,并消除关于代码点的神话。

打破我们的拉丁语假设-大多数程序员花太多时间在拉丁语上,以至于忘记了其他的脚本。

托运标签的颂歌-字符编码很难,当每一层破碎的数据输入都添加自己的香料时,更是如此。

I18N测试数据-为单元测试和QA编辑真实的、国际的和不同的名称数据。

淘气字符串的大列表-一个巨大的字符串语料库,用作用户输入数据时很有可能引发问题。必须有一组实用的边缘用例来测试您的软件。

关于求职者的谎言-关于求职者及其工作历史的假设不一定是真的。

关于视频的谬误-涵盖所有内容:视频解码和回放、文件、图像缩放、色彩空间和转换、显示和字幕。

写IP地址的方法不止一种-地址的某些部分是可选的,请注意十进制和八进制记数法,也不要忘记IPv6。

Libhonenumber-Google用于解析、格式化和验证国际电话号码的通用Java、C++和JavaScript库。也可用于C#、Objective-C、Python、Ruby和PHP。

关于居住地的谎言--这不仅是关于住址本身,也是关于一个人与其居住地之间的关系。

尽管没有名字,没有地址,信件还是递送了-关于邮政地址的最高规定:你不需要这样的地址。

有自己邮政编码的熊--烟熊有自己的邮政编码(20252),因为它收到的邮件太多了。

关于测量系统的谬误-关于测量系统的工作和它们之间的转换。

科技领域的女性谬论--STEM(科学、技术、工程、数学)行业的女性神话。

关于版本的错误--将身份归因于软件版本可能比想象的要难。

关于构建系统的谎言-构建软件是很难的。构建构建软件的软件就更难了。

关于文件路径的神话-文件系统和操作系统的多样性使文件路径比我们想象的要难一些。

关于CSV的谎言-虽然RFC4180仍然存在,但它远远不是决定性的,而且在很大程度上被忽视了。

关于时光网的普遍误解--一篇关于为什么文件的时光比较会被认为是有害的帖子的一部分。

自动完成规则--本质上不是错误的,但仍然是实现自动完成的一个很好的实践列表。

浮点数学--你的语言没有问题,它在做浮点数学。(…)。这就是为什么,更多的时候,0.1+0.2!=0.3。";

嗨!。我的名字是……。-这个演讲本可以被命名为关于用户名(和其他标识符)的谎言。

关于/dev/urandom的神话-有一些关于/dev/urandom和/dev/Random的事情反复重复。尽管如此,它们仍然是错误的。

关于CPU缓存的迷思--关于缓存的错误概念经常会导致错误断言,特别是当涉及到并发和争用条件时。

下载收藏夹的隐藏复杂性,这在15个以上的Edge案例中都有所体现-下载你在浏览器选项卡中看到的小图标应该是一项简单的练习。事实证明,这比你想象的要复杂得多。当心你不是在给牦牛刮胡子。

挪威不是假的-挪威的ISO国家代码也是假的有效YAML。

真值程序员应该了解大小写--在大小写文本中,大小写与错误格式完全相反。

此存储库的内容受知识共享CC0许可。在法律允许的范围内,Kevin Deldycke已放弃本作品的所有版权和相关或相邻权利。