Сколько ошибок слишком многие? [закрытый]

Ваше выражение

<xsl:value-of select="Book/languaje"/>

выделяет все текстовое содержимое элемента languaje, который содержит

  1. узел text() и
  2. а [ 118] элемент с самим узлом text()
  3. и другим узлом text()

Возможно, вам нужны узлы text()[1] (1) и text()[2] (3). [тысяча сто тридцать одна]


Если вы можете использовать XSLT-2.0 или выше, вы можете просто сделать это, используя расширенную функциональность xsl:value (опционально с разделителем), которая может обрабатывать более одного значения сразу:

<xsl:value-of select="Book/languaje/text()" />
<час>

Если вы ограничены XSLT-1.0 и, следовательно, XPath-1.0, xsl:value может обрабатывать только одно значение за раз. Но у вас есть по крайней мере три возможности:

  1. Цикл по узлам text() элементов languaje:

    <xsl:for-each select="Book/languaje/text()">
        <xsl:value-of select="."/>
    </xsl:for-each>
    
  2. Применить стандартный шаблон на всех узлах languaje text():

    <xsl:apply-templates select="Book/languaje/text()" />
    
  3. Примените стандартный шаблон к элементу languaje в сочетании с пустым шаблоном для [ 1120] элемент:

      <xsl:apply-templates select="Book/languaje" />
    
    <!-- And on the template level the following -->  
    <xsl:template match="languaje/previous" />
    

Результат всех трех подходов должен быть одинаковым:

'ESP'+'' = 'ESP'
17
задан 3 revs, 2 users 100% 17 February 2011 в 05:44
поделиться

18 ответов

Количество ошибок менее важно, чем отрезок времени, который требуется для обнаружения их. Чем дольше это берет для идентификации ошибки, тем более дорого будет разыскать и зафиксировать, и более вероятно случится так, что фиксация для той ошибки могла бы повредить что-то еще. Протестируйте рано и Тест часто (TEATO?) лучший подход.

0
ответ дан 28 September 2019 в 11:43
поделиться

Волосы в супе - слишком многие и в голове лишь немногие. Все это зависит

80
ответ дан 28 September 2019 в 11:43
поделиться

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

я лично считаю положительным поведением для разработчиков найти как можно больше ошибок в их программном обеспечении. Конечно, я говорю о профессиональных и компетентных разработчиках - это не оставляющий внутри использования, прослушивает их для приобретения одобрения таким образом. Но если я получаю 1 ошибку для того же объема кода, что другой разработчик раскапывает 10 ошибок, я не посмотрел бы вниз в этом разработчике особенно, если мы рассматриваем "большие" проекты

0
ответ дан 28 September 2019 в 11:43
поделиться

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

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

0
ответ дан 28 September 2019 в 11:43
поделиться

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

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

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

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

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

0
ответ дан 28 September 2019 в 11:43
поделиться

Его твердое для высказывания, сколько ошибки много. Я думаю, что метрики, включающие X ошибок на строки кода Y, столь же испорчены как любая метрика с помощью строк кода (например: измерение производительности).

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

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

0
ответ дан 28 September 2019 в 11:43
поделиться

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

Как кто-то еще предложенный, мы не можем действительно сказать для Вашей ситуации, если бы 10 ошибок - слишком многие, потому что мы должны были бы знать тип ошибок. Я предложил бы, чтобы Вы посмотрели на типы ошибок, которые Вы создаете, чтобы видеть, существуют ли какие-либо общие черты. Разве Вы не поняли требований? Были ли многие прочь ошибками? Логические ошибки? и т.д... Затем оцените, являются ли они ошибками, которые необходимо было поймать. Если так, выясните способ не ввести те типы ошибок в следующий раз.

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

Кто-то указал, что 3 или 4 погрешности на kSLOC являются средними, который кажется высоким также меня, но я был на проектах, которые были хуже (поэтому, возможно, это не). Однако те те же проекты не имели очень хороших разработчиков также. IMO, если это не неясная ошибка или неверное истолкование затем ошибка, не должен быть в коде. Если это затем, Вы не делаете своего задания правильно. Таким образом, возможно, 10 слишком многие, возможно, не, это зависит от типов ошибок, которые Вы создаете.

1
ответ дан 28 September 2019 в 11:43
поделиться

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

я предполагаю, что Вы проводите 3 месяца, пишущий и ошибки открытия, и что Ваш конечный результат после 3 месяцев работы имел 10 ошибок. Это в порядке. Я не обязательно сказал бы, что это хорошо или плохо - это зависит от того, сколько из Ваших 3 месяцев Вы тратите исправляющие ошибки. Если Вы просто выкладываете код в течение 3 месяцев и затем регистрируете его, 1) Вы делаете его неправильно и 2) это довольно удивительно. Если, однако, Вы проводите те 3 месяца, проверяя Ваш код и удостоверяясь, что он работает, который я подозреваю, что Вы, я мог бы предложить тратить просто мало [еще 111] время, проверив его для избавлений от по крайней мере 5 из тех 10 ошибок. Если они - угловые случаи, которые происходят только с неправильной, редкой комбинацией исходных данных, то это несколько простительно, но если они довольно распространены, необходимо полагать, что взятие небольшого дополнительного времени разыскивает их.

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

