Пришёл в компанию, которая ведёт разработку ПО. Проект пишется уже около года. Исходников тьма. Рабочих и не рабочих. Никаких UML диаграм нет, как и достойной документации. Не подскажите с чего начать? Начать постепенно строить диаграммы или прыгать как мега-кенгуру toDefinition?
Напишите несколько десятков юнит тестов и бегайте с вопросами. Так вы познакомитесь с командой и разберетесь с архитектурой. Если нет документации и диаграмм значит они никому не нужны или всем просто пофиг. А тесты всегда пойдут на пользу. Минус на них надо много времени которое надо выбить из начальства
Мейн прикол — этот кусок (на который меня посадили) писали два парня, которые уволились… И все знают только что этот кусок должен делать. А как и что… увы… Прикол номер два- этот кусок не работает =) И перед тем как его компилнуть надо его дописать, а перед этим видимо… понять?))
Читать код, прыгать to definition, задавать вопросы. Где сложно удержать в голове — строить диаграммки. По возможности получать задания, содержащие независимые изменения, это позволит ознакомиться с разными кусочками проекта.
я бы начал со знакомства с кодом и написания документации. В общем, с приведения проекта в рабочее состояние. Это дает возможность хорошо изучить проект, понять кто из коллег чего стоит и просто стать незаменимым человеком. :-)
Тесты писать. Уточните ТЗ и напишите тесты. Можно еще для этого откатиться до какой-то версии кода, которая работает.
VCS ведь используется и такая рабочая версия ведь есть? Иначе вобще непонятно чего там 2 программиста год делали. Много исходников — это всегда минус ПО, а не плюс. Не бойтесь эти исходники выкидывать и удалять, когда будут тесты.
VCS — MS Team Foundation Server. Сегодня как раз там лазил. Оказалось товарищи хранили код в какой-то своей системе, и до неё, как понял, не добраться (просто редкостное везение по всем пунктам).
Вообщем работа пошла по такому пути:
выдрать из проекта логику вычислений, а всё остальное (интерфейс, всякие чудо-ноухау-фичи, уровни подключения к БД, серверу и тп) — сжечь. Протестить, задокументировать, покурить, написать всё что сожгли с нуля. От графического интерфейса отказались кстати. Вот как-то так…