2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Автоматическая проверка качества программного кода
Сообщение28.05.2015, 23:24 
Аватара пользователя


01/12/11

8634
Приветствую вас всех, дорогие форумчане!
Давненько не виделись.

Довольно любопытная заметка
Попалась только что мне на глаза:
http://geektimes.ru/post/251088/

Как-то трудно представить себе автоматическую проверку качества кода. Ведь с такой проверкой не всегда может справиться даже человек, а что уж говорить о машине. Да и само понятие "качество кода" немного туманно. Как оценить, скажем, качество кода Counter Strike? :D

В общем, хотелось бы знать, кто что думает по теме.

 Профиль  
                  
 
 Re: Автоматическая проверка качества программного кода
Сообщение28.05.2015, 23:31 
Заслуженный участник


09/05/12
25179
Ktina в сообщении #1020871 писал(а):
Как-то трудно представить себе автоматическую проверку качества кода. Ведь с такой проверкой не всегда может справиться даже человек, а что уж говорить о машине.
Одно другому не мешает. То, что в сложных случаях с такой задачей не может справиться и человек, совсем не исключает возможности массового использования таких проверок для выявления простых ошибок.

И, в общем-то, предупреждения (warnings), выдаваемые компиляторами - это как раз результат простейших проверок такого рода.

 Профиль  
                  
 
 Re: Автоматическая проверка качества программного кода
Сообщение29.05.2015, 00:14 


17/10/08

1313
Можно сказать, что это стандартная задача Data Mining...

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

Скажем, Microsoft использует 5 метрик:
https://msdn.microsoft.com/en-us/library/bb385914.aspx

 Профиль  
                  
 
 Re: Автоматическая проверка качества программного кода
Сообщение29.05.2015, 00:28 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Первая трудность тут в том, что под каждый язык надо писать свой анализатор. Вопрос - сколько анализаторов и на какие языки они сделали. Ну и естественно, для каждого языка надо брать эксперта по языку и уточнять у него специфические для языка вещи.
Второй существенный момент - качество просеивания. Точнее, качество кода тех, кто просеется. В принципе, можно выделить общие для всех языков антипаттерны: константы в коде, подавление или необработка исключений, форматирование и т. п. - все, что компилятор не имеет права зарубить. Такая проверка просто отсеет совсем уж трешовый код. Чем более качественный код нужен, тем больше придется попотеть, но ведь типичные антипаттерны очень хорошо описаны...
В общем, не вижу большой проблемы.

 Профиль  
                  
 
 Re: Автоматическая проверка качества программного кода
Сообщение29.05.2015, 14:51 
Заслуженный участник


15/05/05
3445
USA
Несколько десятилетий назад появились метрики для оценки качества кода (Метрика программного обеспечения). Метрики эти не оценивают код содержательно, только по формальным критериям. Но для HR этого вполне достаточно, по крайней мере для предварительного отбора кандидатов.

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

Статья по теме: Средство оценки качества кода в MS Visual Studio

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group