Как собрать мысли в кучу при большом рефакторинге? Всем привет. Мне по работе досталась задача по рефакторингу ядра расчета одного инструмента. Ядро делалось в спешке другим разработчиком, поэтому нет, ни unit тестов, ни точек расширения алгоритма, ни документации, благо есть разработчик, который это делал и по логике у него консультируюсь. Алгоритм ядра довольно большой и мне трудно рассматривать его целиком. Я разбил на несколько логических кусков и работаю с каждым отдельно, при этом пытаюсь применять TDD: реализуя какой-то кусок логики, задаюсь вопросом: "Как я это буду тестировать?"В чем вопрос? Все эти действия даются мне сложно. У меня нет уверенности в своих действиях. Есть ли какие-либо ресурсы: статьи или книги, которые помогут быть более уверенным в составлению требований к коду, выраженных в unit тестах и организации проектирования сложных процессов расчета, включающих много if/else. Старших, у которых я мог бы проконсультироваться по этому вопросу нет (я пытался), коллеги это, либо чистые sql-щики, либо только прибывшие студенты с малым опытом. Сам я программирую только 1,5 года и опыта в подобном нет. Если интересно, использую язык c#.
Для уверенности в своих действиях при рефакторинге и написании unit тестов рекомендуется ознакомиться с книгами "Clean Code: A Handbook of Agile Software Craftsmanship" Роберта Мартина и "Refactoring: Improving the Design of Existing Code" Мартина Фаулера. Эти книги помогут вам понять основы хорошего проектирования кода и принципы эффективного рефакторинга.
Также, для работы с большими алгоритмами, включающими много if/else конструкций, может быть полезной книга "Design Patterns: Elements of Reusable Object-Oriented Software" "Банды четырёх": Эриха Гамма, Ричарда Хелма, Ральфа Джонсона и Джона Влиссидеса. Она поможет вам освоить популярные шаблоны проектирования, которые могут помочь вам структурировать сложные процессы и уменьшить количество if/else в коде.
Также, не стесняйтесь использовать онлайн-ресурсы, такие как блоги и видео уроки, где опытные разработчики делятся своими знаниями и опытом в области рефакторинга и написания unit тестов на языке C#.
Наконец, не бойтесь задавать вопросы в онлайн сообществах, таких как Stack Overflow или Reddit, где вы можете получить советы и поддержку от опытных коллег и разработчиков. Важно помнить, что процесс обучения и приобретения новых навыков требует времени и терпения, поэтому не расстраивайтесь, если что-то не получается сразу. Удачи вам в вашем рефакторинге!
Для уверенности в своих действиях при рефакторинге и написании unit тестов рекомендуется ознакомиться с книгами "Clean Code: A Handbook of Agile Software Craftsmanship" Роберта Мартина и "Refactoring: Improving the Design of Existing Code" Мартина Фаулера. Эти книги помогут вам понять основы хорошего проектирования кода и принципы эффективного рефакторинга.
Также, для работы с большими алгоритмами, включающими много if/else конструкций, может быть полезной книга "Design Patterns: Elements of Reusable Object-Oriented Software" "Банды четырёх": Эриха Гамма, Ричарда Хелма, Ральфа Джонсона и Джона Влиссидеса. Она поможет вам освоить популярные шаблоны проектирования, которые могут помочь вам структурировать сложные процессы и уменьшить количество if/else в коде.
Также, не стесняйтесь использовать онлайн-ресурсы, такие как блоги и видео уроки, где опытные разработчики делятся своими знаниями и опытом в области рефакторинга и написания unit тестов на языке C#.
Наконец, не бойтесь задавать вопросы в онлайн сообществах, таких как Stack Overflow или Reddit, где вы можете получить советы и поддержку от опытных коллег и разработчиков. Важно помнить, что процесс обучения и приобретения новых навыков требует времени и терпения, поэтому не расстраивайтесь, если что-то не получается сразу. Удачи вам в вашем рефакторинге!