Команда PVS-Studio и наш продукт делают большой вклад в развитие качества программного обеспечения. Причем, помимо явного обнаружения ошибок в закрытых и открытых проектах, происходит косвенный вклад в развитие компиляторов и других инструментов анализа кода. Нам приятно, что мы иногда являемся законодателями мод и мы решили посвятить этому небольшую заметку в нашем блоге.
Читать полностью »
Рубрика «code review» - 2
PVS-Studio — двигатель прогресса
2019-08-20 в 13:26, admin, рубрики: .net core, C#, c++, code analysis, code review, coref, java, microsoft, open source, programming, pvs-studio, static code analysis, Блог компании PVS-Studio, открытый исходный код, статический анализ кодаPVS-Studio: Engine of Progress
2019-08-20 в 13:19, admin, рубрики: .net core, C#, c++, code analysis, code review, coref, java, microsoft, open source, programming, pvs-studio, static code analysis, Блог компании PVS-Studio
A PVS-Studio team and our product make a great contribution to upgrading of software quality. Moreover, in addition to detecting errors in closed and open source projects, there is an indirect contribution to the development of compilers and other tools of code analysis. We are pleased that in some cases we are trendsetters and we decided to dedicate a small note to this in our blog.
Читать полностью »
Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux
2019-08-06 в 8:23, admin, рубрики: C, c++, cmake, code review, devops, eclipse, linux, linux development, linux devops, make, makefile, pvs-studio, PVS-Studio for Linux, qmake, SAST, sonarqube, static code analysis, static code analyzer, waf, Блог компании PVS-Studio, качество кода, обзор кода, Разработка под Linux, Си, статический анализ кодаPVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux.
Установка
Установить PVS-Studio под Linux можно разными способами, в зависимости от типа дистрибутива. Наиболее удобный и предпочтительный способ – использование репозитория: так это позволяет автоматически обновлять анализатор при выходе новых версий. Второй вариант – использовать установочный пакет, который можно скачать здесь.
Читать полностью »
Общие компоненты силами разных команд. Доклад Яндекса
2019-07-21 в 10:17, admin, рубрики: code review, github, автоматические тесты, Блог компании Яндекс, интерфейсы, монорепозиторий, общий код, релизный цикл, тестирование, Тестирование веб-сервисов, управление разработкойСоздание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на базе GitHub с помощью Lerna и настроили Canary-релизы с внедрением в сервисы прямо в CI, что для этого понадобилось, а что ещё предстоит.
— Рад вас всех приветствовать. Меня зовут Владимир, я занимаюсь общими штуками в интерфейсах Яндекса. Про них и хочу поговорить. Наверное, если вы не очень глубоко пользуетесь нашими сервисами, у вас может возникнуть вопрос: что мы все верстаем? Что там верстать?
TypeScript и короткие спринты. Как мы делали инструмент вариативности интервью по фронтенду
2019-07-09 в 10:39, admin, рубрики: code review, docker, docker-compose, express.js, Git, mongodb, React, ReactJS, TypeScript, Блог компании Яндекс, интерфейсы, Разработка веб-сайтов, скрам
17 ноября 2018 года. Нас четверо. Настроение у всех приподнятое — прошли первый этап ШРИ, Школы разработки интферфейсов. Он состоял из лекций и домашних заданий: осваивали разные фронтендерские и околофротендерские технологии, инструменты, Скрам. Знали, что всё это придётся применять в боевом проекте на втором этапе. Но одно дело знать, и другое — действительно реализовать этот проект за ближайшие 5 недель.
А компетентен ли советчик? Проблемы рекомендации «не изобретай велосипед»
2019-05-06 в 18:52, admin, рубрики: code review, как не надо делать, коммуникации, образование, Социальные сети и сообщества, эффективное общениеДовольно часто приходится встречать рекомендацию "не изобретать велоcипед". Иногда с ярко выраженным пренебрежением и самоутверждением, иногда, якобы, как дельный совет. Однако, пусть и призванная быть советом, данным из благих побуждений, в ряде контекстов она лишь показывает некомпетентность говорящего.
Вкладываемое назначение фразы — уберечь от выполнения бесполезной работы, призыв воспользоваться готовым решением для поставленной задачи, и с точки зрения стороннего наблюдателя действительно выглядит разумно.
Но при этом из внимания упускается ключевой фактор, характерный не только для разработки програмнного обеспечения, но и решения любых задач: при изменении контекста, в котором задана задача, изменяется и решение.
Упустить из виду этот принцип, все равно, что признаться в собственной неспособности решать прикладные задачи.
Рассмотрим несколько случаев.
Как сделать код-ревью быстрее и эффективнее
2019-03-12 в 11:26, admin, рубрики: code review, open source, php, Блог компании Skyeng, Программирование, Проектирование и рефакторинг, управление разработкой
Как обычно происходит код-ревью? Вы отправляете пул-реквест, получаете обратную связь, вносите исправления, отправляете фиксы на повторный ревью, затем получаете одобрение, и происходит мерж. Звучит просто, но на деле процесс ревью бывает очень трудоемким.
Представьте, что у вас есть пул-реквест с сотнями строк изменений. Ревьюер должен потратить немало времени, чтобы полностью прочитать код и понять предлагаемые изменения. В результате весь процесс от создания пул-реквеста до его утверждения может занять несколько дней — в этом мало приятного и для ревьюера, и для автора изменений. И велики шансы, что в итоге ревьюер все равно что-то упустит. Или проверка может быть слишком поверхностной, а в худшем случае пул-реквест вообще может быть сразу отклонен.
Получается, что чем объемнее пул-реквест, тем меньше пользы будет от его проверки.
Читать полностью »
I ruin developers’ lives with my code reviews and I’m sorry
2019-02-18 в 13:00, admin, рубрики: code review, Карьера в IT-индустрии, управление персоналом
Once upon a time there was a guy on my team so weak that he was going to be fired (a developer! Fired!). Every comment of mine was another nail in his coffin. I could almost hear the bang of the hammer every time I clicked “Submit review”. He was a nice person and I almost felt bad for him, but it didn’t stop me from tearing his work to shreds. I had an inalienable right to criticize his work, right? I’m a better developer, therefore I’m right. No one wants to say that bad code is good, right? He was eventually fired, not before leaving him without the customary bonus for a couple months.
I said to myself: “I’m not going to do his work, right? He was taking the place of a more talented developer. I did everything right”. But then I received another pull request for a review, and something changed. Drastically.
Читать полностью »