Какие методы построения диаграмм (не инструменты) вы используете во время программирования? [закрыто]

== сравнивает ссылки на объекты.

.equals() сравнивает значения String.

Иногда == дает иллюзии сравнения значений String, как в следующих случаях:

String a="Test";
String b="Test";
if(a==b) ===> true

Это связано с тем, что при создании любого строкового литерала JVM сначала ищет этот литерал в пуле строк, и если он найдет совпадение, эта же ссылка будет передана новой String. Из-за этого получаем:

(a == b) ===> true

                       String Pool
     b -----------------> "test" <-----------------a

Однако == не выполняется в следующем случае:

String a="test";
String b=new String("test");
if (a==b) ===> false

В этом случае для new String("test") оператор new String будет создан в куче, и эта ссылка будет указана на b, поэтому b будет дана ссылка на кучу, а не на String pool.

Теперь a указывает на String в пуле String, а b указывает на String в куче. Из-за этого мы получаем:

, если (a == b) ===> false.

                String Pool
     "test" <-------------------- a

                   Heap
     "test" <-------------------- b

Пока .equals() всегда сравнивает значение String, поэтому дает true в обоих случаях:

String a="Test";
String b="Test";
if(a.equals(b)) ===> true

String a="test";
String b=new String("test");
if(a.equals(b)) ===> true

Таким образом, использование .equals() всегда лучше.

13
задан John Burley 11 March 2009 в 20:18
поделиться

13 ответов

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

, Если существует хитрый алгоритм для чего-то, такой как корреляция нескольких потоков данных в новый поток тогда, я буду обычно использовать Блок-схему для разработки алгоритма.

, Если решение требует знания состояния тогда, Диаграмма состояний также используется.

Это - те, я использую больше всего.

При выполнении Хранилища данных разрабатывают, я рисую Схемы "звезда", чтобы разработать, как хранить данные. Когда выполнение Транзакционного DB разрабатывает, я использую Диаграммы сущностей и связей для работы нашего хранения данных.

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

17
ответ дан Mark Thistle 12 March 2009 в 06:18
поделиться
  • 1
    @KatieT необходимо быть более ясными о том, хотите ли Вы перенестись эти текстовые метки в легенде через 2 строки, или объекты легенды сами, или оба. Вы подвергаете сомнению только упомянутое обертывание ' легенда names' который является тем, к чему обращается этот ответ. – joran 26 April 2012 в 13:52

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

6
ответ дан Robert S. 12 March 2009 в 06:18
поделиться
  • 1
    Первый из тех - то, что должно использоваться для фильтрации на столбце Length. –  5 April 2012 в 18:12

Я имею Блок-схема основного продукта, с которым я работаю и разрабатываю.

Моя команда также часто использует диаграмма UML эскизы на электронных досках при разработке новых частей для нас для реализации. Они очень полезны в создании шаблонов разработки и моделировании высокоуровневой структуры классов, которые будут необходимы. Это никогда полноценный UML хотя...

1
ответ дан Ben S 12 March 2009 в 06:18
поделиться
  • 1
    аннотации должны быть объединены с < context:component-сканирование/>. но xml прекрасен также – Bozho 5 April 2012 в 21:29

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

Блок-схемы, только когда я должен объяснить процесс непрограммисту (или если это - действительно сложный процесс и я должен понять это сначала).

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

1
ответ дан Can Berk Güder 12 March 2009 в 06:18
поделиться

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

12
ответ дан Eric Petroelje 12 March 2009 в 06:18
поделиться

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

2
ответ дан Matthew Ruston 12 March 2009 в 06:18
поделиться
  • 1
    Хм, но когда я использую аннотации, без бобового определения в dispatcher-servlet.xml я получаю ошибку, которую я вставляю прежде, плюс то, когда я использую аннотации, и я определяю боб, который я просто получаю 404 только с тем контроллером. – tomaszf 5 April 2012 в 20:41

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

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

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

2
ответ дан Toon Krijthe 12 March 2009 в 06:18
поделиться
  • 1
    нет. в dispatcher-servlet.xml. Или, поскольку я показал - объявленный с аннотациями – Bozho 5 April 2012 в 20:23

Электронная доска для обсуждений.

Pen и бумага для менее временной записи.

тупики Кода для 'Вещей к impelement'.

Протестированный и Рабочий код (с обширными комментариями) для потомства.

1
ответ дан abhijit 12 March 2009 в 06:18
поделиться

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

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

3
ответ дан Steve Claridge 12 March 2009 в 06:18
поделиться
  • 1
    Да, " альтернатива option" работы, но я don' t хотят использовать его. Когда я создаю частную корзину атрибута в своем контроллере, я получаю ошибку это " Никакой боб соответствия не нашел для зависимости: ожидаемый по крайней мере 1 боб, который квалифицирует как автопроводной кандидат на эту зависимость. Аннотации зависимости: {@org.springframework.beans.factory.annotation. Автосоединенный проводом (required=true)} ". боб должен быть определен в applicationContext.xml как < бобовый идентификатор =" cart" класс =" Cart" объем =" session"/>? – tomaszf 5 April 2012 в 20:12

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

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

Теперь, для помещения все в контексте, я работаю в относительно малочисленной команде (5 разработчиков), делая торговлю и платформы конфигурации продукта в Java. У нас есть наши два продукта, которые мы тогда дополнительно настраиваем к запросам клиента. Будучи сплоченным сообществом, с низким (нулевым) благоприятным поворотом в течение нескольких лет, мы используем документацию, прежде всего, в качестве остатка нам. И в этой установке, вышеупомянутый подход работает вполне хорошо.

1
ответ дан javashlook 12 March 2009 в 06:18
поделиться
  • 1
    Отметьте, с решением № 4, don' t используют финал на любом методе. Сделайте так, и то средство доступа будет одиночным элементом, не сессией, ограниченной по объему, поскольку AOP не может прервать финал. – Joseph Lust 26 November 2013 в 06:08

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

Время от времени, я использую Архитектор Sparx Enterprise , который является UML , моделируя инструмент, хотя он производит достойный diagams, в то время как это в нем. Я использовал его для требований, варианта использования, действия, последовательности, домена, и даже моделирования класса и иногда некоторых перепроектированных схем ER. Любой ценой понять через.

0
ответ дан John Saunders 12 March 2009 в 06:18
поделиться
  • 1
    Большие взгляды. Спасибо за исчерпывающий ответ. – ДМИТРИЙ МАЛИКОВ 9 April 2012 в 17:33

Я работаю в среде разработки Ajax и большей части кода бэкенда, который я пишу работам как канал между реляционной базой данных и frontend JavaScript (пользовательский интерфейс). Так, в наиболее используемой 'схеме' на говорится, что я использую, объекты JSON описать, как данные должны быть переданы назад и вперед между базой данных и интерфейсом. Они просты, универсальны и легки понять структуры данных.

Пример:

{"идентификатор": строка ['идентификатор'], "имя": строка ['имя'], "обязательное": ['обязательная'] строка, "rangeDescription": "Это - Диапазон", "globalRate": строка ['глобальная']}

1
ответ дан Ben Hayden 12 March 2009 в 06:18
поделиться

Мне нравятся диаграммы потоков данных. Много.

1
ответ дан 1 December 2019 в 17:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: