Para engenheiros

Gerenciamento de memorando de trecho de código
do engenheiro

Esta página é uma tradução automática do original em japonês. Ler o original em japonês

O gerenciamento de memorando de trechos de código do engenheiro é um método de gerenciamento que captura imediatamente fragmentos de código úteis, soluções e padrões de design encontrados no desenvolvimento diário com um aplicativo de memorando e os acumula em uma forma pesquisável. Depois de anotar o que você pesquisou, não precisa fazer a mesma pesquisa novamente. Neste artigo, explicaremos os métodos de gerenciamento do 4.

TL;DR

Uma explicação completa do gerenciamento de memorandos de trechos de código do engenheiro. Apresentando como melhorar drasticamente a eficiência do desenvolvimento com os métodos 4 de captura instantânea de memorandos, classificação de tags, otimização de pesquisa e compartilhamento em equipe.

Método 1: Captura instantânea - Salve o momento em que você pensa nisso

1Anote imediatamente o que você percebe durante a revisão do códigoCaptura

O momento em que os engenheiros pensam que "isso é conveniente" chega de repente durante o desenvolvimento:

  • Revisão do código: Descubra a escrita elegante dos idosos
  • Depuração: 3 Descubra a solução para o bug que está incomodando você há uma hora
  • Lendo o documento:Descubra os parâmetros úteis ocultos do API
  • Grupo de estudo/conferência: O exemplo de código dos palestrantes foi útil

Se você pensa em "vamos juntá-los mais tarde", é fácil esquecê-los sem ser gravado. Se você enviar um e-mail para si mesmo usando a fórmula Captio, poderá capturá-lo imediatamente do seu smartphone, mesmo quando estiver em qualquer lugar.

Exemplo de memorando:"[Python][pandas] Você pode filtrar em um estilo SQL com df.query(). Mais fácil de ler do que Df[df['idade'] > 30]. Documentos oficiais: Link"

Método 2: Sistema de classificação baseado em tags

22 eixo tag de idioma x categoriaClassificação

A classificação de trechos de código é feita no eixo 2 de "linguagem" e "categoria":

  • Tag de idioma:[Python] [JavaScript] [TypeScript] [SQL] [Shell] [Go]
  • Tag de categoria:[API] [DB] [UI] [Auth] [Deploy] [Test] [Performance]
  • Status:[Verificado] [Não Verificado] [Obsoleto]

Unifique as regras para marcação no início do memorando. Se você inserir "[Python][API]" na pesquisa Gmail, poderá listar imediatamente os códigos de processamento API relacionados ao Python.

Exemplo de nomeação:"[JS][API][Verificado] buscar com nova tentativa - 3 tentar novamente + buscar wrapper com índice backoff"

Método 3: Como escrever notas de otimização de pesquisa

3Escreva com as palavras-chave que você pesquisa no futuroPesquisabilidade

O valor do memorando ocorre quando é "pesquisado", não "quando é escrito". Maximize sua taxa de acerto de pesquisa com as seguintes regras:

  • Incluir texto do problema:"O que fazer quando ocorrer um erro CORS"
  • Mensagem de erro original:"Access-Control-Allow-Origin missing"
  • Resumo da solução:"Adicionar cabeçalho no lado do servidor"
  • Fragmento de código:Cole o código de movimento real
  • Referência URL:Documentos oficiais e links Stack Overflow

"3 Quando você encontrar o mesmo problema um mês depois, qual palavra-chave você procurará?" O truque é imaginar e escrever.

Método 4: Base de conhecimento de compartilhamento de equipe

4Memorando pessoal → Recursos da equipeCompartilhar

Notas de trechos acumuladas individualmente se tornam a semente da base de conhecimento da equipe:

  • Semanal 1 Compartilhar: Poste o trecho mais útil da semana para 1 no Slack
  • GitHub Gistization: Adicione trechos verificados ao Gist e leia-me
  • Transcrição Notion/Wiki:Promoção de descobertas específicas do projeto para documentos oficiais
  • Materiais de integração:Organizar "Problemas e Soluções Frequentes" para novos membros

