Best practices

В последнее время стал сильно больше ходить. Чтобы время не терять слушаю в наушниках доклады из закладок с разных конференций. Забавно, что чем опытнее становлюсь, тем большей водой и очевидностью кажется абсолютное большинство. По сути ориентируешься уже не по заголовкам, а по именам любимых спикеров, так сильно надёжнее.

Вчера слушал этот доклад PY из Square о производительности в рантайме, в целом очень интересно и мало понятно, но меня зацепила одна фраза оттуда и я призадумался.

️ Best practices are the worst. Они могут быть полезны, но они склоняют людей фокусироваться не на своих реальных проблемах, а на чем-то другом.

Речь про какие-то индустриальные стандарты. Типа делайте что-то так или не делайте что-то иначе. Он это говорит в контексте производительности - никто не даст вам точные советы что сделать, чтобы починить производительность именно у вас. Но вообще это очень хорошо на любые проблемы ложится. Очевидные слова, казалось бы, мы часто зашорены тем, что говорит индустрия. Пытаемся натянуть сову на глобус, это заставляет нас решать проблемы какого-то совершенно другого характера вместо того, чтобы просто посмотреть на свои метрики и починить то, что болит в конкретном месте. Добавлю ещё, что эти best practices часто преподносятся как какие-то догмы (да, гугл, я думаю о тебе), стоит ли говорить что это плохо?

Стандарты полезны, конечно, в том плане, что благодаря им формируется какой-то общий язык, мы можем друг с другом делиться этими подходами, люди могут проще переходить между компаниями, но они должны быть какими-то очень верхнеуровневыми. Мы обычно только стартуем проекты с чего-то актуального общепринятого, но всё дальше и дальше сильнее отходим от этого, конечно не забывая корректироваться под рынок.

Стандарты на уровне проекта это почти абсолютное благо. Стандарты между проектов и вообще между компаний это в какой-то степени утопия. Лучшие практики не могут быть всегда лучшими. Их нужно воспринимать только как ещё одна точка зрения, которую ты принимаешь в расчёт, не больше. Проекты разные, команды разные, задачи разные, "исторические причины" у всех разные.

PS. Как вы поняли это регулярное напоминание не слушать каких-то челов в интернете и думать своей головой.