Code Complete

#books/tech

Why did I read this book?

Many good reviews saying that experienced programmers benefit from the knowledge in this book.

After reading the first 7 chapters I realized that this book has a lot of "progammer's wisdom". I'm very sure that my time spent reading this book really worth it.


Most valuable learnings


My notes


Principais Aprendizados

Heurísticas > Algoritmos

Ou falando com minhas palavras: Perguntas são mais valiosas que respostas.

Algoritmos nos fornecem soluções para um determinado problema. Heurísticas nos fornecem dicas de como criar algoritmos.

Eu prefiro falar da seguinte forma: algoritmos nos fornecem respostas, heurísticas nos mostram quais são as perguntas. Eu acredito que as perguntas são mais valiosas pois elas mudam com menos frequência. As respostas podem variar muito dependendo do contexto, mas as perguntas permanecem as mesmas.

Controlar a complexidade

O principal objetivo de um profissional de software é controlar a complexidade.

Isso foi bem 🤯 mindblowing pra mim. Me deixou alerta no meu trabalho, sempre atento a situações onde a complexidade das soluções está saindo de controle. Se uma determinada estratégia aumenta a complexidade, muito provavelmente este não é o melhor caminho.

Observação: não esquecer da Lei de conservação da complexidade (aka Tesler's Law):

Toda aplicação tem uma quantidade inerente e irredutível de complexidade. A única questão é: quem vai lidar com isso - o usuário, o desenvolvedor da aplicação, ou o desenvolvedor da plataforma?