Для получения триального ключа
заполните форму ниже
Team License (базовая версия)
Enterprise License (расширенная версия)
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

** На сайте установлена reCAPTCHA и применяются
Политика конфиденциальности и Условия использования Google.
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
GBP
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

** На сайте установлена reCAPTCHA и применяются
Политика конфиденциальности и Условия использования Google.
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

** На сайте установлена reCAPTCHA и применяются
Политика конфиденциальности и Условия использования Google.
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

** На сайте установлена reCAPTCHA и применяются
Политика конфиденциальности и Условия использования Google.
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

** На сайте установлена reCAPTCHA и применяются
Политика конфиденциальности и Условия использования Google.
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

>
>
Как разработчики могут помочь в борьбе …

Как разработчики могут помочь в борьбе с коронавирусом - продолжение

17 Мар 2020

В блоге Fluent{C++} появилась заметка "How Can Developers Help Fight Coronavirus?". У нас есть практическое соображение на эту тему, хотя напрямую оно и не связано с COVID-19. Если программистам хочется сделать что-то полезное, то предлагаем направить их усилия в целом на развитие исследовательских библиотек в сфере медицины и прикладных приложений. По крайней мере, если даже разработчики не смогут добавить новую функциональность, они могут поработать над качеством этих проектов.

0717_Coronavirus_ru/image1.png

Итак, вот исходная статья, которая привлекла моё внимание: How Can Developers Help Fight Coronavirus? Высказывается мысль, что если кто-то знает программные проекты, которые как-то связаны (напрямую или косвенно) с оказанием помощи больным COVID-19, то можно помочь их развитию.

Сразу честно скажу, что таких проектов я не знаю. Однако если хочется сделать что-то полезное, то можно обратить внимание просто на открытые проекты, связанные с медициной. Пусть это не поможет конкретно борьбе с COVID-19, но зато с пользой будет использована энергия волонтёров-программистов.

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

Особенность подобных проектов в том, что их сложно развивать, не будучи погруженным в предметную область. Например, я не представляю, как можно развивать исследовательскую библиотеку, улучшая возможности по исследованию пептидов. Я даже не знаю что такое эти пептиды. Однако можно делать мир лучше, хотя бы исправляя ошибки и проводя рефакторинг. Да, C++ программист может не знать что такое пептиды, но зато он знает, что вот такие циклы работают неправильно:

bool Peptide::operator==(Peptide& p) {
  ...
  for (i = 0, j = 0;
       i < this->stripped.length(), j < p.stripped.length();
       i++, j++) { 
  ...
}

Это не придуманный фрагмент кода. Этот код из библиотеки Trans-Proteomic Pipeline (TPP), предназначенной для изучения белков и их взаимодействия в живых организмах. Я писал про эту и другие подобные ошибки в статье "Проверка проекта Trans-Proteomic Pipeline (TPP)".

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

Для поиска ошибок, как один из создателей PVS-Studio, я, естественно, предлагаю использовать именно этот статический анализатор кода. С его помощью можно улучшить код проектов на языке C, C++, C#, Java. В свою очередь, наша команда готова оказать поддержку энтузиастам, помочь настроить анализатор, интегрировать его в процесс сборки и так далее. Смело пишите нам.

Предоставляется несколько вариантов бесплатного лицензирования. Например, если вы планируете использовать PVS-Studio для открытого проекта на GitHub, то вы просто получаете на год бесплатную лицензию и начинаете работать.

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

Сделаем мир чуть лучше. Предлагаю делиться ссылками на различные медицинские проекты, пусть и не связанные именно с COVID-19. И можно поработать над их улучшением.

Популярные статьи по теме
PVS-Studio ROI

Дата: 30 Янв 2019

Автор: Андрей Карпов

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

Дата: 22 Окт 2018

Автор: Андрей Карпов

PVS-Studio, как и другие статические анализаторы кода, часто выдаёт ложные срабатывания. Но не стоит спешить считать странные срабатывания ложными. Это короткая история о том, как PVS-Studio вновь ок…
Главный вопрос программирования, рефакторинга и всего такого

Дата: 14 Апр 2016

Автор: Андрей Карпов

Вы угадали, ответ - "42". Здесь приводится 42 рекомендации по программированию, которые помогут избежать множества ошибок, сэкономить время и нервы. Автором рекомендаций выступает Андрей Карпов - тех…
Характеристики анализатора PVS-Studio на примере EFL Core Libraries, 10-15% ложных срабатываний

Дата: 31 Июл 2017

Автор: Андрей Карпов

После большой статьи про проверку операционной системы Tizen мне было задано много вопросов о проценте ложных срабатываний и о плотности ошибок (сколько ошибок PVS-Studio выявляет на 1000 строк кода)…
Зло живёт в функциях сравнения

Дата: 19 Май 2017

Автор: Андрей Карпов

Возможно, читатели помнят мою статью под названием "Эффект последней строки". В ней идёт речь о замеченной мной закономерности: ошибка чаще всего допускается в последней строке однотипных блоков текс…
Технологии, используемые в анализаторе кода PVS-Studio для поиска ошибок и потенциальных уязвимостей

Дата: 21 Ноя 2018

Автор: Андрей Карпов

Краткое описание технологий, используемых в инструменте PVS-Studio, которые позволяют эффективно обнаруживать большое количество паттернов ошибок и потенциальных уязвимостей. Статья описывает реализа…
Как и почему статические анализаторы борются с ложными срабатываниями

Дата: 20 Мар 2017

Автор: Андрей Карпов

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

Дата: 16 Окт 2017

Автор: Андрей Карпов

Я в шоке от возможностей статического анализа кода, хотя сам участвую в разработке инструмента PVS-Studio. На днях я был искренне удивлён тому, что анализатор оказался умнее и внимательнее меня.
PVS-Studio для Java

Дата: 17 Янв 2019

Автор: Андрей Карпов

В седьмой версии статического анализатора PVS-Studio мы добавили поддержку языка Java. Пришло время немного рассказать, как мы начинали делать поддержку языка Java, что у нас получилось и какие дальн…
Статический анализ как часть процесса разработки Unreal Engine

Дата: 27 Июн 2017

Автор: Андрей Карпов

Проект Unreal Engine развивается - добавляется новый код и изменятся уже написанный. Неизбежное следствие развития проекта - появление в коде новых ошибок, которые желательно выявлять как можно раньш…

Комментарии (0)

Следующие комментарии

На сайте установлена reCAPTCHA и применяются
Политика конфиденциальности и Условия использования Google.
Этот сайт использует куки и другие технологии, чтобы предоставить вам более персонализированный опыт. Продолжая просмотр страниц нашего веб-сайта, вы принимаете условия использования этих файлов. Если вы не хотите, чтобы ваши данные обрабатывались, пожалуйста, покиньте данный сайт. Подробнее →
Принять