As notas de 1 pessoa economizam o tempo de desenvolvimento de 10 pessoas. O fluxo de 3 etapas é: capturar imediatamente pelo método Captio, reunir em Gmail e compartilhar por GitHub Gist.

Perguntas Frequentes

Qual é a melhor ferramenta para gerenciar trechos de código?

O tipo Captio para captura instantânea, GitHub Gist・Notion・Obsidian para organização e a função de snippet VS Code para uso diário são os melhores.

Como classificar trechos?

Classifique pela tag do eixo 2 da categoria x do idioma. [ Se você unificar o prefixo como Python][API], a capacidade de pesquisa será drasticamente melhorada.

Qual é o significado de anotar a resposta do Stack Overflow?

Você pode evitar o trabalho de procurar a resposta depois de encontrá-la. Salve-o no formulário que você aplicou ao seu projeto.

Melhores práticas para notas de trecho por idioma

Python / Sistema de Processamento de DadosPython

Maximize a capacidade de pesquisa se você observar o trecho Python com "nome da biblioteca + conteúdo de processamento". O Python tem uma riqueza de bibliotecas, portanto, distinguir entre bibliotecas padrão e terceiros será útil mais tarde.

  • Regras de nomeação:[Python][pandas] Carregar CSV e processar valores ausentes — sempre inclua "nome da biblioteca" na tag
  • Informações sobre a versão: Python Nova sintaxe (como instruções de caso de correspondência) que pode ser usada após a 3.11 especificar a versão. "[ Adicione tags como "Python3.11+]"
  • Comandos de ambiente virtual: Comandos de construção de ambiente, como venv, conda e poesia, são fáceis de esquecer, embora sejam usados com frequência. "[ Python][env] poesia adicionar --dev pytest" como um memorando
  • Coleção de um forro: O poderoso one-liner do Python, como a notação de inclusão da lista e a fórmula lambda, será necessário quando você esquecer. Economize com exemplos específicos
Exemplo de memorando:"[Python][pandas][verificado] Carregar dividir CSV grande - salvar memória com pd.read_csv('file.csv', chunksize=10000). A operação também foi confirmada na linha 1000000.
JavaScript / TypeScript / Front EndJS/TS

JavaScript/TypeScript tem muitas mudanças na estrutura, por isso é especialmente importante descrever o "nome da estrutura + versão".

  • React/Next.js: Especifique as principais versões e paradigmas como "[React18][Hooks]" e "[Next14][App Router]". Os Componentes do Servidor são completamente diferentes entre o Pages Router e o App Router
  • Tipo TypeScript:Como usar genéricos complexos e tipos de utilidade (Parcial, Escolher, Omitir) é fácil de esquecer. Memorando com caso de uso específico
  • npm/yarn Comando: O comando para especificar a instalação, desinstalação e versão do pacote é ligeiramente diferente. "[ Npm] npm install --save-exact package@1.2.3" como uma nota
  • Navegador API:Interseção Observador, Web Workers, Service Worker, etc., que são usados com pouca frequência e não podem ser lembrados imediatamente quando necessário API é salvo como um trecho
SQL / Shell Script / Sistema de InfraestruturaSQL/Shell

Informações sobre "ambiente executável" e "nível de risco" são particularmente importantes para comandos SQL, shell e infraestrutura.

  • SQL: Especifique o tipo de RDBMS, como "[SQL][PostgreSQL] Classificação por função de janela" e "consulta de coluna do tipo "[SQL] [MySQL] JSON". MySQL, PostgreSQL e SQLite geralmente têm sintaxe diferente
  • Script do Shell:Como "[Shell][Destrutivo] Alternativa Segura ao rm-rf: trash-cli", comandos perigosos quando executados no ambiente de produção são marcados com [destrutivo]
  • Docker/K8s: Inclua a cena da operação no título, como "[Docker] Redução do tamanho da imagem com compilação em vários estágios" e "[K8s] Atualização do ConfigMap sem reinicialização do Pod"
  • Git:Se você escrever o propósito da operação em japonês, como "[Git] Aplicar apenas um commit específico a outra ramificação: cherry-pick", a taxa de acerto da pesquisa aumentará
