Работали ли вы с плохо спроектированным приложением?

Работали ли вы с плохо спроектированным приложением?
Работали ли вы с плохо спроектированным приложением? - eyestetix @ Unsplash

Меня попросили поработать в веб-приложении Java, которое очень плохо спроектировано. Во имя "упрощения" они придумали свой собственный "фреймворк", чтобы сделать вещи чрезвычайно сложными для понимания. Я изо всех сил пытаюсь разобраться в потоке управления. Есть ли у вас подобный опыт?

Что вы делаете в таких ситуациях, когда человек, который "разработал" его, уже покинул компанию?

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

Если у вас есть время, я бы посоветовал немного почитать эту книгу Working Effectively with Legacy Code. В ней есть очень хорошие советы о том, как действовать в такой ситуации.


LetsCodeIt, 20 июня 2023 г., 08:38