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

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

27
задан Bill the Lizard 8 August 2012 в 14:49
поделиться

25 ответов

Размер и частота фиксаций управления исходным кодом.

-1
ответ дан dacracot 28 November 2019 в 04:01
поделиться

enter image description here              

(источник: osnews.com )

51
ответ дан Glorfindel 28 November 2019 в 04:01
поделиться

При использовании Толпы Вы хотите знать, как Толпа каждого дня пошла. Люди сделали, что они сказали, что сделать?

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

0
ответ дан S.Lott 28 November 2019 в 04:01
поделиться

Процент покрытия кода

0
ответ дан Ali Shafai 28 November 2019 в 04:01
поделиться

улучшите мой team’s процесс разработки программного обеспечения

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

Другими словами, был бы Вы скорее иметь 100%-е покрытие кода и паршивые модульные тесты или фантастические модульные тесты и < 80%-е покрытие?

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

1
ответ дан Flory 28 November 2019 в 04:01
поделиться

количество подобных строк. (копируйте/вставляйте код)

1
ответ дан Ali Shafai 28 November 2019 в 04:01
поделиться

улучшают временные оценки

, В то время как Планирование Joel Spolsky На основе фактических данных не по сути метрика , это походит точно, что Вы хотите. См. http://www.joelonsoftware.com/items/2007/10/26.html

2
ответ дан Jonas Kölker 28 November 2019 в 04:01
поделиться

http://cccc.sourceforge.net/

разветвляется на входе и Разветвляется, мое избранное.

разветвитесь на входе: Сколько другие модули/классы используют/знают этот модуль

, Разветвитесь: Сколько других модулей делает этот модуль, используют/знают

2
ответ дан Ronny Brendel 28 November 2019 в 04:01
поделиться

Если Вы используете Толпу, отставание. Насколько большой это после каждого спринта? Это уменьшается на последовательном уровне? Или материал, продвигаемый в отставание из-за (a) материала, который не думался для начала ("Нам нужен другой вариант использования для аудиторского отчета, что никакая мысль, я просто добавлю его к отставанию".) или (b) не получения сделанного материала и продвижение его в отставание встретить дату вместо обещанных функций.

2
ответ дан S.Lott 28 November 2019 в 04:01
поделиться

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

Это позволит Вам определять, как эффективно Ваш процесс (процессы) рассмотрения кода работает с точки зрения найденных ошибок.

2
ответ дан Andrew Edgecombe 28 November 2019 в 04:01
поделиться

взаимозависимость между классами. как плотно Ваш код связан.

2
ответ дан Ali Shafai 28 November 2019 в 04:01
поделиться

количество проваливания тестов или поврежденных сборок на фиксацию.

2
ответ дан Ali Shafai 28 November 2019 в 04:01
поделиться

Отследите количество клонов (подобные фрагменты кода) в исходном коде.

Избавляются от клонов путем рефакторинга кода, как только Вы определяете клоны.

4
ответ дан Anonymous 28 November 2019 в 04:01
поделиться

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

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

3
ответ дан Simon Howard 28 November 2019 в 04:01
поделиться

Скорость: количество функций в данную единицу времени.

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

[РЕДАКТИРОВАНИЕ], С другой стороны, можно присвоить вес как единицы функциональности, или история указывает на каждую историю как мера сложности, затем сложите точки для каждой завершенной функции и вычислите скорость в точках/повторении.

7
ответ дан tvanfosson 28 November 2019 в 04:01
поделиться

Отследите источник и тип ошибок, которые Вы находите.

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

тип ошибки является широким стилем ошибки. например, выделение памяти, неправильное условное выражение.

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

7
ответ дан Andrew Edgecombe 28 November 2019 в 04:01
поделиться

"улучшите мой team’s процесс разработки программного обеспечения": Дефектная Находка и Фиксирует Ставки

, Это касается количества дефектов или ошибок, повышенных против количества мер, которые фиксировались или проверялись.

