
.avif)
Descubra as regras de qualidade do código.
Porquê evitar índices de bases de dados redundantes: otimizar o desempenho do armazenamento e da escrita
Os índices redundantes tornam as escritas mais lentas e desperdiçam armazenamento. Saiba como detetar e remover índices de base de dados desnecessários.
Como dividir grandes ficheiros de código: organizar o código para facilitar a manutenção
Ficheiros grandes com várias responsabilidades são difíceis de manter e navegar. Aprenda a dividir o código em módulos específicos para uma melhor organização.
Porque é que deve utilizar retornos antecipados e cláusulas guard para obter um código mais limpo e legível
O aninhamento profundo e a validação tardia tornam as funções difíceis de ler. Aprenda a utilizar cláusulas de guarda e retornos antecipados para escrever um código mais claro e mais fácil de manter.
Porquê evitar índices de bases de dados redundantes: otimizar o desempenho do armazenamento e da escrita
Os índices redundantes tornam as escritas mais lentas e desperdiçam armazenamento. Saiba como detetar e remover índices de base de dados desnecessários.
Como dividir grandes ficheiros de código: organizar o código para facilitar a manutenção
Ficheiros grandes com várias responsabilidades são difíceis de manter e navegar. Aprenda a dividir o código em módulos específicos para uma melhor organização.
Porque é que deve utilizar retornos antecipados e cláusulas guard para obter um código mais limpo e legível
O aninhamento profundo e a validação tardia tornam as funções difíceis de ler. Aprenda a utilizar cláusulas de guarda e retornos antecipados para escrever um código mais claro e mais fácil de manter.
Porque deve utilizar uma classe por ficheiro: melhorar a organização e a navegação do código
A utilização de uma classe por ficheiro melhora a clareza, a navegação e a capacidade de manutenção. Evite ficheiros desordenados e mantenha a sua base de código organizada.
Porque é que não deve substituir argumentos de funções: evitar confusões e problemas de depuração
Substituir argumentos de função geralmente leva a um comportamento confuso, bugs ocultos e depuração mais difícil. Saiba por que a substituição de parâmetros é uma prática ruim e como evitá-la com padrões de código limpos e previsíveis.
Como manter as funções concisas: escrever código de fácil manutenção
Funções longas são difíceis de entender, testar e manter. Aprenda a dividir funções complexas em unidades mais pequenas e específicas para obter uma melhor qualidade de código.
Como evitar a quebra de contratos de API públicas: manter a compatibilidade com as versões anteriores
Alterações de rutura nas APIs públicas quebram o código do cliente existente. Aprenda a desenvolver APIs com segurança com versionamento, depreciação e alterações aditivas para compatibilidade.
Porque é que as variáveis globais causam fugas de dados nos servidores Node.js
As variáveis globais no Node.js persistem entre solicitações, vazando dados do usuário entre sessões. Aprenda a usar o armazenamento com escopo de solicitação para evitar problemas de segurança.
Como evitar condições de corrida: acesso thread-safe ao estado partilhado
O estado mutável partilhado sem sincronização causa condições de corrida e corrupção de dados. Aprenda a usar bloqueios e padrões thread-safe em Python, Java e C#.
Como evitar o SELECT * na SQL: prevenir fugas de dados
Os nomes das classes PHP têm de corresponder exatamente aos nomes dos ficheiros para o carregamento automático do PSR-4. As incompatibilidades funcionam no Windows/macOS mas falham no Linux. Aprenda a corrigir erros de carregamento automático.
Como corrigir erros de carregamento automático do PHP: correspondência entre nomes de classes e nomes de ficheiros
Os nomes das classes PHP têm de corresponder exatamente aos nomes dos ficheiros para o carregamento automático do PSR-4. As incompatibilidades funcionam no Windows/macOS mas falham no Linux. Aprenda a corrigir erros de carregamento automático.
Como eliminar a duplicação de código: reduzir a dívida técnica
Os blocos de código duplicados causam correcções de erros inconsistentes e aumentam o custo de manutenção. Aprenda a extrair a lógica duplicada em funções reutilizáveis para um código mais limpo.
Evitar níveis de aninhamento profundos: escrever código de fácil manutenção
O código profundamente aninhado aumenta os erros e a complexidade dos testes. Aprenda a nivelar o aninhamento com retornos antecipados, cláusulas guard e funções auxiliares para uma melhor manutenção.
Proteção contra expressões regulares lentas: prevenção de ataques ReDoS
Quantificadores aninhados em regex causam backtracking catastrófico, permitindo ataques ReDoS. Aprenda padrões seguros para evitar problemas de desempenho de regex em código de produção.
Tratamento de erros em blocos de captura: porque é que blocos de captura vazios quebram os sistemas de produção
Os blocos de captura vazios eliminam os registos de erros e causam falhas silenciosas na produção. Aprenda os padrões adequados de tratamento de excepções para depurar problemas e evitar a corrupção de dados.
Evitar atribuições em condicionais: prevenir erros ocultos
As atribuições em declarações condicionais introduzem erros subtis e prejudicam a legibilidade. Aprenda os padrões adequados para separar a atribuição da avaliação da condição no código.
Libertar bloqueios mesmo em caminhos de exceção: evitar bloqueios
Os bloqueios não libertados causam bloqueios quando as excepções impedem a libertação do bloqueio. Aprenda os padrões try-catch-finally para garantir a libertação do bloqueio e evitar fugas de recursos.
Evitar falhas de segmentação: segurança de memória em C e C++
Falhas de segmentação de ponteiros nulos e estouros de buffer causam falhas e explorações em C/C++. Aprenda padrões de codificação defensivos para evitar problemas de segurança de memória.
Detetar padrões de código potencialmente malicioso: identificar ameaças ocultas na sua base de código
O código ofuscado em repositórios de código-fonte indica ataques à cadeia de fornecimento ou backdoors. Aprenda a detetar padrões suspeitos como eval(), cadeias de caracteres codificadas e muito mais.Repetir
Pare de usar MD5 e SHA-1: Hashing moderno para segurança
MD5 e SHA-1 são criptograficamente quebrados e vulneráveis a ataques de colisão. Saiba por que razão estes algoritmos de hashing não são seguros e quais as alternativas seguras a utilizar.
Remova a depuração e o código temporário antes de fazer confirmações: Um Guia de Segurança e Desempenho
O código de depuração na produção expõe dados confidenciais e degrada o desempenho. Saiba por que razão as declarações console.log são riscos de segurança e como evitar que sejam enviadas.
Informações sobre a qualidade do código do FreeCodeCamp: regras que podem melhorar qualquer base de código
Analisámos o enorme repositório de código aberto do FreeCodeCamp para descobrir 12 regras práticas de revisão de código que mantêm o seu código limpo, de fácil manutenção e para principiantes. Saiba como essas regras podem melhorar seu próprio fluxo de trabalho de engenharia.
10 regras de qualidade de código aprendidas com a equipe de engenharia da Grafana
Analisamos o repositório de código aberto do Grafana e descobrimos 10 regras de revisão de código do mundo real que melhoram a manutenção, a segurança e a legibilidade. Saiba como o Grafana mantém sua enorme base de código limpa e escalável com práticas recomendadas de nível de IA.
Detetar potenciais vulnerabilidades de injeção
Saiba como detetar e prevenir vulnerabilidades de injeção como SQL, Comando e Injeção de Código. Compreenda os padrões de risco, reveja exemplos e aplique regras de codificação seguras para manter a sua base de código segura.
As 10 regras de codificação da Nasa para códigos críticos de segurança
Descubra as regras de codificação "Power of 10" da NASA para escrever software seguro, previsível e verificável. Saiba porque é que estas regras existem, veja exemplos reais de código C e compreenda como aplicá-las em fluxos de trabalho de desenvolvimento modernos.
Obter segurança gratuitamente
Proteja seu código, nuvem e tempo de execução em um sistema central.
Encontre e corrija vulnerabilidades rapidamente de forma automática.
.avif)
