ti-enxame.com

Como escrever menos código

Uma qualidade que eu gostaria de desenvolver é escrever um código mais conciso. Com uma escrita mais concisa, pelo menos na minha opinião, a oportunidade de adicionar bugs ao código é menor. É mais fácil ler o código para outros.

Minha pergunta é se é algo que vem com a experiência ou é algo que você pode fazer explicitamente para desenvolver essa qualidade?

12
user1041

Eu diria que, no geral, é algo que vem com o tempo e a experiência, mas você pode descobrir que, se trabalhar com linguagens mais concisas, você trará essa qualidade de volta às suas línguas de trabalho normais.

Certamente depois de um ou dois anos trabalhando com Ruby Eu descobri que meu C # ficou muito tenso. Eu acho que se eu fosse entender melhor a programação funcional (uma ambição contínua) eu provavelmente tiraria mais disso.

Além disso, existem algumas diretrizes que podem ajudar - por exemplo, se você escrever as mesmas duas linhas mais de uma vez, divida-as em seus próprios métodos. Essa é uma diretriz simples, mas rapidamente reduz as linhas de código e recorta e cola a programação, que a maioria de nós é culpada de vez em quando.

Se você entende a herança, muitas vezes pode economizar na repetição do mesmo código em lugares diferentes, dando funcionalidade comum às classes pai. Em princípio, isso é óbvio, mas é algo que as pessoas geralmente deixam passar na prática.

Pode haver uma diferença entre escrever menos código e ter menos código em seu aplicativo - às vezes você pode usar a geração de código para evitar ter que se repetir, então você escreve apenas algumas linhas de código, mas eles geram muitos outros códigos para você - o que pode lhe dar muita vantagem. Veja o que uma ferramenta como Rails ou Entity Framework faz a esse respeito para entender como ela pode ser útil. Seja claro sobre a necessidade dela e pense duas vezes, três vezes e quatro vezes sobre rolar sua própria geração de código - isso pode levá-lo ao inferno YAGNI.

Entenda sua linguagem, sua API e suas ferramentas. Novamente, isso parece óbvio, mas ao longo dos anos eu escrevi tanto código que mais tarde percebi que estava reproduzindo uma funcionalidade que eu poderia ter herdado da API ou usado um recurso de linguagem para simplificar que percebi que algumas horas lendo sobre a documentação da API com a qual estou trabalhando me poupará muitas horas de codificação ou depuração posteriormente. Da mesma forma, a maioria das plataformas com as quais você trabalha tem um grão - aprenda a trabalhar da maneira que eles esperam e sua vida será muito mais fácil. Passe algum tempo encontrando a direção de menor resistência para a plataforma com a qual está trabalhando e você fará as coisas muito melhor.

Se você está se perguntando se existe uma maneira melhor de fazer algo, provavelmente existe e sempre vale a pena descobrir como fazer as coisas melhor.

12
glenatron

Uma ótima maneira de escrever menos código é tentar evitar reinventar a roda e usar componentes de software existentes quando disponíveis.

Uma resposta comum que recebo quando pergunto por que as pessoas fizeram seu próprio ORM, ou seu próprio mecanismo de registro, ou seus próprios componentes de IU, ou seus próprios tudo:

Mas o nosso é melhor

Eu acredito que esta afirmação está correta na maioria dos casos, mas o impacto negativo sobre o ROI é muito alto na maioria dos casos. Sua mãe faz os melhores pratos, certo? Mas você não pode pedir à sua mãe para vir para casa e prepará-los todos os dias.

É por isso que acho que os desenvolvedores deveriam ter interesse no impacto financeiro de suas escolhas. Alguns deles são:

  • Trabalho extra necessário para construir o componente
  • Trabalho extra para iniciantes aprenderem
  • Grande trabalho extra para mantê-lo

Gosto de pensar que esses fornecedores de componentes são sua equipe estendida, trabalhando para você por uma pequena fração do que você pagaria para construir, manter e melhorar você mesmo.

É melhor para toda a empresa ao máximo ROI em vez de trabalhar para maximizar a satisfação do nosso ego;) Quanto mais dinheiro sua empresa recebe, maior a probabilidade de suas condições de trabalho e o salário vai aumentar.

16
user2567

Na minha opinião, escrever menos código pode ser feito de várias maneiras:

  • Você não vai precisar disso . Não codifique algo de que ainda não precisa. Codifique apenas os requisitos declarados. Assim, reduziremos o código necessário para escrever.

  • Não se repita . Acredito que usar CMS, framework ou biblioteca de terceiros é uma forma de aplicar o princípio DRY).

  • Abstração . E por último, mas não menos importante, a programação de abstração também pode reduzir muito o código. Ao abstrair o código, a chance de reutilizá-lo será maior, pois isso reduz a duplicidade.

5
junxiong

Além da compreensão de uma linguagem de programação, acho que a compreensão de um problema e a descoberta de uma boa solução têm muito a ver com isso. Existem muitas soluções para a maioria dos problemas, mas nem todas são ideais. Você pode dirigir da cidade A para a cidade B por estradas diferentes - uma pode levar duas horas, a outra pode levar o dobro. É a mesma ideia na programação. Você pode conhecer uma linguagem muito bem, mas pode chegar a uma solução que leve, digamos, duas páginas de código, enquanto outra pessoa descobrirá uma solução que possa ser implementada em um quarto da metade do tamanho do código. Eu vi muito isso ao longo dos anos.

Certifique-se de ter um bom entendimento do problema. Analise-o, encontre a (s) solução (ões), pondere os prós e os contras (é claro que "soluções com 's'" variam muito de problema para problema - falando de maneira geral aqui.) Depois, há a implementação da solução escolhida, que é onde sua compreensão da linguagem (e estrutura, se aplicável) entrará em jogo.

3
MetalMikester

Pode-se dizer que toda a arte da programação se resume a isso.

Você pode estudar linguagens que têm uma ênfase tradicional em clareza e concisão (por exemplo, Haskell, Scheme, Python), ou mesmo paradigmas terser como Factor e outras linguagens concatenativas, mas no final das contas, tudo que você pode escolher para estudar deve em última análise, contribui para ajudá-lo a escrever um código mais curto e menos redundante.

1
Pi Delport

Como todas as outras aflições, se você não admite ter um problema, não vai procurar uma solução. A experiência começa a ser um fator quando você aprende a aparência de menos código. Quando você revisita seu código, é um ótimo momento para determinar se você pode reutilizar o código ou refatorar para menos código. A Microsoft foi capaz de melhorar a velocidade de impressão com o Windows 2000 NÃO fazendo o spool duas vezes (citação de um funcionário da Microsoft em uma de suas demonstrações gratuitas).

1
JeffO
  1. Volte seu antigo código prolixo,
  2. colocá-lo sob controle de versão,
  3. escrever alguns testes para ter uma esperança razoável de não introduzir novos bugs,
  4. reescrever.

Repita ad libitum. E bem vindo ao inferno.

0
ZJR