A principal habilidade do desenvolvedor que tornará seu código melhor



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:

Source: https://habr.com/ru/post/pt453178/


All Articles