Pergunta

Eu encontrei o Wikipedia entrada na codificação anti-padrão concisa e confundindo macio. Então, o que é macio codificação? Em quais configurações é uma má prática (anti-padrão)? Além disso, quando poderia ser considerado benéfico, e em caso afirmativo, como deve ser implementado?

Foi útil?

Solução

Resposta curta: ir a extremos para evitar rígido codificação e acabar com alguma camada de abstração monstro complicado manter essa é pior do que se os valores codificados duros tinha estado lá desde o início. ou seja, ao longo de engenharia.

Como:

SpecialFileClass file = new SpecialFileClass( 200 ); // hard coded

SpecialFileClass file = new SpecialFileClass( DBConfig.Start().GetConnection().LookupValue("MaxBufferSizeOfSpecialFile").GetValue());

Outras dicas

O principal ponto do artigo diário WTF na codificação suave é que por causa da otimização prematura e temer um sistema que é muito bem definidos e não há conhecimento duplicado é alterada e torna-se mais complexa, sem qualquer necessidade.

A principal coisa que você deve ter em mente é se as alterações realmente melhorar o seu sistema e evitar a levemente rótulo algo tão anti-padrão e evitá-lo por todos os meios. Configurando seu sistema e evitar hardcode é uma cura simples para o conhecimento duplicados no seu sistema (ver ponto 11: "DRY Do not Repeat Yourself" em o Guia de Referência Rápida Programmer Pragmatic ) Esta é a necessidade motriz por trás da sugestão de evitar hardcode. Ou seja, deve haver idealmente apenas um lugar em seu sistema (que seria código ou configuração) que deve ser alterado se você tem que mudar algo tão simples como uma mensagem de erro.

Ola, um bom exemplo de um projeto real que tem o conceito de softcoding construído para ele é o Django projeto. Seu arquivo settings.py abstrai certas definições de dados para que você possa fazer as mudanças lá em vez de incorporá-los dentro de seu código. Você também pode adicionar valores para o arquivo se necessário e usá-los quando necessário.

http://docs.djangoproject.com/en/dev/topics/ configurações /

Exemplo :

Este poderia ser um trecho do arquivo settings.py:

num_rows = 20

Então, dentro de um dos seus arquivos você pode acessar esse valor:

from django.conf import settings
...

for x in xrange(settings.num_rows):
   ...

A última palavra em softcoding:

const float pi = 3.1415; // Don't want to hardcode this everywhere in case we ever need to ship to Indiana.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top