Leanpub Header

Skip to main content

Programador Profissional

Técnicas e Práticas de Codificação

Aprenda as técnicas e práticas especiais que um programador profissional sabe e usa para escrever e manter códigos de alta qualidade. Este livro junta experiência em desenvolvimento de software com a didática necessária para o ensino do ofício de programar para viver :)

Minimum price

Free!

$9.99

You pay

$9.99

Author earns

$7.99
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
691
Readers
151
Pages
About

About

About the Book

Programador Profissional

Técnicas e Práticas de Programação

Se eu fosse resumir o objetivo deste livro em uma linha ela seria

`` Como construir software de qualidade dando atenção especial ao código-fonte. ``

Aprendizes e iniciantes na área da programação, ou desenvolvimento de software, como preferir, podem usar este livro como referência para o exercício da profissão.

Nesta obra há uma compilação de conhecimentos e habilidades necessárias para te ajudar a fazer boas decisões quando estás programando. O livro todo é sobre programar melhor.

Contudo, é importante dizer que de jeito nenhum se pretende esgotar o tema. Grande parte das ideias presentes aqui não vieram totalmente da minha cabeça. Ao contrário, as ideias são baseadas em grandes obras, as referências na área, escritas por excelentes profissionais, como Martin Fowler, Kent Beck, Joshua Bloch, entre outros.

Abordagem

Tenha em mente que este livro foi escrito a partir de notas de aula usadas no ensino de tópicos avançados de programação, tais como: técnicas, princípios e padrões de projeto de softwares, práticas específicas, etc. Esta origem deu ao livro as seguintes características:

  • Dedicado ao ensino: foi projetado para ser didático, "digerível", simples -- mesmo que explique conceitos complexos;
  • Focado na prática: foi pensando para o exercício do ofício, para trabalhar mesmo, e por isso é povoado de estudos de caso, exemplos e muitos códigos;
  • No nosso idioma e cultura: não foi escrito para ser uma obra erudita e sim para ser simples de ler, acessível às pessoas que falam e/ou entendem português -- com um leve sotaque gaúcho;

Códigos dos exemplos

A maior parte dos códigos está disponível na linguagem de programação Java. Ela é a linguagem mais usada na grande maioria dos livros de técnicas, práticas e padrões, isto é, sempre que a linguagem não é o foco do livro. Java também é bastante usada pelas faculdades e escolas técnicas, dado o suporte avançado aos conceitos de programação orientada a objetos e alinhamento com linguagens de modelagem visual, como a UML.

De fato, 97.312% do conteúdo deste livro é implementável em qualquer linguagem de programação, com poucos ajustes. O foco nunca é a linguagem, senão as técnicas! Para complementar, sempre que cabível, existem códigos de exemplo em outras linguagens como: C, PHP, Ruby, etc.

Organização dos capítulos

O livro está organizado tanto para cobrir a escrita de códigos novos como também a reescrita (refatoração) de códigos existentes. Portanto, resulta nos seguintes capítulos:

  • Capítulo 000 – O Programador Profissional: oferece uma introdução ao tema central deste livro: códigos.
  • Capítulo 001 – Boas Práticas de Codificação: apresenta as melhores práticas usadas pelos profissionais para escrever códigos de alta qualidade técnica.
  • Capítulo 010 - Técnicas Avançadas de Codificação: mostra as técnicas aplicadas por programadores experientes para escrever códigos sofisticados e elegantes.
  • Capítulo 011 - Melhorando Códigos Existentes: apresenta técnicas e práticas usadas para melhorar uma lógica e códigos que já existem (o famoso código legado).
  • Capítulo 100 - Cenas dos Próximos Capítulos: faz uma análise do que foi visto e traz um resumo do que ficou para próximas publicações.

Para quem é este livro

Este é um livro destinado à Educação Profissional. Foi testado em sala de aula e usado nas disciplinas de Aspectos Avançados de Programação, Arquitetura e Projeto de Software e Tópicos Avançados, nos cursos de Análise e Desenvolvimento de Sistemas e Técnico em Informática para Internet, ambos do Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul (IFRS).

É uma obra útil para estudantes que já passaram pelas disciplinas iniciais de seus cursos (como Lógica ou Introdução à Programação e Programação Orientada a Objetos) e que pretendem escrever códigos profissionalmente, para ingressar e obter êxito no mundo de trabalho.

Também pode atender programadores formados e mesmo aqueles que nunca fizeram um curso, mas que já trabalham na área e buscam um material técnico especializado que vá além do básico, com uma abordagem direta e aplicação prática.

Líderes Técnicos ou Gerentes de Projeto podem usar este livro para treinar suas equipes. Programadores experientes podem achar os tópicos muito básicos, afinal já passaram pelas armadilhas e intempéries que motivam estas práticas, isto é, já são profissionais. Talvez, ainda possam encontrar algumas coisinhas interessantes.