я должен был бы сказать, что это - одна из действительно важных метрик, потому что она дает Вам две вещи:

  • 1. Маслобойка кода. Насколько код изменяется на ежедневной/еженедельной основе (который важен, когда Вы пытаетесь стабилизироваться для выпуска), и,
  • 2. Шоу Вы, являются ли дефекты перед мерами или наоборот. Это показывает Вам, как хорошо группа разработчиков отвечает на дефекты, повышенные QA/тестерами.
  • А низко фиксируют ставку, указывает, что команда занята, работая над другими вещами (функции, возможно). Если количество ошибки высоко, Вы, возможно, должны были бы заставить разработчиков обращаться к некоторым дефектам.
    А низко находят, что уровень указывает, что или Ваше решение является блестящим, и почти свободная ошибка, или команда QA была заблокирована или имеет другой фокус.

    11
    ответ дан RobS 28 November 2019 в 04:01
    поделиться

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

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

    7
    ответ дан SCdF 28 November 2019 в 04:01
    поделиться

    Обратное покрытие кода

    Получает процент кода, не выполненного во время теста. Это - similiar к тому, что упомянул Shafa, но использование отличается. Если строка кода, работал во время тестирования тогда, мы знаем, что это могло бы быть протестировано. Но если строка кода не была, работал тогда, мы знаем наверняка, что это, не был протестирован. Быть предназначением эти области для поблочного тестирования улучшит качество и занимает меньше времени, чем аудит кода, который был покрыт. Идеально можно сделать обоих, но что никогда швы для случая.

    12
    ответ дан Rontologist 28 November 2019 в 04:01
    поделиться

    ROI.

    общая сумма дохода, введенного программным обеспечением минус общая сумма затрат для создания программного обеспечения. Разбивка затраты процентом общей стоимости и изолированный Ваше самое плохое выполнение и самая дорогая область с точки зрения дохода от инвестиций. Улучшите, автоматизируйте или устраните ту проблемную область, если это возможно. С другой стороны найдите свою самую высокую область дохода от инвестиций и найдите способы усилить ее эффекты еще больше. Если 80% Вашего ROI прибывают из 20% Вашей стоимости или усилия, разверните ту конкретную область и минимизируйте остальных для сравнения.

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

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

    13
    ответ дан VirtuosiMedia 28 November 2019 в 04:01
    поделиться

    Most of the aforementioned metrics are interesting but won't help you improve team performance. Problem is your asking a management question in a development forum.

    Here are a few metrics: Estimates/vs/actuals at the project schedule level and personal level (see previous link to Joel's Evidence-based method), % defects removed at release (see my blog: http://redrockresearch.org/?p=58), Scope creep/month, and overall productivity rating (Putnam's productivity index). Also, developers bandwidth is good to measure.

    1
    ответ дан 28 November 2019 в 04:01
    поделиться

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

    Считайте это постоянным упражнением по самосовершенствованию.

    1
    ответ дан 28 November 2019 в 04:01
    поделиться

    Мне особенно нравится и я использую систему, которую рекомендует Мэри Поппендик . Эта система основана на трех целостных измерениях, которые должны быть приняты как пакет (так что нет, я не буду давать 3 ответа):

    1. Время цикла
      • От концепции продукта до первого релиза или
      • От запроса функции до развертывания функции или
      • От обнаружения ошибок до разрешения
    2. Реализации бизнес-проблем (без этого все остальное не имеет значения).
      • P&L или
      • ROI или
      • Цель инвестирования
    3. Удовлетворенность клиентов

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

    2
    ответ дан 28 November 2019 в 04:01
    поделиться

    Возможно, вы сможете протестировать CodeHealer

    CodeHealer проводит углубленный анализ исходного кода, ищет проблемы в следующих областях:

    • Аудиты Правила контроля качества, такие как неиспользуемый или недоступный код, использование названий директив и ключевые слова как идентификаторы, идентификаторы скрывающий других с таким же именем в больше и больше.
    • Проверки Потенциальные ошибки, такие как неинициализированные или неотзывные. идентификаторы, опасный тип литья, автоматическое преобразование типов, неопределённый возвращаемые функции, неиспользованные значения назначенные значения, и многое другое.
    • Метрики Количественный анализ свойств кода, например, цикломатический сложность, связь между объектами (Сопряжение для абстракции данных), комментарий. соотношение, количество классов, линий код и многое другое.
    0
    ответ дан 28 November 2019 в 04:01
    поделиться

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

    1
    ответ дан 28 November 2019 в 04:01
    поделиться
    Другие вопросы по тегам:

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