При оценке дизайна, как Вы оцениваете сложность? [закрытый]

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

Использование Array Formulas должно дать вам желаемые результаты в текущей структуре вашего рабочего листа:

Для диапазона Loaned in вам нужно, чтобы формула была

[110 ]

Где 8 - ссылка на возвращаемый столбец. Для диапазона справа вы должны использовать ту же формулу, просто отрегулируйте 8 до 9. А для диапазона Loaned Out вам понадобится

=IFERROR(INDIRECT(ADDRESS(SMALL(IF($K$4:$K$23>0,ROW($4:$23),""),ROW(A1)),10)),"")

А для диапазона, расположенного прямо направо, вы снова измените 10 на 11. Опять же, оба они являются формулами массива, поэтому их нужно вводить немного по-разному. См. Ссылку для дальнейшей помощи с формулами массива.

6
задан Maxam 31 October 2008 в 14:55
поделиться

7 ответов

Сложность может быть оценена со связью и насколько связный все Ваши объекты. Если что-то, имеют слишком много связи, или недостаточно связно, чем дизайн начнет быть более сложным.

3
ответ дан 10 December 2019 в 02:55
поделиться

Здесь являются моими:

1) Как трудно это должно объяснить кому-то, кто понимает проблему, но не думал о решении? Если я объясняю проблему кому-то в Холле (кто, вероятно, уже понимает проблему, если они находятся в Холле), и может объяснить решение, то это не слишком сложно. Если это принимает час, возможности хороши, что решение сверхспроектировало.

2) Как глубоко во вложенных функциях необходимо пойти? Если у меня есть объект, который требует свойства, сохраненного объектом, сохраненным другим объектом, то возможности хороши, что то, что я пытаюсь сделать, слишком далеко удалено из самого объекта. Те ситуации становятся проблематичными при попытке сделать объекты ориентированными на многопотоковое исполнение, потому что было бы много объектов переменных глубин от текущей позиции для блокировки.

3) Вы пытаетесь решить проблемы, которые были уже решены прежде? Не каждая проблема является новой (и некоторые утверждали бы, что ни один действительно не). Существует ли существующий шаблон или группа шаблонов, которые можно использовать? Если Вы не можете, почему нет? Это - вся польза для создания собственных новых решений, и я - все для него, но иногда люди уже ответили на проблему. Я не собираюсь переписывать STL (хотя я попробовал, однажды), потому что решение уже существует, и это - хорошее.

3
ответ дан 10 December 2019 в 02:55
поделиться

Когда я посетил Сложные Системы, Моделируя семинар в Системном Институте Комплекса Новой Англии (http://necsi.org/), одной из мер, которые они использовали, было количество состояний системы.

Например, если у Вас есть два узла, которые взаимодействуют, A и B, и каждый из них может быть 0 или 1, Ваши возможные состояния:

A B
0 0
1 0
0 1
1 1

Таким образом система только 1 взаимодействия между двоичными компонентами может на самом деле привести к 4 различным состояниям. Причем точка - то, что сложность системы не обязательно увеличивается линейно как количество увеличений взаимодействий.

3
ответ дан 10 December 2019 в 02:55
поделиться

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

Примеры:

.-файлы свойств, конфигурация базы данных, XML-файлы для содержания сопутствующей информации.

.-десятки тысяч классов с интерфейсами и отображений базы данных

.-чрезвычайно долгий и сложный файл типа "build" (build.xml, Make-файл, другие..

1
ответ дан 10 December 2019 в 02:55
поделиться

Наконец что-то LOC может на самом деле помочь иметь размеры?:)

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

Сложный дизайн имел бы уровни n, тогда как простой дизайн будет иметь только два.

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

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

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

0
ответ дан 10 December 2019 в 02:55
поделиться

Существуют формальные метрики. Читайте на Цикломатической Сложности, например.


Править.

Кроме того, взгляд на Единицы функциональности. Они дают Вам нешестое чувство количественное измерение сложности системы.

-1
ответ дан 10 December 2019 в 02:55
поделиться

Если бы Ваше приложение создается, можно измерить его с точки зрения времени (сколько времени конкретная задача взяла бы для выполнения), или вычисления (сколько кода выполнено каждый раз, когда задача выполняется).

Если у Вас просто есть проекты, то можно посмотреть на то, сколько компонентов дизайна необходимо, чтобы выполнить данную задачу или выполнить среднюю задачу. Например, если Вы используете MVC в качестве своего шаблона разработки, затем у Вас есть по крайней мере 3 компонента, затронутые для большинства задач, но в зависимости от Вашей реализации дизайна, можно закончить с десятками компонентов (кэш в дополнение к этим 3 слоям, например).

0
ответ дан 10 December 2019 в 02:55
поделиться
Другие вопросы по тегам:

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