{"id":258104,"date":"2022-06-21T15:42:00","date_gmt":"2022-06-21T14:42:00","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=qodana&#038;p=258104"},"modified":"2025-09-18T13:02:36","modified_gmt":"2025-09-18T12:02:36","slug":"apresentando-o-qodana-a-plataforma-de-qualidade-de-codigo-para-seu-ci-favorito","status":"publish","type":"qodana","link":"https:\/\/blog.jetbrains.com\/pt-br\/qodana\/2022\/06\/apresentando-o-qodana-a-plataforma-de-qualidade-de-codigo-para-seu-ci-favorito\/","title":{"rendered":"Apresentando o Qodana: a plataforma de qualidade de c\u00f3digo para seu CI favorito"},"content":{"rendered":"\n<p>Encontrar problemas de c\u00f3digo depois de compilar ou executar seu projeto \u00e9 algo que acontece com todos os desenvolvedores. Se for um problema menor, como um erro de estilo, n\u00e3o \u00e9 um problema t\u00e3o urgente para corrigir. Por\u00e9m, as coisas podem ficar complicadas quando surgem bugs cr\u00edticos que podem afetar os servi\u00e7os da sua empresa e atrasar seu workflow de desenvolvimento. Especialmente para equipes que contam com um grande n\u00famero de desenvolvedores. Voc\u00ea precisa garantir a qualidade de todo o seu projeto antes que seja tarde demais.<\/p>\n\n\n\n<p>Temos o prazer de anunciar que existe uma maneira f\u00e1cil de fazer isso. Apresentando o <a href=\"https:\/\/www.jetbrains.com\/qodana\" target=\"_blank\" rel=\"noreferrer noopener\">Qodana<\/a>! Uma plataforma de qualidade de c\u00f3digo que ajuda a simplificar o processo de controle de qualidade, garantir a integridade do seu projeto e manter seu c\u00f3digo altamente sustent\u00e1vel.<\/p>\n\n\n\n<p>O Qodana configura port\u00f5es de qualidade diretamente em um pipeline de CI\/CD de sua escolha para garantir que nenhum problema no c\u00f3digo passe despercebido ou tenha consequ\u00eancias negativas posteriormente no desenvolvimento. Com o Qodana, uma vis\u00e3o geral em tempo real do seu projeto e de todos os aspectos de sua qualidade, incluindo metas de qualidade e seu progresso atual em rela\u00e7\u00e3o a elas, est\u00e1 sempre ao seu alcance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/06\/DSGN-13925_Create_localized_banners_introducing-_Qodana_Blog_Featured_image_1280x600.png\" alt=\"\" class=\"wp-image-258107\"\/><\/figure>\n\n\n\n<p align=\"center\"><a class=\"jb-download-button\" title=\"COME\u00c7AR COM O QODANA\" href=\"https:\/\/www.jetbrains.com\/qodana\" target=\"_blank\" rel=\"noopener noreferrer\" data-mce-href=\"https:\/\/www.jetbrains.com\/qodana\" data-mce-selected=\"inline-boundary\" data-mce-><i class=\"download-icon\"><\/i>COME\u00c7AR COM O QODANA<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">As tarefas que voc\u00ea pode delegar ao Qodana<\/h1>\n\n\n\n<p>O Qodana inclui ferramentas de linha de comando (<a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/linters.html\" target=\"_blank\" rel=\"noreferrer noopener\">linters<\/a>) que fornecem an\u00e1lise de projeto localmente ou em qualquer CI. Isso torna mais f\u00e1cil para os desenvolvedores verificarem seus projetos em busca de problemas de c\u00f3digo. Al\u00e9m disso, tamb\u00e9m permite que as equipes tornem a qualidade do c\u00f3digo uma parte integral de seu processo de desenvolvimento. Vamos dar uma olhada mais de perto em como o Qodana pode ajudar voc\u00ea e sua equipe:<\/p>\n\n\n\n<ul>\n<li><strong>Identificar problemas de c\u00f3digo antecipadamente.<\/strong> Voc\u00ea pode resolver problemas antes que o c\u00f3digo seja realmente enviado para produ\u00e7\u00e3o. Um problema encontrado mais adiante \u00e9 mais caro de corrigir.<\/li>\n\n\n\n<li><strong>Detectar c\u00f3digo an\u00f4malo.<\/strong> Fragmentos de c\u00f3digo que s\u00e3o escritos de uma maneira at\u00edpica para seu projeto podem se tornar um risco de seguran\u00e7a para ele.<\/li>\n\n\n\n<li><strong>Automatizar revis\u00f5es de c\u00f3digo.<\/strong> V\u00e1rias verifica\u00e7\u00f5es, incluindo aquelas para importa\u00e7\u00f5es n\u00e3o utilizadas, duplicatas, problemas de ortografia e problemas de formata\u00e7\u00e3o, podem ser automatizadas para que voc\u00ea gaste menos tempo no ciclo de feedback.<\/li>\n\n\n\n<li><strong>Eliminar c\u00f3digo morto.<\/strong> Isso evitar\u00e1 a execu\u00e7\u00e3o de opera\u00e7\u00f5es irrelevantes, o que reduz o tempo de execu\u00e7\u00e3o de um programa.<\/li>\n\n\n\n<li><strong>Reduzir riscos de conformidade.<\/strong> Com a auditoria de Licen\u00e7as do Qodana, voc\u00ea pode acompanhar as depend\u00eancias nas quais seu projeto se baseia. Isso pode ajudar sua empresa a manter a conformidade com requisitos de licenciamento.<\/li>\n\n\n\n<li><strong>Melhorar sua estrutura de c\u00f3digo.<\/strong> Isso ajudar\u00e1 voc\u00ea a manter seu c\u00f3digo leg\u00edvel e altamente sustent\u00e1vel. Com o Qodana, voc\u00ea pode garantir que o seu c\u00f3digo permane\u00e7a consistente com recuos, esquema de nomenclatura, limites de comprimento de linha e muito mais.<\/li>\n\n\n\n<li><strong>Introduzir pr\u00e1ticas recomendadas de programa\u00e7\u00e3o.<\/strong> Com base no seu projeto ou requisitos de neg\u00f3cios, voc\u00ea pode garantir que seu c\u00f3digo esteja de acordo com as suas pol\u00edticas de c\u00f3digo personalizadas, por exemplo, que ele siga um determinado guia de estilo de programa\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Principais caracter\u00edsticas<\/h1>\n\n\n\n<p><strong>Vis\u00e3o geral em tempo real do seu projeto<\/strong><\/p>\n\n\n\n<p>Ao executar a an\u00e1lise, o Qodana exibe os resultados como um diagrama de sunburst com v\u00e1rias abas clic\u00e1veis para um detalhamento conveniente. Cada vez que voc\u00ea clica em uma aba, os resultados abaixo do gr\u00e1fico s\u00e3o atualizados em tempo real. Como parte do processo de detalhamento, voc\u00ea tamb\u00e9m pode ajustar seus resultados definindo filtros no menu ao lado do diagrama de sunburst. Voc\u00ea pode at\u00e9 mesmo reordenar as abas dentro do diagrama ao seu gosto e salvar configura\u00e7\u00f5es de filtro espec\u00edficas para uso futuro.<\/p>\n\n\n\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/Q15fFp0DC9J4JGTKKh5CBl-fa73Eet8jisUtfyaQfiglsd5vrlWAhdvUJ4VB5pwJrLdSHVF53JSjhcDfXQF6H2h9hOpKjWS4URmER1TLKGjt5hgju5qRBmY79IskeMFEdmOJKLl2Aud8p41QAw-3.png\" style=\"\"><\/p>\n\n\n\n<p><strong>Problemas de c\u00f3digo acion\u00e1veis<\/strong><\/p>\n\n\n\n<p>A aba <em>Problems<\/em> abaixo do diagrama de sunburst fornece uma lista de todos os problemas detectados e os classifica por gravidade, nome de arquivo, caminho, categoria e tipo. Quando voc\u00ea encontrar um problema espec\u00edfico que deseja analisar mais profundamente, basta clicar nele. Isto expandir\u00e1 o fragmento de c\u00f3digo e exibir\u00e1 parte do contexto.<\/p>\n\n\n\n<p>A partir daqui, voc\u00ea tem a op\u00e7\u00e3o de mover o problema para a lista de d\u00edvidas t\u00e9cnicas (bot\u00e3o <em>Move to Technical Debt<\/em>) ou de abrir o arquivo no seu IDE.<\/p>\n\n\n\n<p>O menu suspenso <em>More actions<\/em><strong> <\/strong>permite que voc\u00ea execute a\u00e7\u00f5es como excluir um determinado caminho, arquivo ou diret\u00f3rio inteiro de an\u00e1lises futuras, ocultar tipos ou categorias espec\u00edficos ou relatar situa\u00e7\u00f5es em que voc\u00ea acredita que um trecho de c\u00f3digo tenha sido sinalizado erroneamente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1446\" height=\"742\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/qodana_queries.png\" alt=\"\" class=\"wp-image-247790\"\/><\/figure>\n\n\n\n<p>Alternar da aba <em>Problems<\/em><strong> <\/strong>para a aba <em>Files<\/em><strong> <\/strong>permite navegar pelos mesmos issues, mas numa estrutura de arquivos\/pastas.<\/p>\n\n\n\n<p><img decoding=\"async\" width=\"624\" height=\"446.6689299862745\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/hGq2vBXiknlph5hDhIyqqVSyral2qi2jWnMbZLVWXnwp0LCAqhg-luAW-Mkl_UiYj_KGRGK0fPX08iH4BYIMVnl2ZG8kq8VD4AzrEKOIsQspGn1wMltLR_17hhnyP7bxn3eLUdV_e8HQ6d5BBA-3.png\"><\/p>\n\n\n\n<p><strong>Integra\u00e7\u00e3o com IDEs JetBrains<\/strong><\/p>\n\n\n\n<p>O IntelliJ IDEA Ultimate e o PhpStorm incluem o Qodana e, portanto, quando o Qodana notificar voc\u00ea sobre um problema no seu c\u00f3digo, voc\u00ea poder\u00e1 abri-lo diretamente do seu IDE para obter uma corre\u00e7\u00e3o r\u00e1pida. Para fazer isso, selecione um problema e clique na a\u00e7\u00e3o <em>Open file in<\/em><strong><\/strong>. Para integrar o Qodana a outros IDEs da JetBrains, instale <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/16938-qodana\" target=\"_blank\" rel=\"noopener\">nosso plug-in<\/a>.<\/p>\n\n\n\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/kvwvBxz7t2LU7-aHxCSd3mMjOjqi55NT46twQf5aj-ytiNgwoaDWm7w7biHnIuSynyZLsFrFJzjPflC701fP68j_ro7pnO-aRNEBFJgPbdBuThDUY3TdnVy0XFsba8C8fsxt2C0JxnxyMLHHxg-3.png\" style=\"\"><\/p>\n\n\n\n<p><strong>Auditoria de licen\u00e7as<\/strong><\/p>\n\n\n\n<p>Multas legais e de conformidade para licen\u00e7as inv\u00e1lidas ou usadas inadequadamente no seu c\u00f3digo podem ser extremamente caras. Com o Qodana, voc\u00ea pode verificar depend\u00eancias no seu reposit\u00f3rio de c\u00f3digo para encontrar suas licen\u00e7as e ver se h\u00e1 algum problema em potencial.<br>Facilitamos a inclus\u00e3o da auditoria de licen\u00e7a no seu projeto e a tornamos parte do pipeline de CI\/CD. O novo recurso <em>License audit<\/em> est\u00e1 dispon\u00edvel para todos os linters, incluindo Java, Kotlin, PHP, Python e JavaScript.<\/p>\n\n\n\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/DLPSZRXckCl6ttGcaBGI5rypncYTV6TSZhq0h1ZejAKQqsFdHF4OSSZpW0-f4Sh8r_S363sBxz0zPL1W5vvknxbmvvfhnF_KIWB6TzsT232QMwmFKoARv9dxPthd3JVlwDBgs4Cu4aMt6urpRQ-3.gif\" style=\"\">Para obter mais informa\u00e7\u00f5es sobre os recursos do Qodana, confira <a href=\"https:\/\/www.jetbrains.com\/qodana\/\" target=\"_blank\" rel=\"noreferrer noopener\">nosso site<\/a>.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Integra\u00e7\u00e3o com o GitHub e outras ferramentas de CI\/CD<\/h1>\n\n\n\n<p>Voc\u00ea pode integrar a plataforma ao GitHub e us\u00e1-la para detectar, analisar e resolver problemas de c\u00f3digo l\u00e1. Instale a a\u00e7\u00e3o <a href=\"https:\/\/github.com\/marketplace\/actions\/qodana-scan#configuration\" target=\"_blank\" rel=\"noreferrer noopener\">Qodana Scan GitHub<\/a> para executar verifica\u00e7\u00f5es de controle de qualidade em projetos no seu workflow do GitHub que usam Java, Kotlin, PHP, Python, JavaScript e TypeScript. Para um breve resumo de alguns casos de uso b\u00e1sicos, consulte <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-github-action.html\" target=\"_blank\" rel=\"noreferrer noopener\">nossa documenta\u00e7\u00e3o<\/a>.<\/p>\n\n\n\n<p>Voc\u00ea n\u00e3o est\u00e1 limitado ao GitHub! O Qodana pode ser adicionado a qualquer plataforma de CI em que voc\u00ea confia. Conforme descrito  <a href=\"https:\/\/blog.jetbrains.com\/qodana\/2021\/12\/what-is-qodana\/\" target=\"_blank\" rel=\"noreferrer noopener\">na postagem do nosso blog <\/a>, o processo de estabelecimento de marcos de qualidade para seu projeto \u00e9 muito semelhante em todas as ferramentas de CI. Desde que o Qodana foi lan\u00e7ado, oferecemos suporte ao <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-github-action.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/gitlab.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab CI\/CD<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-teamcity-plugin.html\" target=\"_blank\" rel=\"noreferrer noopener\">TeamCity<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/jenkins.html\" target=\"_blank\" rel=\"noreferrer noopener\">Jenkins<\/a> e <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/qodana-azure-pipelines.html\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Pipelines<\/a>.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Veja o Qodana em a\u00e7\u00e3o<\/h1>\n\n\n\n<p>Assista a <a href=\"https:\/\/youtu.be\/dgIw64OdjdU\" target=\"_blank\" rel=\"noreferrer noopener\">este v\u00eddeo de 7 minutos<\/a> para obter mais insights sobre o que o Qodana tem a oferecer e como ele pode deixar seu processo de desenvolvimento mais fluido.<\/p>\n\n\n\n<p>Se preferir uma abordagem mais pr\u00e1tica, fornecemos um ambiente <a href=\"http:\/\/qodana.teamcity.com\" target=\"_blank\" rel=\"noreferrer noopener\">sandbox<\/a> para experimenta\u00e7\u00e3o. Fa\u00e7a login como convidado e selecione um dos projetos pr\u00e9-configurados. Uma demonstra\u00e7\u00e3o visual \u00e9 fornecida na <a href=\"https:\/\/youtu.be\/dgIw64OdjdU?t=176\" target=\"_blank\" rel=\"noreferrer noopener\">marca 2:56<\/a> do v\u00eddeo destacado no link acima.<\/p>\n\n\n\n<p>Para obter mais informa\u00e7\u00f5es sobre o Qodana e os benef\u00edcios que ele traz para os seus pipelines de CI:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Acesse <a href=\"https:\/\/www.jetbrains.com\/qodana\/\" target=\"_blank\" rel=\"noreferrer noopener\">nosso site<\/a><\/li>\n\n\n\n<li>Explore <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/welcome.html\" target=\"_blank\" rel=\"noreferrer noopener\">nossa documenta\u00e7\u00e3o<\/a><\/li>\n\n\n\n<li>Confira <a href=\"http:\/\/blog.jetbrains.com\/qodana\" target=\"_blank\" rel=\"noreferrer noopener\">nosso blog<\/a><\/li>\n<\/ul>\n\n\n\n<p>Se tiver alguma d\u00favida ou sugest\u00e3o sobre o Qodana, poste um coment\u00e1rio aqui, marque-nos no <a href=\"https:\/\/twitter.com\/Qodana\" target=\"_blank\" rel=\"noreferrer noopener\">Twitter<\/a> ou entre em contato conosco em qodana-support@jetbrains.com.<\/p>\n\n\n\n<p><em>A equipe do Qodana<\/em><br><br><em>Artigo original em ingl\u00eas por:<\/em><\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1086,"featured_media":258107,"comment_status":"closed","ping_status":"closed","template":"","categories":[4113,89,5108],"tags":[228,6989,190,2538],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/qodana\/258104"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/qodana"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/qodana"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=258104"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/qodana\/258104\/revisions"}],"predecessor-version":[{"id":631098,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/qodana\/258104\/revisions\/631098"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/258107"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=258104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=258104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=258104"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=258104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}