The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В рамках проекта Lwan развивается новый высокопроизводительн..."
Отправлено Аноним, 27-Апр-16 04:25 
> Привет эксперту по качеству кода от разработчика nginx.

Привет, эксперты по проприетари и секретам.

> Смею заверить, что качество кода является одним из первостепенных критериев,

В сабже это как-то сильно заметнее. Идем на https://github.com/lpereira/lwan (большая кнопка на их сайте на главной страничке). Там висит 4 билдстатуса. Статусы апдейтятся ботами, близко к реалтайму. Там и сканы coverity и прогон юнит-тестов. А на сайте расскажут про afl и asan/ubsan. Там сразу понятно что люди этим занимаются, а кто не знал - получит отсыл к паре хороших инструментов.

> опция -Werror используется по умолчанию.

Как остальные должны догадываться о том что у вас разработчики делают? Не говоря о том что у nginx самопальная система сборки и чтобы найти где это - надо отдельно повозиться.

> сборка и тестирование на десятках виртуальных машин

Где все это видно? Как это заявление проверить?

> Мы активно разрабатываем и поддерживаем набор функциональных тестов. Счет тестам идет на тысячи.

Но об этом только вы и знаете. Остальные об этом в лучшем случае могут догадываться.

> Можете свободно пользоваться и принять участие в разработке: http://hg.nginx.org/nginx-tests/

У меня на прицеле под пушистым кроликом и asan'ом уже есть парочка интересных мне проектов. Без коммерческих версий, зато с git'ом. Мне так больше нравится.

>  Покрытие кода тестами мониторится с помощью специального анализатора.

Где это видно окружающим?

> анализаторами, в том числе упомянутым вами Coverity еженедельно. Обнаруженные проблемы
> тут же рассматриваются и устраняются.

Бэджик coverity в вебе который апдейтится околореалтаймно, как у сабжа - сильно убедительнее.

> Для проверки соответствия формата типу переменных в функциях логгирования был написан и
> используется специальны плагин к clang.

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

> 24x7 трудится несколько машин с фаззингом и ASan-ом. О том, что несколько
> проблем было найдено таким способом можно узнать из коммит логов и на сайте afl-fuzz.

Для меня hg означает "пусть логи коммитов почитает кто-нибудь другой". Хотя у вас вроде и зеркало в гите есть. Но, как обычно, об этом никто не узнает.

> Периодически нас пытаются проверять ребята из PVS-Studio, о чем даже писали статью:
> http://www.viva64.com/ru/b/0246/

...
> которые по его мнению мешают nginx быть надежным, безопасным, производительным и
> функциональным веб-сервером.

Ок! Если все перечисленное правда - я пожалуй был неправ в моей оценке. Однако я нахожу такую конспирацию странной. Вроде все нормально делаете. А почему стесняетесь об этом рассказать?

> Жду также советов по улучшению качества кода и совершенствованию методов тестирования.

Из того что под руку попалось, разное:
1) Дайте задание вашим тестировщикам попробовать найти зеркало в git, зайдя на nginx.org и послушайте что они скажут. Опенсорс начинается с кода, так? Желательно в нормальной VCS. Но это - не про nginx, найти его исходник целый отдельный гемор. Для сравения, на https://lwan.ws кнопка с исходниками в нормальной vcs светится на самом видном месте.

2) Кстати, на https://nginx.org/ у вас вообще кто-нибудь пробовал заходить? Или вы своими сайтами не пользуетесь? Почему я спрашиваю? Спросите ваших QA. Они у вас есть? Их ничего не смущает? А у той командочки из полутора человек с этим все оки. Парадокс качества. Хоть и не кода.

3) Скажите, разработчикам nginx лениво набрать несколько букв? Или у них редактор автодополнение не умеет? Кто такие u, c, b, s и что там еще? Если это следует какому-то сильно местному convention - может хотя-бы это документировать на видном месте? А лучше бы называть переменные так чтобы было понятно что это. Ну то-есть если это вопрос жизни и смерти - в этом конечно можно разобраться, но...

4) Ну вот допустим нужно мне кастомно обработать запрос и что-то дернуть в системе, etc. Это немного специфичное желание, но бывает что "глупого" сервера чуть-чуть не хватило, сервер приложений - перебор, а у сабжа код который делает именно так, на сях, занимает половинку экрана, просто эпично. В гите есть более крутой пример, с sql и json, странички полторы. Nginx'у бы не помешал пример какого-нибудь максимально тривиального модуля в том же духе на видном месте.

5) Может быть я глупый, но все-таки. Nginx использует каую-то самобытную систему сборки. И я бы не сказал что мне очевидно как в нее добавить сборку какого-нибудь своего довеска.

6) Я не знаю как ваша политика партии относится к такому, но CI'ные статусы на публику вывесить и опубликовать как вы тестируетесь по моему было бы хорошей идеей.

А из-за 4) и 5) nginx вроде как бы и позволяет модули писать, но порог вхождения в десятки раз выше сабжа. Где пример не страшно выложить прямо на главной.

> Спасибо.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру