Quais são os pontos principais do Código Completo? [fechadas]

72

Ouvi muita gente mencionar 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 principais pontos do livro?

Casebash
fonte
49
O ponto principal da página 824 do Código Completo 2 é que você realmente deve ler livros de programação!
azheglov 23/09/10
@azheglov: São 2 como na 2ª edição ou 2 como no Código Completo 2 que devem ser lidos após o Código Completo?
22410 Chris
@ Chris, quase 4 anos depois: é 2 como na 2ª edição, revisada e atualizada. E eu espero que você lê-lo na :-) Entretanto
Streppel

Respostas:

83

Code Complete é sobre artesanato em software; é um livro de nível avançado para iniciantes / intermediários, escrito para o programador ativo, mas ainda assim 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 resumidos em seu capítulo 34, Temas no artesanato de software. Como parafraseado em 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 seu processo : tenha consciência da qualidade desde o início (requisitos) até o final (implantação) e além (manutenção).
  3. Escreva programas para pessoas em primeiro lugar, computadores em segundo lugar : a legibilidade do código é extremamente importante para compreensão, capacidade de revisão, taxa de erros, correção de erros, modificabilidade e o consequente tempo e qualidade de desenvolvimento.
  4. Programe para o seu idioma, e não para ele : pense no quê? e porque? antes do Como?
  5. Concentre sua atenção com a ajuda de convenções : as convenções gerenciam a complexidade, fornecendo a estrutura onde é necessária, para que o recurso final - sua atenção - possa ser usado com eficácia.
  6. Programa em termos do domínio do problema : trabalhe no mais alto nível de abstração possível; o código de nível superior deve descrever o problema que está sendo resolvido. Distinga o nível do SO, o nível da linguagem de programação, as estruturas de implementação de baixo nível, os termos de domínio de problemas de baixo nível e, finalmente, os termos de domínio de problemas de alto nível que fariam sentido total para o usuário (sem codificador).
  7. Preste atenção em Falling Rocks : como a programação mescla arte e ciência, o bom senso é vital, incluindo os sinais de alerta.
  8. Repita, Repetidamente, Repetidamente : Repita os requisitos, design, estimativas, código, ajuste de código.
  9. Você renderizará software e religião em separado : seja eclético e esteja disposto a experimentar. Não seja um fanático inflexível, pois impede a curiosidade e o aprendizado. Vá além de ter apenas um martelo na sua caixa de ferramentas.

Mas as coisas mais importantes estão no Capítulo 33, Caráter pessoal : quando você conscientemente procura melhorar como codificador, pode e quer. A maneira mais rápida de fazer isso é assumir as atitudes dos mestres em codificação (humildade, curiosidade, honestidade intelectual, disciplina, criatividade), enquanto também pratica seus hábitos (muitos bons hábitos estão listados no livro, por exemplo, escolhendo boas variáveis ​​/ valores). nomes).

Além disso, o livro deixa claro que a diferença entre software médio e excelente é imensa ; esse fato por si só deve levar o codificador consciente a melhorar a si mesmo.

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

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

limist
fonte
Tem certeza de que este é um livro de nível intermediário? Parece bastante básico, com conselhos como "lembre-se de remover nomes de variáveis ​​não utilizados" - ótimo para alguém no primeiro ou no segundo ano da faculdade, talvez, mas não no nível intermediário (IMO).
Colen
11
@ Colen: obrigado pelo seu comentário, eu deveria ter especificado que é para iniciantes avançados / intermediários.
limist
10
@Colen: Embora o Code Complete lide com alguns tópicos simples misturados com os complexos, definitivamente não é para iniciantes. Praticamente qualquer desenvolvedor de qualquer nível pode se beneficiar da leitura; você ficaria surpreso com o pouco que alguns desenvolvedores "seniores" realmente sabem sobre o básico, especialmente se eles apenas programaram em um idioma ou trabalharam para uma empresa durante toda a carreira.
31513 Steve
11
O código IMO completo é desnecessário e detalhado - portanto, cuidado com o comprador!
precisa saber é o seguinte
Este é um bom resumo dos temas do livro. Você pode compartilhar suas anotações não tão longas e não tão curtas?
Akshay Khot
18

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

Se você é um programador iniciante, não entenderá muito do material e, se tiver experiência, o livro confirmará apenas o que você já sabe. Conseqüentemente, o livro pode ser de grande valia para programadores intermediários, que já possuem um pouco de conhecimento de programação, mas precisam de um livro de práticas recomendadas para combinar 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 o seu aparelho cacheado acabou. (ou é?)

Robert Harvey
fonte
4
Seu parênteses ganhou um voto positivo. : p
Nathan Taylor
Onde devo colocar chaves?
Petah