Técnicas de Programação
Principais Livros e Artigos
- McCONNELL, Steve C. Code Complete: A Practical Handbook of Software Construction. Redmond, WA: Microsoft Press, 1993. 890 p.
- SEELY, Donn M. Coding Smart: People vs. Tools. Queue, New York, v. 1, nº 6, p. 32-40, sep. 2003. [Boas práticas no desenvolvimento de sistemas.]
- FOWLER, Martin. Refatoração: Aperfeiçoando o Projeto de Código Existente. Porto Alegre: Bookman, 2004. 373 p.] [Trata especificamente da melhoria de programas já existentes. Apresenta um catálogo de atividades para melhoria do código, com todos os exemplos feitos em Java. Contudo, os princípios da refatoração podem ser aplicados a qualquer linguagem de programação.]
- RASKIN, Jeff. Comments are More Important than Code. Queue, New York, v. 3, nº 2, p. 62-64, mar. 2005.
- SEBESTA, Robert. Conceitos de Linguagens de Programação. 5ª ed. Porto Alegre: Bookman, 2003. 638 p.
Outros Livros e Artigos Interessantes
- ADL-TABATABAI, Ali-R.; KOZYRAKIS, Christos; SAHA, Bratin. Unlocking Concurrency. Queue, New York, v. 4, nº 10, p. 24-33, dec. 2006-jan. 2007. [Discute as vantagens da utilização de técnicas de concorrência em programas em sistemas com múltiplas CPUs.]
- ARNOLD, Ken. Programmers Are People, Too. Queue, New York, v. 3, nº 5, p. 54-59, jun. 2005. [Projeto de APIs considerando fatores humanos.]
- BATES, Rodney. Syntatic Heroin. Queue, New York, v. 3, nº 5, p. 62-64, jun. 2005. [Discute os problemas do uso de sobrecarga em linguagens de programação.]
- ELRAD, Tzila; FILMAN, Robert E.; BADER, Atef. Aspect-Oriented Programming. Communications of the ACM, New York, v. 44, nº 10, p. 28-32, oct. 2001.
- HENNING, Michi. API Design Matters. Queue, New York, v. 5, nº 4, p. 24-36, may-jun. 2007. [Defende a melhoria urgente das APIs devido ao enorme potencial de causar danos ao software alheio.]
- JENKINS, Stephen B. Musing of an ‘Old-School’ Programmer. Communications of the ACM, New York, v. 49, nº 5, p. 124-126, may 2006. [Apresenta argumentos a favor de uma abordagem mais simples para o desenvolvimento de software, baseado nas experiências anteriores do autor.]
- MARTIN, Fred. Toy Projects Considered Harmful. Communications of the ACM, New York, v. 49, nº 7, p. 113-116, jul. 2006.
- MASHEY, John R. Languages: Levels, Libraries, and Longevity. Queue, New York, v. 2, nº 9, p. 32-38, dec. 2004/jan. 2005. [Discute as razões do sucesso de certas linguagens em detrimento de outras.]
- NEVILLE-NEIL, George V. Code Spelunking: Exploring Cavernous Code Bases. Queue, New York, v. 1, nº 6, p. 42-48, sep. 2003.
- NEVILLE-NEIL, George V. KV Unscripted. Queue, New York, v. 3, nº 8, p. 14-16, oct. 2005. [Alerta contra os perigos de abusar do recortar-e-colar, ignorando o uso de sub-rotinas e bibliotecas.]
- NEVILLE-NEIL, George V. Login On With KV. Queue, New York, v. 4, nº 5, p. 9-10, jun. 2006. [Dificuldades em escrever um bom sistema de log.]
- NEVILLE-NEIL, George V. Peerless P2P. Queue, New York, v. 4, nº 10, p. 12-13, dec. 2006-jan. 2007. [Propõe vários modelos de arquitetura para aplicações que permitem o compartilhamento de arquivos de forma segura.]
- SEELY, Donn M. How Not to Write FORTRAN in Any Language. Queue, New York, v. 2, nº 9, p. 58-65, dec. 2004/jan. 2005. [Apresenta boas práticas no estilo de codificação para aumentar a legibilidade dos programas.]
- SPINELLIS, Diomidis. Reading, Writing and Code. Queue, New York, v. 1, nº 7, p. 84-89, oct. 2003. [Boas práticas no estilo de codificação.]
- WILSON, Gregory V. Extensible Programming for the 21st Century. Queue, New York, v. 2, nº 9, p. 48-57, dec. 2004/jan. 2005. [Propõe estender os ambientes de desenvolvimento de forma a aumentar a expressividade das linguagens de programação.]
- PUGA, Sandra; RISSETTI, G. Lógica de Programação e Estruturas de Dados. São Paulo: Makron, 2004.
- SALIBA, Walter L. C. Técnicas de Programação. São Paulo: Makron, 1992.
- VILLAS, Marcos V.; VILLASBOAS, Luiz F. P. Programação: Conceitos, Técnicas e Linguagens. Rio de Janeiro: Campus, 1997.