Quais são os pontos-chave do Code Complete? [fechadas]

69

Eu ouvi muitas pessoas mencionarem o Code Complete como um livro que vale a pena ler. Infelizmente, estou tão ocupado que não tenho tempo para lê-lo, então alguém pode me dizer quais são os pontos-chave do livro?

    
por Casebash 11.09.2010 / 05:06
fonte

2 respostas

79

O Code Complete é sobre o software craftsmanship; é um livro avançado de nível iniciante / intermediário, escrito para o programador de trabalho, mas ainda seria muito útil para alguém que está programando há pelo menos um ano.

Assim, os pontos-chave do Code Complete (2ª ed.) estão bem resumidos em seu Capítulo 34, Temas em Artesanato de Software. Como parafraseado das minhas anotações:

  1. Conquiste a Complexidade : reduza a carga cognitiva em sua mente por meio de disciplina, convenções e abstração.
  2. Escolha o seu processo : tenha consciência da qualidade desde o início (requisitos) até o final (implantação) e além (manutenção).
  3. Escrever programas para pessoas em primeiro lugar, computadores em segundo : legibilidade de código é imensamente importante para compreensão, capacidade de revisão, taxa de erro, correção de erros, modificabilidade e o consequente tempo e qualidade de desenvolvimento.
  4. Programa em seu idioma, não nele : pense no que? e porque? antes do How?
  5. Concentre sua atenção na ajuda das convenções : as convenções gerenciam a complexidade fornecendo estrutura onde ela é necessária, para que o recurso final - sua atenção - possa ser usado com eficiência.
  6. Programa em termos do domínio do problema : trabalhe no nível mais alto de abstração possível; código de nível superior deve descrever o problema que está sendo resolvido. Distinguir nível de SO, nível de linguagem de programação, estruturas de implementação de baixo nível, termos de domínio de problemas de baixo nível e, finalmente, termos de alto nível de domínio de problema que fariam sentido ao usuário (não-codificador).
  7. Cuidado com rochas cadentes : como a programação mescla arte e ciência, o bom senso é vital, incluindo a atenção aos sinais de alerta.
  8. Iterar, repetidamente, novamente e novamente : iterar requisitos, design, estimativas, código, ajuste de código.
  9. Tu Renderás Software e Religião Separada : seja eclético e disposto a experimentar. Não seja um fanático inflexível, impede a curiosidade e a aprendizagem. Vá além de ter apenas um martelo na sua caixa de ferramentas.

Mas o mais importante take-away está no Capítulo 33, Personagem Pessoal : uma vez que você busque conscientemente melhorar como codificador, você pode e quer. A maneira mais rápida de fazer isso é assumir as atitudes dos mestres codificadores (humildade, curiosidade, honestidade intelectual, disciplina, criatividade), enquanto também pratica seus hábitos (muitos bons hábitos são listados no livro, por exemplo, escolhendo bons nomes de variáveis / valores).

Além disso, o livro deixa claro que a lacuna entre média e excelente em software é imensa ; esse fato por si só deve levar o codificador consciencioso a melhorar a si mesmo.

Isso é o que falta; a versão longa está no livro. :) Também posso enviar-lhe as minhas notas não tão longas, não tão curtas, se quiser mais detalhes. Mas o livro é certamente dinheiro e tempo bem gasto, mesmo que o estilo de escrita seja cansativo às vezes.

Além do código completo, eu recomendo o The Pragmatic Programmer . É para programadores de nível intermediário, bem escrito e uma ótima combinação de conselhos de alto, médio e baixo nível.

    
por 17.09.2010 / 18:01
fonte
18

É um livro intermediário, uma mistura de melhores práticas de desenvolvimento de software.

Se você for um programador iniciante, não entenderá muito do material e, se tiver experiência, o livro confirmará apenas o que você já conhece. Conseqüentemente, o livro pode ser de grande valor para programadores intermediários, que já possuem um pouco de conhecimento de programação, mas precisam de um livro de práticas recomendadas para unir tudo isso.

Várias páginas são gastas em como formatar blocos de código e os méritos relativos de cada abordagem. Pessoalmente, acho que o grande debate sobre onde colocar as suas chaves acabou. (ou é?)

    
por 11.09.2010 / 05:45
fonte