• Разработка через тестирование
• Эмпирическое исследование влияния лямбда-выражений C ++ и опыта программистов
• Качество программного обеспечения — традиционное и гибкое: эмпирическое исследование
Иногда новости достаточно хорошо сообщаются в других местах, и нам нечего добавить, кроме как обратить на это ваше внимание.
Без комментариев — это формат, в котором мы представляем исходную информацию об источнике, слегка отредактированную, чтобы вы могли решить, хотите ли вы следить за ней.
Учитывая, насколько популярны разработки и тесты, основанные на тестах, можно подумать, что у нас есть достоверные данные о том, насколько лучше этот подход. Новое исследование проливает свет на этот вопрос. Кажется, что TDD не сильно отличается, но все же есть повод поспорить:
Разработка через тестирование
Разработка через тестирование (TDD) — это гибкая практика, призванная улучшить качество программного продукта, а также производительность его разработчиков. В предыдущем исследовании (т. Е. Базовом эксперименте) в Университете Оулу (Финляндия) TDD сравнивался с подходом, основанным на последней разработке (TLD), посредством рандомизированного контролируемого исследования. Результаты не подтвердили утверждения.
Мы хотим подтвердить первоначальные результаты исследования, воспроизведя их в Университете Базиликаты (Италия), используя другой дизайн. Метод. Мы повторили базовый эксперимент, используя кроссоверный дизайн, с 21 аспирантом. Мы сохранили настройки и контекст как можно ближе к базовому эксперименту. Чтобы ограничить предвзятость исследователей, мы привлекли два других сайта (UPM, Испания и Brunel, Великобритания) для проведения слепого анализа данных.
Тесты Краскала-Уоллиса не показали какой-либо существенной разницы между TDD и TLD с точки зрения усилий по тестированию (p-значение = 0,27), качества внешнего кода (p-значение = 0,82) и производительности разработчиков (p-значение = 0,83. ). Тем не менее, наши данные выявили разницу, основанную на порядке применения TDD и TLD, но без эффекта переноса.
Выводы: мы проверяем результаты базового исследования, однако наши результаты вызывают опасения относительно выбора экспериментальных объектов, особенно в отношении их взаимодействия с порядком применения обработок.
Лямбды также являются горячей темой и быстро вводятся практически на всех языках, обладающих достаточной синтаксической гибкостью, даже в тех, которые даже не нуждаются в лямбдах. Так стоит ли прилагать усилия? Новое исследование показывает, что нет. Если вы хотите прочитать всю газету, то плохая новость в том, что она ужасно скрыта за платным доступом.
Эмпирическое исследование влияния лямбда-выражений C ++ и опыта программистов
Лямбда-выражения все чаще используются в основных языках программирования, особенно в Java 8 и C ++ 11. Хотя технические аспекты лямбда-выражений известны, мы провели первое рандомизированное контролируемое испытание влияния лямбда-выражений C ++ 11 на человеческий фактор по сравнению с итераторами. Поскольку в последнее время ведутся дискуссии о привлечении студентов или профессионалов к экспериментам, мы наняли студентов из разных академических кругов и профессиональных программистов, чтобы оценить эти результаты в более широком контексте.
Результаты вызывают некоторые сомнения в том, что лямбда-выражения приносят пользу разработчикам, и показывают, что студенты испытывают негативное влияние в отношении того, насколько быстро они могут писать правильные программы в соответствии со спецификацией теста и могут ли они выполнить задачу. Анализ данных журнала показывает, что участники тратили больше времени на ошибки компилятора и имели больше ошибок при использовании лямбда-выражений по сравнению с итераторами, что указывает на трудности с синтаксисом, выбранным для C ++.
Наконец, опытные пользователи с большей вероятностью выполняли задачи, с лямбда-выражениями или без них, и могли делать это быстрее, имея опыт как фактор, объясняющий 45,7% дисперсии в нашей выборке в отношении времени выполнения.
Наш последний исследовательский отчет касается давних, довольно старых аргументов в пользу традиционного развития корней.
Качество программного обеспечения — традиционное и гибкое: эмпирическое исследование
Хорошо известно, что программный процесс влияет на качество конечного продукта. Есть также неофициальные заявления о том, что гибкие процессы приводят к более высокому уровню качества, чем традиционные методологии. Однако до сих пор веских доказательств этому нет.
Эта работа представляет собой эмпирический анализ корреляции между программным процессом и качеством программного обеспечения с особым упором на гибкие и традиционные процессы.
Более 100 разработчиков и инженеров программного обеспечения из 21 страны были опрошены с помощью онлайн-анкеты. В качестве основной зависимой переменной мы использовали процент довольных клиентов, оцененный разработчиками и инженерами программного обеспечения.
Результаты свидетельствуют о некоторых интересных закономерностях: архитектурные стили могут не иметь значительного влияния на качество, гибкие методологии могут приводить к более счастливым клиентам, более крупные компании и более короткие проекты, похоже, создают более качественные продукты.
Чтобы быть в курсе новых статей на I Programmer, подпишитесь на нашу еженедельную рассылку новостей, подпишитесь на RSS-канал и подпишитесь на нас в Twitter, Facebook, Google+ или Linkedin.
Комментарии
Оставьте комментарий или просмотрите существующие комментарии с помощью Disqus