1
ответ дан 28 September 2019 в 11:43
поделиться

Это очень субъективно: тривиальная ошибка одного человека могла бы быть блокировщиком кому-то еще или даже функцией другому. Могло бы случиться так, что требования не были ясны или корректны, и это было отражено в коде и взято тестерами. Качество Ваших тестеров также играет роль, чем лучше они, тем более соответствующие дефекты они найдут.

1
ответ дан 28 September 2019 в 11:43
поделиться

Как грубая метрика, трехмесячный проект является 25 000-50 000 строками кода, и таким образом, необходимо ожидать находить десять ошибок на 1 000 строк во внутреннем тестировании, таким образом, 100-500 ошибок были бы типичны.

, Если Ваш внутренний испытательный цех сообщает о 0,2 строках ошибок/1000 для того, что походит на сольное усилие (кто-либо кодировал, рассматривают его?), тогда или Вы очень хороши, или они очень не достаточно полны.

3
ответ дан 28 September 2019 в 11:43
поделиться

То, насколько взволнованный необходимо быть, действительно зависит от вида ошибок, которые они. То, насколько серьезный они и как, вероятно, это - Вы, должно было определить их перед тестерами.

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

3
ответ дан 28 September 2019 в 11:43
поделиться

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

http://amartester.blogspot.com/2007/04/bugs-per-lines-of-code.html

2
ответ дан 28 September 2019 в 11:43
поделиться

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

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

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

См. также: количество WTFs в минуту .

4
ответ дан 28 September 2019 в 11:43
поделиться

Это действительно зависит. Firefox имеет приблизительно 15 000 ошибок, но это считается довольно применимым. С другой стороны, я не хотел бы иметь ошибку в своем кардиостимуляторе.

10
ответ дан 28 September 2019 в 11:43
поделиться

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

Что касается проектов с коротким циклом регистрации лично я думаю, что каждая ошибка - слишком многие. Всегда исправляйте ошибки прежде, чем написать новый код (#5 в Тест Joel ).

7
ответ дан 28 September 2019 в 11:43
поделиться

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

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

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

11
ответ дан 28 September 2019 в 11:43
поделиться

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

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

5
ответ дан 28 September 2019 в 11:43
поделиться

Количество "внешних" ошибок для программиста на 1'000 строк кода (KLOC) является константой. Число варьируется от 3-4 для очень хороших программистов к 10 для средних программистов к "партиям".

Это означает: Для каждых 1 000 строк кода Вы найдете, что много "ошибок" (от глупых опечаток в строке к полностью f *** кодируют в методе к катастрофическому дизайну, который приводит к полной перезаписи).

Примечание, что мы обычно делаем намного больше ошибок, но чем лучше программист добирается, тем больше ошибок они находят, прежде чем код оставляет их стол (следовательно "внешние" ошибки-> ошибки, которые другие люди находят). Кроме того, хорошие программисты будут склонны делать немного катастрофических ошибок и более "глупых" ошибок (которые легко зафиксировать, но более смущающий: "как я мог наблюдать за этим?").

Интересно, количество ошибок является постоянным относительно языка, таким образом, очень хорошие ассемблерные программисты делают 4 bugs/KLOC, таким образом, очень хорошие программисты C делают 4 bugs/KLOC, таким образом, очень хорошие программисты Java делают 4 bugs/KLOC, и т.д.

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

Теперь к вопросу, "когда там слишком много ошибок?" Предпримите шаги назад. Как Вы разрабатываете, у Вас будет много ошибок (большинство из них внутренний). Конечный продукт будет иметь меньше ошибок, потому что большинство будет найдено во время разработки. Это означает, что имеет значение , когда Вы смотрите. Это также означает, что количество ошибок по сути не является хорошим признаком "здоровья".

Для расчета нашего, когда проект начинает заболеть необходимо или считать ошибки так или иначе (сколько строк имеет меня записанный, сколько сделали ошибки я нахожу, сколько могло я фиксировать). Это - большое усилие и часто имеет отрицательный ROI. Эти вещи трудно измерить, и это занимает время для записи ошибок, которые Вы находите где-нибудь, и это все отвлекает Вас от Вашей цели: Напишите код.

Мой подход, чтобы начать писать больше тестов, когда больше ошибок вырастает. Чувствовавшая сумма "ошибочности" (или беспокойство на моей стороне) является хорошим признаком, неправильно ли что-то. Таким образом, если Вы чувствуете создание двух новых ошибок с каждой строкой кода это - верный сигнал, что что-то имеет, чтобы быть сделанным. Если Вы пишете много строк кода, и все встает на свое место, как будто волшебством, то, почему напрасно тратят время при измерении, как хорошо все идет?

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

[РЕДАКТИРОВАНИЕ] Некоторые ссылки с информацией, где я получил свои числа:

20
ответ дан 28 September 2019 в 11:43
поделиться
Другие вопросы по тегам:

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