Academicamente, este livro é adequado ao ensino em cursos voltados para a Educação Profissional, Técnica e Tecnológica, tais como: Técnico em Informática, Técnico em Informática para Internet, Tecnologia em Análise e Desenvolvimento de Sistemas, Tecnologia em Sistemas para Internet, além de cursos de formação inicial e continuada na área de desenvolvimento de sistemas.

Para quem não é este livro

Não cobre construções básicas de programas. O livro não tem o objetivo de ensinar a programar do zero. Ao contrário, é um livro para ensinar a programar melhor. Se não sabes programar, se não passaste por uma disciplina introdutória à programação, é bem provável que não seja muito útil.

Não é sobre algoritmos e estruturas de dados. Embora algumas técnicas sejam relacionadas à performance, o livro não aborda técnicas de escrita de algoritmos para obter eficiência computacional.

Não é teórico. Não espere deste livro uma abordagem teórica. Ele foi escrito por um praticante para praticantes.

Author

About the Author

Márcio Torres

Quem é Márcio Torres? Eu sou Professor, Mestre em Engenharia de Computação, Desenvolvedor de Software, e entusiasta da área de Engenharia de Softwares. Comecei a programar no início de 90 em Basic num CP500. Trabalhei com várias plataformas e linguagens. Na década de 2000 me dediquei aos Sistemas Corporativos sobre a Plataforma Java. E de 2010 até os dias atuais exerço a docência no Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul, ministro componentes curriculares voltados à Programação Orientada a Objetos e ao Projeto e Arquitetura de Sistemas nos cursos superior de Tecnologia em Análise e Desenvolvimento de Sistemas e Técnico em Informática para Internet.

Contents

Table of Contents

Prefácio

Introdução

  1. Abordagem
  2. Códigos dos exemplos
  3. Organização dos capítulos
  4. Para quem é este livro
  5. Para quem não é este livro
  6. Convenções
  7. Sobre mim

Capítulo 000 – O Programador Profissional

  1. De amador a profissional
  2. Sobre o livro
  3. Existem diferenças entre programador e desenvolvedor?
  4. O preço do amanhã está na habilidade de projetar
  5. A palavra de ordem é DI-VI-DIR
  6. O impacto na Qualidade de Software
  7. Pedaços de mau código
  8. Técnicas, Práticas, Princípios, Padrões e Bruxarias
  9. Existe uma diferença entre conhecer o caminho e percorrer o caminho
  10. O que vem a seguir

Capítulo 001 – Boas Práticas de Programação

  1. A importância da aderência aos estilos e convenções de código
  2. O nome é importante
  3. Diferenças devem ser bem visíveis e as semelhanças agrupadas criteriosamente
  4. Os nomes devem ser pronunciáveis
  5. Substantivos como nomes de classes e verbos como nomes de métodos
  6. Inglês, Português ou русский язык
  7. Classes e métodos pequenos
  8. Um problema de cada vez, pequeno gafanhoto
  9. Poucos parâmetros, menos é mais nesse caso
  10. Projete para que NULL não seja passado como parâmetro
  11. Projete para evitar flags como parâmetros
  12. Não introduzirás comentários inúteis
  13. Práticas para tornar os comentários obsoletos
  14. Não comente o óbvio
  15. Use o teu talento de escritor para escrever a documentação em vez de simplesmente adicionar comentários
  16. Considerações sobre boas práticas

Capítulo 010 – Técnicas de Codificação

  1. Encadeamento de construtores (constructor chaining)
  2. Interface fluente (fluent interface)
  3. Funções variádicas (varargs)
  4. Iteradores e iterabilidade
  5. Geradores (generators)
  6. Melhor pedir perdão do que permissão
  7. Olhe antes de pular
  8. Métodos fábrica estáticos
  9. Relançamento de exceção
  10. Concatenação de strings com builders e appenders
  11. Comparação na mão-esquerda
  12. Retorno cedo!
  13. Retorno booleano
  14. Valor padrão e opcionalidade de parâmetros
  15. Ordenar expressões condicionais do menor ao maior custo
  16. Considerações sobre técnicas

Capítulo 011 – Melhorando Códigos Existentes

  1. Definindo Refatoração
  2. Por que refatorar?
  3. Maus cheiros no código
  4. Smell: código duplicado
  5. Smell: classes e método muito longos
  6. Smell: excesso de parâmetros
  7. Smell: grupos de dados
  8. Smell: obsessão primitiva
  9. Smell: comentários (também conhecidos como “desodorante”)
  10. Smell: números (e strings) mágicos
  11. Refatorações Comuns
  12. Refatoração: renomear
  13. Refatoração: extrair (introduzir) classe
  14. Refatoração: extrair (introduzir) superclasse
  15. Refatoração: extrair (introduzir) método
  16. Refatoração: introduzir variável explicativa
  17. Refatoração: introduzir método consulta
  18. Refatoração: inverter condicional
  19. Refatoração: introduzir constante
  20. Refatoração: introduzir objeto parâmetro
  21. Considerações sobre melhoria de código existente

Capítulo 100 – Cenas dos próximos volumes

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub