Манифест эволюции программ

в 16:13, , рубрики: IT-стандарты, информационные технологии, правила, Программирование, Проектирование и рефакторинг, разработка, метки: , , ,

Долгие годы меня удручает то, что я вижу в индустрии программирования — каждая последующая версия большинства программ или сервисов работает медленнее, жрет больше ресурсов и требует более мощного железа.

Это произошло с моим Macbook-ом, это произошло с моим iPhone-ом, это происходит с каждым апдейтом Windows, Visual Studio, Office, и т.д.

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

Мы сейчас работаем над сайтом, предоставляющим полезный сервис, которым будут пользоваться тысячи людей. Разумеется постепенно будет наращиваться функциональность и пользовательская аудитория.

Если идти обычным путем, то сервис будет работать все медленней, и медленней, обычное дело — количество кода и данных не уменьшается, а наоборот — растет с большой скоростью.

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

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

Конкретно в MVC — не стоит измерять каждый метод каждого класса проекта, вполне достаточно сделать тесты на действия контроллеров. Это покроет практически всю функциональность и позволит выявить узкие места без предварительной оптимизации.

Ведь это простое требование может помочь сделать мир лучше! Так почему бы не попробовать?

Автор: micbsv

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js