Importante:Certifique-se de adicionar "Runn Environment (macOS/Linux/WSL)" ao memorando de comando do shell. Há muitos casos em que as opções de comando variam dependendo do sistema operacional, e esta é uma causa comum de erros quando executados de acordo com as notas.

Vantagens do gerenciamento de trechos de código por e-mail

Por que é um e-mail em vez de GitHub Gist ou Notion?Méritos

Existem muitas ferramentas de gerenciamento de trechos de código, mas o gerenciamento baseado em e-mail tem suas próprias vantagens em equilibrar "imediatismo de captura" e "conveniência de pesquisa".

Mérito 1: Menos tempo para capturar

Abra GitHub Gist, digite o título, cole o código... O fluxo não pode ser usado durante viagens ou reuniões. Como engenheiro iOS, acumulo trechos Swift por e-mail diariamente, mas em meio ano, trechos 200 ou mais naturalmente se tornaram uma biblioteca. Com o tipo Captio, você pode anotar o trecho de código e o contexto com 3 segundos no seu smartphone. " É mais certo jogá-lo no e-mail primeiro do que esquecê-lo, "Vamos organizá-lo no Gist mais tarde".

Méritos 2: Desempenho de pesquisa de Gmail

A função de pesquisa do Gmail tem um desempenho muito alto. " Se você pesquisar por fonte + palavra-chave, como de:noreply@mail.simplememofast.com python api retry", você pode identificar apenas suas notas de snippet. Claro, a pesquisa de texto completo também é possível restringir pelo nome do anexo e intervalo de datas.

Mérito 3: Sem dependência de ferramentas

Trocar ferramentas de gerenciamento de trechos é muito problemático. Exportar → Problemas de compatibilidade de importação, perda de tags e metadados, etc. No entanto, o e-mail é um mecanismo padrão que é usado há décadas e não depende de ferramentas específicas. Mesmo que o Gist ou Notion alterem as especificações ou o serviço termine, o trecho salvo no e-mail não será afetado. Se você estiver interessado na ferramenta baseada em Markdown, consulte também Diferença de Obsidian e comparação com Joplin.

Merit 4: A série temporal é registrada automaticamente

A data e a hora de envio são registradas automaticamente no e-mail, para que você possa ver com precisão "quando você salvou este trecho" e "quando você resolveu este bug". É muito útil como um "log de conhecimento cronológico" ao revisar projetos e escrever blogs técnicos.

Mérit 5: Compartilhamento fácil da equipe

Se você quiser compartilhar suas notas de trecho salvas com seus colegas, basta encaminhar o e-mail como está. Nenhuma conversão de formato ou convite de conta é necessária. " Enviarei a solução para o erro CORS outro dia por e-mail", e o compartilhamento é concluído imediatamente.

Fluxo recomendado:Captura instantânea (fórmula Captio → e-mail) → Organização de fim de semana (especialmente os importantes são promovidos para GitHub Gist) → Compartilhamento de equipe (post Gist URL no Slack). É mais prático separar os papéis do e-mail de "armazenamento de captura diversos" e Gist de "vitrines organizadas".

Artigos relacionados

Captura instantânea de consciência de código
Comece a registrar o que descobriu na revisão em 0.4 segundos após o toque, medidos em abertura a quente no iPhone 16e. Monte uma biblioteca de trechos enviando e-mails para si mesmo.
Baixar na App Store

Páginas relacionadas

Referências