Статья удалена

Этот материал был удалён по просьбе автора.

2.7K2.7K открытий

Объективность заключается в том, что нужно сперва договориться о какой оптимизации идёт речь.

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

Допустим, у нас есть встроенная реализация связного списка из стандартной библиотеки, у которой есть дефолтный метод Sort(). Допустим алгоритм работы сортировки в этом метода довольно медленный, не оптимальный. Является ли это поводом для того, чтобы сразу написать свою реализацию сортировки? Нет, если ты пользуешься ей лишь иногда. Потому что свой код надо поддерживать, потому что в нём с куда большим шансом будут баги, потому что ты потратишь лишнее время на написание оптимального алгоритма, потому что информацию об этой альтернативной сортировке надо будет расшаривать другим программистам. В данном случае мы попытались бы решить проблему, которая возможно даже не возникнет в реальности.

Ответить