[#] О Legacy-коде без максимализма: что делать
habrabot(difrex,1) — All
2016-08-26 18:30:04


![][1]

Представьте, что вам дали задачу поправить часть кода. В голове возникнет много мыслей. Кто его написал? Когда? А может он — legacy? Где документация? Давайте попробуем разобраться с «наследием» основательно и со всех сторон. Поможет нам в этом вопросе Андрей Солнцев [@asolntsev][2] (), разработчик из таллинской компании Codeborne. Начнём.

**— Андрей, вы знакомы с трудами Michael Feathers, например, «Working Effectively with Legacy Code»? В книге акцентируется внимание на важности тестирования и выделяется одно из ключевых отличий legacy от не legacy-кода — это наличие тестов. Вы согласны с этим мнением? **

Абсолютно согласен! Скажу больше: юнит-тесты — необходимое, но недостаточное условие. И с юнит-тестами можно навалить так, что сам Геракл не разгребёт.
Что для настоящего джедая мастхав, так это:
1. TDD — то есть [тесты ДО кода][3].
2. Чистый код (и чистые тесты).


Я очень люблю книгу Robert C. Martin «Clean Code» («Чистый код»). Это для меня настольная библия. Категорически всем советую. Кстати, его [блог][4] тоже великолепен.

[Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/fcb/8e7/96d/fcb8e796da2c45da2ead4512fdb0185e.png
[2]: https://habrahabr.ru/users/asolntsev/
[3]: https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[4]: http://blog.cleancoder.com/uncle-bob/2016/07/27/TheChurn.html
[5]: https://habrahabr.ru/post/308528/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut