
Prefácio do tradutor: Depois de ler este artigo, você poderá ficar surpreso ou até irritado. Sim, também ficamos surpresos: o autor supostamente nunca tinha ouvido falar em hierarquia na equipe, em definir tarefas com o status “faça rápido e sem raciocínio”. Sim, isso mesmo, este é um texto um pouco estranho. Na verdade, o autor sugere que o programador assuma o papel de arquiteto de sistema - por que então você precisa de um arquiteto? Mas todas essas objeções não devem cegar você para o principal - por que, mesmo assim, pegamos e traduzimos este texto. Ele não está falando sobre papéis. Este texto trata de abordagem e conscientização profissional. A verdade é que enquanto você simplesmente “fazer o que lhe mandam” sem pensar no significado de suas ações, você nunca se tornará um grande programador.
Diga não ao código desnecessário. Tudo o que você precisa fazer é juntar três letras e dizer a palavra. Vamos tentar fazer isso juntos: "Nããão!"
Mas espere. Por que estamos fazendo isso? Afinal, a principal tarefa de um programador é escrever código. Mas você precisa escrever algum código solicitado? Não! “Entender quando não escrever código é provavelmente a habilidade mais importante para um programador.” .
Lembramos: para todos os leitores de "Habr" - um desconto de 10 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".
A Skillbox recomenda: curso prático .
Programar é a arte de resolver problemas. E vocês são mestres nesta arte.
Às vezes, no esforço de começar a trabalhar o mais rápido possível, não pensamos em nada além de concluir a tarefa que temos em mãos. E isso pode causar problemas ainda mais sérios.
Ao que os programadores fecham os olhos?
Todo código que você escreve deve ser compreensível para outros desenvolvedores e deve ser testado e depurado.
Mas há um problema: o que quer que você escreva, complicará seu software e provavelmente introduzirá bugs no futuro.
De acordo com Rich Skrent, . Aqui está o que ele escreve:
“O código é ruim porque começa a apodrecer e exige manutenção constante. Adicionar novos recursos geralmente requer a modificação do código antigo. Quanto maior for, maior será a probabilidade de ocorrência de um erro e mais tempo levará para compilar. Outro desenvolvedor leva mais tempo para descobrir isso. E se for necessária refatoração, definitivamente haverá fragmentos que valem a pena alterar. Código grande geralmente significa flexibilidade e funcionalidade reduzidas do projeto. Uma solução simples e elegante é mais rápida que um código complexo.”
Como saber quando não escrever código?
O problema é que os programadores muitas vezes exageram no número de recursos que seus aplicativos precisam. Como resultado, muitas seções de código permanecem inacabadas ou ninguém as utiliza, mas complicam a aplicação.
Você deve entender claramente o que seu projeto precisa e o que não precisa.
Um exemplo é um aplicativo que resolve apenas uma tarefa – gerenciar email. Para o efeito, foram introduzidas duas funções - envio e recepção de cartas. Você não deve esperar que o gerenciador de e-mail se torne um gerenciador de tarefas ao mesmo tempo.
Você precisa dizer “não” com firmeza às propostas de adição de recursos que não estão relacionados à tarefa principal do aplicativo. Este é exatamente o momento em que fica claro que não é necessário código adicional.
Nunca perca o foco da sua aplicação.
Sempre pergunte a si mesmo:
— Que função deve ser implementada agora?
— Que código devo escrever?
Questione as ideias que lhe vêm à mente e avalie sugestões vindas de fora. Caso contrário, código extra pode simplesmente encerrar o projeto.
Saber quando não adicionar coisas desnecessárias ajudará você a manter sua base de código sob controle firme.

Bem no início do caminho, o programador possui apenas dois ou três arquivos de origem. É simples. Compilar e iniciar 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 catálogo, cada um com centenas de linhas. Para organizar tudo isso corretamente, você terá que criar diretórios adicionais. Ao mesmo tempo, está se tornando cada vez mais difícil lembrar quais funções são responsáveis por quê e quais ações as causam; detectar bugs também leva mais tempo. O gerenciamento de projetos também está se tornando mais complexo; não é necessário um, mas vários desenvolvedores para acompanhar tudo. Conseqüentemente, os custos, tanto monetários quanto de tempo, aumentam e o processo de desenvolvimento fica mais lento.
O projeto eventualmente se torna enorme e adicionar cada novo recurso exige cada vez mais esforço. Mesmo para algo muito insignificante você terá que gastar várias horas. A correção de erros existentes leva ao aparecimento de novos e os prazos de lançamento de aplicativos são perdidos.
Agora temos que lutar pela vida do projeto. Por que?
O fato é que você simplesmente não entendeu quando não deveria adicionar código extra e respondeu “sim” a todas as sugestões e ideias. Você estava cego, a vontade de criar coisas novas fez com que você ignorasse fatos importantes.
Parece um roteiro de filme de terror, certo?
Isso é exatamente o que acontecerá se você continuar dizendo sim. Tente entender quando o código não deve ser adicionado. Remova coisas desnecessárias do projeto - isso facilitará muito sua vida e prolongará a vida útil do aplicativo.
“Um dos meus dias mais produtivos foi quando excluí 1000 linhas de código.”
-Ken Thompson.
Aprender quando não escrever código é difícil. Mas é necessário.
Sim, eu sei que você acabou de embarcar no caminho de um desenvolvedor e quer escrever código. É bom, não perca aquela primeira impressão, mas não perca de vista fatores importantes por causa do entusiasmo. Percebemos tudo por tentativa e erro. Você também cometerá erros e aprenderá com eles. Mas se você aprender com o que foi dito acima, seu trabalho se tornará mais consciente.
Continue criando, mas saiba quando dizer não.
A Skillbox recomenda:
- Curso on-line aplicado .
- Curso online .
- curso de ano prático .
Fonte: habr.com
