Какое программное обеспечение вы используете при разработке классов и их взаимосвязей или просто ручку и бумагу?





В основном ручка и бумага, хотя я иногда вырываю Visio и просто рисую грубые схемы.
Я думаю, было бы неплохо иметь необычный инструмент, но это было бы совсем другое дело, которому нужно научиться.
Я считаю ручку и бумагу очень полезными и стараюсь держаться подальше от компьютера. Если я делаю это на компьютере, у меня всегда возникает соблазн начать программировать решение. Это неизбежно приводит к тому, что я позже меняю вещи, которые я бы заметил на этапе планирования, если бы я действительно потратил на это немало времени.
Ручка и бумага для первого черновика. Умлет оцифровать. Он очень минимален, но делает то, что мне нужно
Когда я делаю первоначальный дизайн, мне нравится доска и еще 1–3 разработчика, от которых я могу поделиться своими идеями. Обычно этого достаточно, чтобы отловить любые явные ошибки / исправить любые сложные ситуации, которые могут возникнуть, не слишком сильно снизив соотношение сигнал / шум.
Мне очень пригодятся ручка и бумага, доска и, возможно, немного Карты CRC. В большинстве случаев я думаю, что доска и несколько наклеек или карточек с написанными на них названиями классов и / или модулей работают лучше всего при планировании и проектировании в группе. Ручка и бумага подойдут, если вы занимаетесь этим в одиночку. Когда у вас есть базовая структура, вы всегда можете создать красивую диаграмму UML.
Обычно я начинаю с пустого интерфейса, а затем начинаю писать тесты. Затем я генерирую членов с помощью инструментов рефакторинга. Для меня модульное тестирование - это часть дизайна.
Я использую ручку и бумагу.
Для всех целей планирования это самый быстрый способ. Когда я использую пакет UML, я теряюсь в макете и точной настройке.
Но это моя ноша .. :-)
Возьмите КАРАНДАШ и бумагу или доску. Что-нибудь постоянное, например ручка, и у вас будет довольно грязный дизайн!
Ручка и бумага и / или доски для черчения, более универсальный инструмент для документирования.
Я в основном использую диаграммы классов и несколько набросков с диаграммами последовательностей, чтобы получить правильные отношения.
Об инструментах: На работе я использую Архитектор предприятия, но лично я считаю Визуальная парадигма для UML лучшим выбором. Последний гораздо более гибкий и позволяет быстро создавать чертежи.
В VP у них также есть версия под названием Agilian в течение некоторого времени (которую я еще не использовал), которая кажется еще более гибкой, позволяя эскизам стать документацией в кратчайшие сроки ... может быть, однажды этот инструмент заменит мою статью эскизы (сохраните деревья: P).
OmniGraffle (приложение в стиле Visio для Mac OS X), иногда. В противном случае достаточно бумаги и ручки.
На стадии бумажной работы (или любого другого, не связанного с кодом эквивалента, который вы предпочитаете) легко задержаться и стать жертвой ужасного синдрома ЯГНИ. Многие ли из нас тщательно разработали какую-нибудь «сексуальную» функцию, которая в итоге так и не была использована? (Поднимает руку. Руки.)
Небольшие итеративные шаги, основанные на тестировании, и частый рефакторинг - пусть код скажет вам, каким он должен быть.
Большинство моих проектов начинаются с единственной уверенностью в том, что мы не закончим там, где думаем. Так что тратить очень много времени на большой предварительный дизайн (или Большой дизайн спереди, если хотите) - расточительно - лучше начать с того, что мы хотим сделать, и посмотреть, чем мы закончим.
Это как бы зависит от того, чем, по вашему мнению, заканчивается дизайн. Несколько лет назад я прочитал статью, в которой была изложена идея о том, что кодирование - это дизайн или, по крайней мере, для поклонников большого процесса, это внутренняя часть дизайна. Это прозвучало верно для меня и навсегда изменило мой взгляд на этапы процесса разработки. Конечно, я просто погуглил, как сумасшедший, на эту чертову штуку. Могу я его найти? Могу я черт возьми. Возможно, мне приснилась статья и это все моя собственная идея. Да, это все.
Доска для первых 35 или 40 черновиков. После этого UML хорош, но не особенно необходим. Лучшая документация после того, как вы разберетесь в деталях, - чистый код.
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это опрос общественного мнения.