Что эффективные пути состоят в том, чтобы зарегистрировать и отследить ошибки программирования?

Я решил это сам, используя обходной путь:

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

data(World, metro) 

# put population size pop2020 to NA for some cities
metro$pop2020[10:300] <- NA 

tm_shape(World) + tm_fill()+
  tm_shape(metro) + 
  tm_symbols(
    size = "pop2020",
    col = "black",
    title.size = "subtitle", 
    legend.size.is.portrait=TRUE) +
  tm_shape(metro[is.na(metro$pop2020),]) +
                 tm_dots(shape=4, size = 0.5, border.lwd = 0.5) +
  tm_layout(legend.bg.color = "gray", 
            legend.frame = "black") + 
    tm_add_legend(type="symbol", shape =4, labels = "not available", size = 0.5, border.lwd = 0.5, col = "black") 
10
задан Barrett 18 November 2008 в 04:15
поделиться

11 ответов

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

3
ответ дан 3 December 2019 в 21:23
поделиться

Это только полезно, если Вы на самом деле бдительны с отслеживанием и рассмотрением. Когда я работал над командой, неважно, насколько зарегистрированный, что, например, наши серверы в продуктивной среде были natted и не смогут разрешить свои собственные доменные имена или общедоступные IP-адреса, каждые 6 месяцев, я получил бы вызов в 4:00 от команды развертывания или команды разработчиков, что новый разработчик был ответственен за, и они или забыл или не знал.

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

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

8
ответ дан 3 December 2019 в 21:23
поделиться
  • какова была ошибка
  • как этого можно избежать

добавьте последнего к соответствующему контрольному списку и обращайтесь к нему так же часто как соответствующий

2
ответ дан 3 December 2019 в 21:23
поделиться

Да, отслеживание Ваших персональных ошибок выгодно. Обратитесь к SEI для многочисленных точек данных (вот тот наугад). Одна такая методология является Персональным программным процессом (PSP). Это слишком длинно для входа здесь, но здесь является книгой об этом. Существует также эта бесплатная публикация SEI по PSP.

Если Вы передумали относительно SEI и думаете Гибкие, способ пойти, Вы, вероятно, позволите сократить расход горючего из книги как Чистый Код: Руководство Гибкого Мастерства программного обеспечения (веб-сайт издателя).

Нижняя строка: дисциплинированный разработчик = хороший, недисциплинированный разработчик = плохо.

2
ответ дан 3 December 2019 в 21:23
поделиться

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

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

Кроме того, для добавления к вышеупомянутому до того, что собраться:

  • что является признаками ошибки (таким образом, можно найти его позже),
  • как Вы на самом деле решили его
2
ответ дан 3 December 2019 в 21:23
поделиться

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

0
ответ дан 3 December 2019 в 21:23
поделиться

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

Я так вдохновлен, я думаю, что попробую это завтра.

0
ответ дан 3 December 2019 в 21:23
поделиться

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

Как пример, я работал очень тесно со своим коллегой в предыдущей жизни. Однажды я был промежуточным через свое первое предложение, объяснив некоторое нечетное поведение, и он прервал, "увеличьте свой счетчик". Сегодня я все еще перепроверяю свои счетчики цикла!

0
ответ дан 3 December 2019 в 21:23
поделиться

"Какую информацию, связанную с моими ошибками, я должен отслеживать то, так, чтобы я мог улучшиться как программист?"

Считайте других людей блоги. Запишите свое собственное. Вы не должны публиковать его. Но действительно необходимо превратить каждую ошибку в историю.

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

Вот Ваша схема.

  • Контекст. Что продолжалось.
  • Ситуация. Проблема Вы пытались решить.
  • Что Вы сделали. Почему это было плохо.
  • Что необходимо было сделать. Почему это было лучше.
  • Что изменилось. Что Вы изучили.

Необходимо также записать успехи почти в той же форме.

  • Контекст. Что продолжалось.
  • Ситуация. Проблема Вы пытались решить.
  • Что Вы сделали. Почему это было хорошо.
  • Что Вы изучили.

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

0
ответ дан 3 December 2019 в 21:23
поделиться

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

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

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

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

Задним числом (который всегда является 20/20) Вы видите решение, которое было неправильным. Однако в то время, это было основано на наилучшей имеющейся информации. Это не ошибка. Любое предложение, которое начинается, "Если мы знали это X.." бесполезно для анализа ошибки. Можно попытаться записать контрольный список всех вещей, которые необходимо знать в следующий раз, когда Вы принимаете то решение. Но в следующий раз, Вы не будете делать точно, что решение и некоторая другая информация поднимут пропавших без вести.

  • Никогда не называйте ошибки действий других людей.
  • Найдите первопричины. Это - первопричина, когда это - что-то, чем Вы не можете управлять.
  • Задним числом не называйте информацию, которая подняла пропавших без вести ошибки.
0
ответ дан 3 December 2019 в 21:23
поделиться

Я думал то же самое. Пока я держу небольшую таблицу с исправленными мною ошибками. Цель этого - узнать о наиболее распространенных ошибках.

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

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

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

0
ответ дан 3 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

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