zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#assert

0 posts0 participants0 posts today
Habr<p>Design by Contract на минималках: пишем assertions и улучшаем устойчивость на Go</p><p>Всем привет! Меня зовут Александр Иванов, я старший разработчик в YADRO, работаю над созданием средств управления элементами опорной сети и пишу на Go. Мы с командой разрабатываем продукт для сервисов сотовой связи — качество нашей работы влияет на пользовательский опыт тысяч людей. Поэтому часто мы ищем решения, как повысить устойчивость работы кода в продакшене. Об одном из таких решений я расскажу в этой статье. Design by Contract — подход к проектированию ПО, в котором взаимодействие компонентов системы основано на контрактах. Контракты описывают ожидания вызываемой и вызывающей функции и улучшают производительность кода.</p><p><a href="https://habr.com/ru/companies/yadro/articles/888374/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yadro/ar</span><span class="invisible">ticles/888374/</span></a></p><p><a href="https://zhub.link/tags/dbc" class="mention hashtag" rel="tag">#<span>dbc</span></a> <a href="https://zhub.link/tags/design_by_contract" class="mention hashtag" rel="tag">#<span>design_by_contract</span></a> <a href="https://zhub.link/tags/defensive_programming" class="mention hashtag" rel="tag">#<span>defensive_programming</span></a> <a href="https://zhub.link/tags/assertion" class="mention hashtag" rel="tag">#<span>assertion</span></a> <a href="https://zhub.link/tags/assert" class="mention hashtag" rel="tag">#<span>assert</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%BA%D1%88%D0%B5%D0%BD" class="mention hashtag" rel="tag">#<span>продакшен</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>производительность</span></a></p>
Habr<p>Почему мы отказались от выражения «assert» в Python</p><p>В текущем проекте на Python мы практически полностью отказались от использования выражений с ключевым словом assert , и в этой статье я расскажу почему. Рассмотрим кейсы где использование выражений assert уместно, а где оно может выстрелить в ногу, и как этого избежать.</p><p><a href="https://habr.com/ru/articles/876170/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/876170/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a> <a href="https://zhub.link/tags/assert" class="mention hashtag" rel="tag">#<span>assert</span></a> <a href="https://zhub.link/tags/exception" class="mention hashtag" rel="tag">#<span>exception</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>исключения</span></a> <a href="https://zhub.link/tags/pytest" class="mention hashtag" rel="tag">#<span>pytest</span></a> <a href="https://zhub.link/tags/pydantic" class="mention hashtag" rel="tag">#<span>pydantic</span></a> <a href="https://zhub.link/tags/%D0%BB%D0%B8%D0%BD%D1%82%D0%B5%D1%80" class="mention hashtag" rel="tag">#<span>линтер</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80" class="mention hashtag" rel="tag">#<span>интерпретатор</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B0%D0%B3%D0%B8" class="mention hashtag" rel="tag">#<span>баги</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>ошибки</span></a></p>
Habr<p>Эволюция Assert&#39;a на примере тестирования вездехода из Звездных Войн</p><p>Привет, Хабр! Меня зовут Михаил Палыга, я инженер в Блоке обеспечения и контроля качества выпуска изменений ПО в РСХБ‑Интех. На проекте для проверки данных мы пользуемся библиотекой AssertJ — Java библиотекой с открытым исходным кодом, используемой для написания гибких, содержательных и легко читаемых проверок в тестах Java. Мы любим использовать цепочки методов в других наших классах, поэтому данная библиотека органично вписалась в код наших тестов. Я опишу, как со временем менялся наш подход к проведению проверок данных и как менялись сами классы проверок. А чтобы было чуть проще и интересней — займемся тестированием чего‑нибудь из вселенной Звездных Войн. Например, протестируем имперский бронированный транспортный вездеход AT‑AT.</p><p><a href="https://habr.com/ru/companies/rshb/articles/859364/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/rshb/art</span><span class="invisible">icles/859364/</span></a></p><p><a href="https://zhub.link/tags/%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>автоматизация_тестирования</span></a> <a href="https://zhub.link/tags/assertj" class="mention hashtag" rel="tag">#<span>assertj</span></a> <a href="https://zhub.link/tags/assert" class="mention hashtag" rel="tag">#<span>assert</span></a></p>
Habr<p>[Перевод] Soft Assertions в AssertJ</p><p>Бывало ли у вас такое, что тест падает на первом же assertion&#39;e из десяти? Вы исправляете ошибку, запускаете тест снова, и он падает на втором assertion&#39;e. И так десять раз. Выматывает, не так ли? На самом деле, есть способ ускорить этот процесс — использовать Soft Assertions. С их помощью тест выполнится полностью, даже если один или несколько assertion&#39;ов упадут, и вы сразу увидите все ошибки. В новой статье от Михаила Поливахи, эксперта сообщества Spring АйО , вы узнаете, что такое Soft Assertions и как ими пользоваться.</p><p><a href="https://habr.com/ru/companies/spring_aio/articles/832432/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/spring_a</span><span class="invisible">io/articles/832432/</span></a></p><p><a href="https://zhub.link/tags/spring" class="mention hashtag" rel="tag">#<span>spring</span></a> <a href="https://zhub.link/tags/springboot" class="mention hashtag" rel="tag">#<span>springboot</span></a> <a href="https://zhub.link/tags/java" class="mention hashtag" rel="tag">#<span>java</span></a> <a href="https://zhub.link/tags/assert" class="mention hashtag" rel="tag">#<span>assert</span></a> <a href="https://zhub.link/tags/assertj" class="mention hashtag" rel="tag">#<span>assertj</span></a></p>
Habr<p>Почему проверять результат вызова malloc c помощью assert плохая идея</p><p>Указатель, который вернула функция malloc, необходимо проверить перед использованием. Неправильным решением будет использовать для этого макрос assert. В этой статье мы разберём, почему это является антипаттерном.</p><p><a href="https://habr.com/ru/companies/pvs-studio/articles/794997/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pvs-stud</span><span class="invisible">io/articles/794997/</span></a></p><p><a href="https://zhub.link/tags/malloc" class="mention hashtag" rel="tag">#<span>malloc</span></a> <a href="https://zhub.link/tags/assert" class="mention hashtag" rel="tag">#<span>assert</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B" class="mention hashtag" rel="tag">#<span>макросы</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B8" class="mention hashtag" rel="tag">#<span>си</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B8" class="mention hashtag" rel="tag">#<span>си</span></a>++ <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="tag">#<span>качество_кода</span></a> <a href="https://zhub.link/tags/%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%B5_%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B8" class="mention hashtag" rel="tag">#<span>нулевые_указатели</span></a></p>