Дизайнер классов

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

Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это опрос общественного мнения.

EJoshuaS - Reinstate Monica 09.12.2018 04:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
463
12

Ответы 12

В основном ручка и бумага, хотя я иногда вырываю Visio и просто рисую грубые схемы.

Я думаю, было бы неплохо иметь необычный инструмент, но это было бы совсем другое дело, которому нужно научиться.

Я считаю ручку и бумагу очень полезными и стараюсь держаться подальше от компьютера. Если я делаю это на компьютере, у меня всегда возникает соблазн начать программировать решение. Это неизбежно приводит к тому, что я позже меняю вещи, которые я бы заметил на этапе планирования, если бы я действительно потратил на это немало времени.

Ручка и бумага для первого черновика. Умлет оцифровать. Он очень минимален, но делает то, что мне нужно

Когда я делаю первоначальный дизайн, мне нравится доска и еще 1–3 разработчика, от которых я могу поделиться своими идеями. Обычно этого достаточно, чтобы отловить любые явные ошибки / исправить любые сложные ситуации, которые могут возникнуть, не слишком сильно снизив соотношение сигнал / шум.

Мне очень пригодятся ручка и бумага, доска и, возможно, немного Карты CRC. В большинстве случаев я думаю, что доска и несколько наклеек или карточек с написанными на них названиями классов и / или модулей работают лучше всего при планировании и проектировании в группе. Ручка и бумага подойдут, если вы занимаетесь этим в одиночку. Когда у вас есть базовая структура, вы всегда можете создать красивую диаграмму UML.

Обычно я начинаю с пустого интерфейса, а затем начинаю писать тесты. Затем я генерирую членов с помощью инструментов рефакторинга. Для меня модульное тестирование - это часть дизайна.

Я использую ручку и бумагу.

Для всех целей планирования это самый быстрый способ. Когда я использую пакет UML, я теряюсь в макете и точной настройке.

Но это моя ноша .. :-)

Возьмите КАРАНДАШ и бумагу или доску. Что-нибудь постоянное, например ручка, и у вас будет довольно грязный дизайн!

Ручка и бумага и / или доски для черчения, более универсальный инструмент для документирования.

Я в основном использую диаграммы классов и несколько набросков с диаграммами последовательностей, чтобы получить правильные отношения.

Об инструментах: На работе я использую Архитектор предприятия, но лично я считаю Визуальная парадигма для UML лучшим выбором. Последний гораздо более гибкий и позволяет быстро создавать чертежи.

В VP у них также есть версия под названием Agilian в течение некоторого времени (которую я еще не использовал), которая кажется еще более гибкой, позволяя эскизам стать документацией в кратчайшие сроки ... может быть, однажды этот инструмент заменит мою статью эскизы (сохраните деревья: P).

OmniGraffle (приложение в стиле Visio для Mac OS X), иногда. В противном случае достаточно бумаги и ручки.

На стадии бумажной работы (или любого другого, не связанного с кодом эквивалента, который вы предпочитаете) легко задержаться и стать жертвой ужасного синдрома ЯГНИ. Многие ли из нас тщательно разработали какую-нибудь «сексуальную» функцию, которая в итоге так и не была использована? (Поднимает руку. Руки.)

Небольшие итеративные шаги, основанные на тестировании, и частый рефакторинг - пусть код скажет вам, каким он должен быть.

Большинство моих проектов начинаются с единственной уверенностью в том, что мы не закончим там, где думаем. Так что тратить очень много времени на большой предварительный дизайн (или Большой дизайн спереди, если хотите) - расточительно - лучше начать с того, что мы хотим сделать, и посмотреть, чем мы закончим.

Это как бы зависит от того, чем, по вашему мнению, заканчивается дизайн. Несколько лет назад я прочитал статью, в которой была изложена идея о том, что кодирование - это дизайн или, по крайней мере, для поклонников большого процесса, это внутренняя часть дизайна. Это прозвучало верно для меня и навсегда изменило мой взгляд на этапы процесса разработки. Конечно, я просто погуглил, как сумасшедший, на эту чертову штуку. Могу я его найти? Могу я черт возьми. Возможно, мне приснилась статья и это все моя собственная идея. Да, это все.

Доска для первых 35 или 40 черновиков. После этого UML хорош, но не особенно необходим. Лучшая документация после того, как вы разберетесь в деталях, - чистый код.

Другие вопросы по теме