Prefácio do tradutor: Depois de ler este artigo, você pode se surpreender ou até ficar com raiva. Sim, também ficamos surpresos: o autor supostamente nunca ouviu falar sobre a hierarquia na equipe, sobre a definição de tarefas com o status “faça-o rapidamente e sem raciocínio”. Sim, é isso, é um texto um pouco estranho. De fato, o autor oferece ao programador o papel de arquiteto de sistemas - por que você precisa de um arquiteto? Mas todas essas objeções não devem esconder de você o principal - por que, no entanto, pegamos e traduzimos este texto. Ele não é sobre papéis. Este texto é sobre abordagem e conscientização profissional. A verdade é que, enquanto você apenas "faz o que eles dizem" sem pensar no significado de suas ações, nunca se tornará um grande programador.Diga não ao código extra. Tudo o que você precisa fazer é juntar as três letras e dizer a palavra. Vamos tentar fazer juntos: "Nããão!"
Mas ei. Por que estamos fazendo isso? Afinal, a principal tarefa de um programador é escrever código. Mas é necessário escrever qualquer código necessário para você? Não! "Entender quando você não deve escrever código é provavelmente a habilidade mais importante para um programador."
A arte do código legível .
Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".
A Skillbox recomenda: Curso prático "Mobile Developer PRO" .
A programação é a arte de resolver problemas. E você é o mestre desta arte.
Às vezes, tentando começar o mais rápido possível, não pensamos em outra coisa senão concluir a tarefa. E isso pode causar problemas ainda mais graves.
Para que os programadores fecham os olhos?
Todo o código que você escreve deve ser entendido por outros desenvolvedores, bem como testado e depurado.
Mas há um problema: o que quer que você escreva, isso complicará o seu software e provavelmente irá adicionar bugs no futuro.
Segundo Rich Skrent, o
código é nosso inimigo . Aqui está o que ele escreve:
“O código está ruim porque começa a apodrecer e requer manutenção constante. A adição de novos recursos geralmente requer a modificação do código antigo. Quanto maior, maior a probabilidade de ocorrer um erro e mais tempo leva para compilar. Outro desenvolvedor precisa de mais tempo para descobrir isso. E se você precisar refatorar, certamente haverá fragmentos que valem a pena mudar. Código em massa geralmente significa reduzir a flexibilidade e a funcionalidade de um projeto. Uma solução simples e elegante é mais rápida que o código complexo. ”
Como descobrir quando você não deve escrever código?
O problema é que os programadores costumam exagerar o número de funções que seus aplicativos precisam. Como resultado, muitas seções do código permanecem incompletas ou ninguém usa, mas complicam o aplicativo.
Você deve estar claramente ciente do que seu projeto precisa e do que não.Um exemplo é um aplicativo que resolve apenas uma tarefa - ele gerencia emails. Duas funções foram introduzidas para isso - enviar e receber cartas. Você não deve esperar que o gerenciador de email se torne simultaneamente um gerenciador de tarefas.
Você precisa dizer não firmemente às sugestões para adicionar funções que não estão relacionadas à tarefa principal do aplicativo. Este é exatamente o momento em que fica claro que não é necessário código adicional.
Nunca desfoque sua aplicação.Sempre se pergunte:
- Que função deve ser implementada agora?
- Qual código vale a pena escrever?
Questione as idéias que lhe vêm à mente e avalie sugestões de fora. Caso contrário, o código extra pode simplesmente matar o projeto.
Saber quando você não deve adicionar demais manterá a base de código sob controle rígido.
No início do caminho, o programador possui apenas dois ou três arquivos de origem. Tudo é simples. Compilar e executar o aplicativo requer um tempo mínimo; é sempre claro onde e o que procurar.
À medida que o aplicativo se expande, mais e mais arquivos de código aparecem. Eles preenchem o diretório, cada um com centenas de linhas. Para organizar tudo isso corretamente, você precisará criar diretórios adicionais. Ao mesmo tempo, torna-se cada vez mais difícil lembrar quais funções são responsáveis por quais e quais ações elas causam; pegar bugs também leva mais tempo. O gerenciamento de projetos está se tornando mais complicado, não apenas um, mas vários desenvolvedores são obrigados a acompanhar tudo. Conseqüentemente, os custos, monetários e temporários, estão aumentando, e o processo de desenvolvimento é inibido.
O projeto acaba se tornando enorme, adicionando cada nova função com grande e grande dificuldade. Mesmo para algo muito insignificante, você precisa passar várias horas. A correção dos erros existentes leva ao surgimento de novos, as datas de lançamento do aplicativo são interrompidas.
Agora temos que lutar pela vida do projeto. Porque
O fato é que você simplesmente não entendeu quando não precisava adicionar código extra e eles responderam "sim" a cada frase e idéia. Você era cego, o desejo de criar algo novo fez você ignorar fatos importantes.
Parece um roteiro de filme de terror, certo?
É exatamente isso que acontecerá se você continuar a dizer sim. Tente entender quando não vale a pena adicionar código. Remova desnecessário do projeto - isso facilitará muito sua vida e prolongará a existência do aplicativo.
"Um dos meus dias mais produtivos foi quando excluí 1000 linhas de código."
Ken Thompson.
Aprender a entender quando você não precisa escrever código é difícil. Mas é necessário.
Sim, eu sei que você acabou de entrar no caminho de um desenvolvedor e deseja escrever código. Isso é bom, não perca essa primeira impressão, mas não perca de vista fatores importantes devido ao entusiasmo. Percebemos tudo por tentativa e erro. Você também cometerá erros e aprenderá com eles. Mas se você puder aprender uma lição do exposto, seu trabalho se tornará mais consciente.
Continue criando, mas saiba quando dizer não.
A Skillbox recomenda: