awesome-falsehood README

The project's README from github.com/kdeldycke/awesome-falsehood. As one markdown file: README.md.

Awesome Falsehood header image

Your brand → here 🚀
SEO is dead. Place your product here to target AI's training data.


English 中文

The logic of the world is prior to all truth and falsehood.
— Ludwig Wittgenstein[1]

A curated Awesome list of falsehoods programmers believe in. A falsehood is an idea that you initially believed was true, but in reality, it is proven to be false.

E.g. of an idea: valid email address exactly has one @ character. So, you will use this rule to implement your email-field validation logic. Right? Wrong! The reality is: emails can have multiple @ chars. Therefore your implementation should allow this. The initial idea is a falsehood you believed in.

The falsehood articles listed below will have a comprehensive list of those false-beliefs that you should be aware of, to help you become a better programmer.

Contents

Meta

Arts

Business

Cryptocurrency

Dates and Time

Education

Emails

Geography

Human Identity

Internationalization

On character encoding, string formatting, unicode and internationalization.

Management

Multimedia

Networks

awesome-falsehood (kdeldycke/awesome-falsehood)

Searching Database…

Что это такое?Тщательно подобранный список заблуждений программистов: статьи, собирающие предположения, которые звучат очевидно верно, но ломаются на реальных краевых случаях, — например, уверенность в том, что в корректном адресе электронной почты ровно один символ @.
Это инструмент, который надо устанавливать, или просто что-то, что можно почитать?Чисто материал для чтения: один README, разбитый на 22 тематических раздела — даты, электронная почта, имена, Unicode, география, цены, сети, типографика, видеоигры, — где каждая запись это аннотированная ссылка на внешнюю статью.
С чего новичку стоит начать?С раздела Meta: статья «Falsehoods Programmers Believe» значится как краткий обзор и быстрое введение во весь жанр — стоит прочитать её, прежде чем углубляться в конкретные темы вроде времени или электронной почты.
Список подробно разбирает каждую тему, или мне придётся переходить по ссылкам?Он скорее указывает, чем объясняет: каждая запись — это одна строка о том, о чём рассказывает статья по ссылке, а сами исчерпывающие списки заблуждений живут в этих статьях, а не в самом README.
Можете привести пример одного из таких заблуждений?Пример из самого введения: «в корректном адресе электронной почты ровно один символ @» — на самом деле адреса могут содержать несколько символов @, поэтому валидатор, построенный на этом правиле, отбрасывает рабочие адреса. Другие примеры: отпечатки пальцев не уникальны, а хранить всё в UTC — не серебряная пуля.
Из-за этих ошибок бывает реальный ущерб, или это чисто теоретические вещи?Реальный ущерб: в списке есть разборы, где внутренний купон на 250 долларов превращался в рекламный кредит на 25 000 долларов в Google Ads, Минтруд США из-за календарной арифметики излишне собрал 26 000 долларов, а XSS-атаки устраивались через специальные символы в названиях британских компаний.
Какая статья положила начало всему жанру заблуждений?По признанию самого списка, статью «Falsehoods about Names» — именно она начала всё. Она стоит вверху раздела «Человеческая идентичность», рядом с переработанной версией с подробными примерами.
Могу ли я использовать этот список или опубликовать его в своей документации?Да — репозиторий распространяется по лицензии CC0-1.0, то есть передан в общественное достояние, так что можно копировать, изменять и переиздавать подборку, не спрашивая разрешения.
Creator
kdeldycke
Size
2.4 MB
Stars
27.8K
Updated
CommitOct 08
Age
10y
Commits · 90 Days