Представительная линия: Разбер... Заметка
The Daily WTF на русском

Представительная линия: Разберись с этим

Анонимный исполнитель работает над устранением проблем, оставленных предыдущим консультантом. Они начали с решения наиболее критических задач. После их завершения они приступили к анализу кода, который в настоящее время не вызывал проблем, но имел потенциал для возникновения будущих. При проверке JavaScript они обнаружили пользовательскую функцию сортировки, которая вызвала немедленные опасения. Первая строка этой функции, obj[x._id.account_id] = x.count_total, была особенно тревожной. Код неправильно обращается к полю account_id в том, что должно быть уникальным идентификатором MongoDB. Это указывает на то, что произвольный объект используется в качестве уникального идентификатора в базе данных, что считается проблематичной практикой. Помимо проблемы с идентификатором, назначение этого кода в функции сортировки неясно. Строка, по-видимому, создает объект типа {"id0": 5}, а не выполняет сортировку. Эта ситуация представляет собой значительную загадку, поскольку код еще не вызвал сбоя. Основные вопросы заключаются в том, почему он еще не сломался и что произойдет, когда это в конечном итоге случится.