{"title":"Relatando bugs e solicitando funcionalidades","version":"5.1","locale":"pt-br","docname":"internals/contributing/bugs-and-features","url":"/pt-br/5.1/internals/contributing/bugs-and-features/","canonical":"https://djangodocs.dev/pt-br/5.1/internals/contributing/bugs-and-features/","summary":"Importante Por favor relatar problemas de segurança somente em security @ djangoproject . com . Esta é uma lista privada acessível apenas para desenvolvedores…","html":"<h1>Relatando bugs e solicitando funcionalidades<a class=\"heading-anchor\" href=\"#reporting-bugs-and-requesting-features\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-important\">\n<p class=\"admonition-title\">Importante</p>\n<p>Por favor relatar problemas de segurança <strong>somente</strong> em <a class=\"reference external\" href=\"mailto:security&#37;&#52;&#48;djangoproject&#46;com\">security<span>&#64;</span>djangoproject<span>&#46;</span>com</a>. Esta é uma lista privada acessível apenas para desenvolvedores django veteranos e altamente confiáveis, seu conteúdo não está disponível publicamente. Para mais detalhes, por favor veja :doc: nossas políticas de segurança &lt;/internals/security&gt;`.</p>\n</aside>\n<p>Por outro lado, antes de reportar um “bug” ou requerer uma nova funcionalidade no <a class=\"reference external\" href=\"https://code.djangoproject.com/\">ticket tracker</a>, considere estes pontos:</p>\n<ul class=\"simple\">\n<li><p>Verifique se alguém já relatou o bug ou solicitou sua funcionalidade fazendo consultas customizadas no rastreador de tickets</p></li>\n<li><p>Don’t use the ticket system to ask support questions. Use the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>\nor the <a class=\"reference external\" href=\"https://chat.djangoproject.com\">Django Discord server</a> for that.</p></li>\n<li><p>Don’t reopen issues that have been marked “wontfix” without finding consensus\nto do so on the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>.</p></li>\n<li><p>Don’t use the ticket tracker for lengthy discussions, because they’re\nlikely to get lost. If a particular ticket is controversial, please move the\ndiscussion to the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>.</p></li>\n</ul>\n<section id=\"reporting-bugs\">\n<span id=\"id1\"></span><h2>Relatando bugs<a class=\"heading-anchor\" href=\"#reporting-bugs\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Relatos de bugs bem escritos são <em>incrivelmente</em> úteis. Porém, existe uma certa quantidade de sobrecarga envolvida em trabalhar com qualquer sistema de rastreamento de bugs de modo que a sua ajuda em manter nosso rastreador de tickets o mais eficiente possível é muito apreciada. Em particular:</p>\n<ul class=\"simple\">\n<li><p><strong>Leia</strong> a FAQ para saber se o seu problema não é uma questão recorrente.</p></li>\n<li><p><strong>Do</strong> ask on <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> or the <a class=\"reference external\" href=\"https://chat.djangoproject.com\">Django Discord server</a> <em>first</em> if\nyou’re not sure if what you’re seeing is a bug.</p></li>\n<li><p><strong>Do</strong> write complete, reproducible, specific bug reports. You must\ninclude a clear, concise description of the problem, and a set of\ninstructions for replicating it. Add as much debug information as you can:\ncode snippets, test cases, exception backtraces, screenshots, etc. A nice\nsmall test case is the best way to report a bug, as it gives us a\nhelpful way to confirm the bug quickly.</p></li>\n<li><p><strong>Don’t</strong> post to <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> only to announce that you have filed a\nbug report. All the tickets are mailed to another list, <a class=\"reference internal\" href=\"/pt-br/5.1/internals/mailing-lists/#django-updates-mailing-list\"><span class=\"std std-ref\">django-updates</span></a>,\nwhich is tracked by developers and interested community members; we see them\nas they are filed.</p></li>\n</ul>\n<p>Para entender o ciclo de vida do seu ticket uma vez que você o tenha criado, veja <a class=\"reference internal\" href=\"/pt-br/5.1/internals/contributing/triaging-tickets/\"><span class=\"doc\">Triagem de tickets</span></a>.</p>\n</section>\n<section id=\"reporting-user-interface-bugs-and-features\">\n<h2>Relatando bugs de interface e funcionalidades<a class=\"heading-anchor\" href=\"#reporting-user-interface-bugs-and-features\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Se a sua nova funcionalidade ou bug tem a ver com qualquer coisa visual, existem mais algumas regras para seguir:</p>\n<ul class=\"simple\">\n<li><p>Include screenshots in your ticket which are the visual equivalent of a\nminimal test case. Show off the issue, not the crazy customizations\nyou’ve made to your browser.</p></li>\n<li><p>Se o problema for muito difícil de mostrar usando uma imagem, considere capturar um breve screencast. Se o seu software permitir isso, capture somente a área relevante da tela.</p></li>\n<li><p>If you’re offering a patch that changes the look or behavior of Django’s\nUI, you <strong>must</strong> attach before <em>and</em> after screenshots/screencasts.\nTickets lacking these are difficult for triagers to assess quickly.</p></li>\n<li><p>Screencasts não absolvem você de outras boas práticas ao reportar um bug. Certifique-se de incluir URLs, trechos de código, e instruções passo-a-passo sobre como reproduzir o comportamento exibido nas screenshots.</p></li>\n<li><p>Certifique-se de incluir a tag UI/UX no ticket para que outras partes interessadas no problema possam encontrá-lo.</p></li>\n</ul>\n</section>\n<section id=\"requesting-features\">\n<h2>Solicitando novas funcionalidades<a class=\"heading-anchor\" href=\"#requesting-features\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nós estamos sempre tentando deixar o Django melhor, e as suas solicitações por novas funcionalidades são uma peça chave nesse processo. Aqui vão algumas dicas sobre como fazer uma solicitação de forma eficiente.</p>\n<ul class=\"simple\">\n<li><p>Make sure the feature actually requires changes in Django’s core. If your\nidea can be developed as an independent application or module — for\ninstance, you want to support another database engine — we’ll probably\nsuggest that you develop it independently. Then, if your project gathers\nsufficient community support, we may consider it for inclusion in Django.</p></li>\n<li><p>First request the feature on the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>, not in the ticket tracker.\nIt’ll get read more closely and reach a larger audience. This is even more\nimportant for large-scale feature requests. We like to discuss any big\nchanges to Django’s core before actually working on them.</p></li>\n<li><p>Descreva claramente e de forma concisa qual é a funcionalidade que você não encontrou e como você gostaria que ela fosse implementada. Se possível inclua códigos como exemplos (código que não funciona é válido).</p></li>\n<li><p>Explain <em>why</em> you’d like the feature. Explaining a minimal use case will help\nothers understand where it fits in, and if there are already other ways of\nachieving the same thing.</p></li>\n</ul>\n<p>If there’s a consensus agreement on the feature, then it’s appropriate to\ncreate a ticket. Include a link to the discussion in the ticket description.</p>\n<p>As with most open-source projects, code talks. If you are willing to write the\ncode for the feature yourself or, even better, if you’ve already written it,\nit’s much more likely to be accepted. Fork Django on GitHub, create a feature\nbranch, and show us your work!</p>\n<p>Veja também: <a class=\"reference internal\" href=\"/pt-br/5.1/internals/contributing/writing-documentation/#documenting-new-features\"><span class=\"std std-ref\">Documentando novas funcionalidades</span></a>.</p>\n</section>\n<section id=\"requesting-performance-optimizations\">\n<h2>Requesting performance optimizations<a class=\"heading-anchor\" href=\"#requesting-performance-optimizations\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Reports of a performance regression, or suggested performance optimizations,\nshould provide benchmarks and commands for the ticket triager to reproduce.</p>\n<p>See the <a class=\"reference internal\" href=\"/pt-br/5.1/internals/contributing/writing-code/submitting-patches/#django-asv-benchmarks\"><span class=\"std std-ref\">django-asv benchmarks</span></a> for more details of Django’s existing\nbenchmarks.</p>\n</section>\n<section id=\"how-we-make-decisions\">\n<span id=\"id2\"></span><h2>Como nós tomamos decisões<a class=\"heading-anchor\" href=\"#how-we-make-decisions\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Whenever possible, we strive for a rough consensus. To that end, we’ll often\nhave informal votes on the Django Forum about a feature. In these votes we\nfollow the voting style invented by Apache and used on Python itself, where\nvotes are given as +1, +0, -0, or -1.\nRoughly translated, these votes mean:</p>\n<ul class=\"simple\">\n<li><p>+1: “Eu adorei a ideia e estou fortemente comprometido com ela.”</p></li>\n<li><p>+0: “Por mim OK.”</p></li>\n<li><p>-0: “Não me animou, mas eu não vou ficar no caminho.”</p></li>\n<li><p>-1: “Eu definitivamente não gostei e ficaria realmente chateado de ver essa ideia virando  realidade.”</p></li>\n</ul>\n<p>Although these votes are informal, they’ll be taken very seriously. After a\nsuitable voting period, if an obvious consensus arises we’ll follow the votes.</p>\n<p>However, consensus is not always possible. If consensus cannot be reached, or\nif the discussion toward a consensus fizzles out without a concrete decision,\nthe decision may be deferred to the <a class=\"reference internal\" href=\"/pt-br/5.1/internals/organization/#steering-council\"><span class=\"std std-ref\">steering council</span></a>.</p>\n<p>Internally, the steering council will use the same voting mechanism. A\nproposition will be considered carried if:</p>\n<ul class=\"simple\">\n<li><p>There are at least three “+1” votes from members of the steering council.</p></li>\n<li><p>There is no “-1” vote from any member of the steering council.</p></li>\n</ul>\n<p>Votos devem ser submetidos dentro de uma semana.</p>\n<p>Since this process allows any steering council member to veto a proposal, a\n“-1” vote should be accompanied by an explanation of what it would take to\nconvert that “-1” into at least a “+0”.</p>\n<p>Votes on technical matters should be announced and held in public on the\n<a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>.</p>\n</section>","rootId":"reporting-bugs-and-requesting-features","toc":[{"title":"Relatando bugs","anchor":"reporting-bugs","children":[]},{"title":"Relatando bugs de interface e funcionalidades","anchor":"reporting-user-interface-bugs-and-features","children":[]},{"title":"Solicitando novas funcionalidades","anchor":"requesting-features","children":[]},{"title":"Requesting performance optimizations","anchor":"requesting-performance-optimizations","children":[]},{"title":"Como nós tomamos decisões","anchor":"how-we-make-decisions","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Funcionamento interno do Projeto Django","url":"/pt-br/5.1/internals/"},{"docname":"internals/contributing/index","title":"Contribuindo com o Django","url":"/pt-br/5.1/internals/contributing/"}],"prev":{"docname":"internals/contributing/localizing","title":"Localizando Django","url":"/pt-br/5.1/internals/contributing/localizing/"},"next":{"docname":"internals/contributing/triaging-tickets","title":"Triagem de tickets","url":"/pt-br/5.1/internals/contributing/triaging-tickets/"},"formats":{"html":"/pt-br/5.1/internals/contributing/bugs-and-features/","markdown":"/pt-br/5.1/internals/contributing/bugs-and-features.md","json":"/pt-br/5.1/internals/contributing/bugs-and-features.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/internals/contributing/bugs-and-features.txt","official":"https://docs.djangoproject.com/pt-br/5.1/internals/contributing/bugs-and-features/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}