Pete Goodliffe. Novatec



Documentos relacionados
Novatec Editora Ltda. [2014].

Design Centrado no Usuário

Jonathan Stark Brian Jepson

Julia Elman e Mark Lavin. Novatec

Crie Seu Próprio Site

David Hows Peter Membrey Eelco Plugge

Equipes de Software. Um guia para o desenvolvedor de software se relacionar melhor com outras pessoas. Brian W. Fitzpatrick Ben Collins-Sussman

Desenvolvimento de Grandes Aplicações Web

Google Analytics Justin Cutroni

PDF Explicado John Whitington

As Leis Fundamentais do Projeto de Software

Introdução ao GitHub Peter Bell e Brent Beer

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Primeiros Passos com o Raspberry Pi

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Padrões de Projeto em PHP

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Novatec Editora Ltda

Josh Pauli Revisão técnica Scott White. Novatec

Camila Porto. Novatec

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Ricardo Lino Olonca. Novatec

Pramod J. Sadalage Martin Fowler

Hélio Engholm Jr. Novatec

Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Capa: Victor Bittow Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata

Wilson Moraes Góes. Novatec

Google Android para Tablets

Aprendendo Programação. ios. Alasdair Allan. Novatec

Josh Lockhart. Novatec

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Novatec Editora Ltda

Ademir C. Gabardo. Novatec

Empresa. Dave Gray. Novatec. com Thomas Vander Wal

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Desenvolvendo Websites com PHP

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Paulo Strelczuk. Novatec

Brandon Rhodes John Goerzen

Allen B. Downey. Novatec

Wilson Moraes Góes. Novatec

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Harrison Kinsley Will McGugan

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Shyam Seshadri & Brad Green

Desenvolvimento de Grandes Aplicações Web

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Mineração de dados da web social Matthew A. Russell

Ryan Mitchell. Novatec

Jody Culkin e Eric Hagan

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

2ª EDIÇÃO. André Milani. Novatec

Ricardo R. Lecheta. Novatec

Allan Liska e Timothy Gallo. Novatec

André Gugliotti. Novatec

Primeiros Passos com o Netduino

Dinâmica dos fluidos

Service Desk Corporativo

Primeiros Passos com o Arduino

Aprendendo Cocoa com Objective-C Paris Buttfield-Addison Jonathon Manning

Karl Matthias Sean P. Kane

Josh Lockhart. Novatec

Guia Definitivo de. . DJ Waldow Jason Falls. Tradução Aline Naomi Sassaki. Novatec

Ricardo Kléber M. Galvão. Novatec

Aprendendo Programação. ios. Alasdair Allan. Novatec

Ricardo Lino Olonca. Novatec

Murillo Lo Visco. Novatec

Guia Prático Richard E. Silverman

Keith Wood. Apresentação de Dave Methvin. Novatec

Benjamin Bengfort Jenny Kim

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

ABCEducatio entrevista Sílvio Bock

Luiz Carlos Querino Filho

Google Analytics Justin Cutroni

Autor: Marcelo Maia

Compreendendo a dimensão de seu negócio digital

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Padrões JavaScript Stoyan Stefanov

Desenvolvendo Websites com PHP

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Adrian Mejia. Novatec

Guia Prático para Encontrar o Seu.

Introdução à Programação com Python

Mariana, 9 anos - Escrever esse livro foi uma experiência interessante, legal e divertida!

Edgar Gomes de Abreu

Introdução à Programação com Python

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

João Eriberto Mota Filho

Antes de tudo... Obrigado!

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Estudo de Caso. Cliente: Rafael Marques. Coach: Rodrigo Santiago. Duração do processo: 12 meses

Transcrição:

Pete Goodliffe Novatec

Authorized Portuguese translation of the English edition of Becoming a Better Programmer, ISBN 9781491905531 2014 Pete Goodliffe. This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Becoming a Better Programmer, ISBN 9781491905531 2014 Pete Goodliffe. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. Novatec Editora Ltda. [2015]. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Lúcia A. Kinoshita Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Assistente editorial: Priscila A. Yoshimatsu ISBN: 978-85-7522-415-1 Histórico de impressões: Janeiro/2015 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

capítulo 1 Importar-se com o código Das pessoas com quem nos importamos vem a coragem. 1 Lao-Tsé Não é preciso ser Sherlock Holmes para descobrir que bons programadores escrevem bons códigos. Programadores ruins... não. Esses produzem monstruosidades do tamanho de um elefante, que o restante de nós deve limpar. Você quer escrever um código bom, certo? Você quer ser um bom programador. Um bom código não surge simplesmente do nada. Não é algo que acontece por sorte quando os planetas se alinham. Para ter um bom código, é preciso trabalhar nele. Arduamente. E você só terá um código bom se realmente se importar com códigos bons. PONTO-CHAVE Para escrever um bom código, você deve se importar com ele. Para ser um programador melhor, é necessário investir tempo e esforço. Uma boa programação não nasce somente da competência técnica. Já vi programadores altamente intelectuais que conseguem produzir algoritmos intensos e impressionantes, conhecem o padrão de sua linguagem de cor, mas escrevem o pior código possível. É um código difícil de ler, de usar e de modificar. Já vi programadores mais humildes que se atêm a um código bem simples, porém escrevem programas elegantes e expressivos com os quais é uma satisfação trabalhar. Com base em meus anos de experiência na produção de software, concluí que a verdadeira diferença entre programadores medíocres e programadores excelentes é esta: atitude. Uma boa programação resulta da adoção de uma abordagem profissional e de querer escrever o melhor software que você puder, levando em conta as limitações e as pressões do mundo real na produção de software. 1 N.T.: Essa e todas as demais citações contidas neste livro são traduções livres, feitas de acordo com a citação original em inglês. 24

Capítulo 1 Importar-se com o código 25 O código para o inferno está cheio de boas intenções. Para ser um programador excelente, você deverá estar acima das boas intenções e realmente se importar com o código adote perspectivas positivas e desenvolva atitudes saudáveis. Bons códigos são cuidadosamente trabalhados por mestres-artesãos, e não implementados por programadores desleixados, sem muito planejamento, ou criados misteriosamente por aqueles que se autodenominam gurus da codificação. Você quer escrever bons códigos. Quer ser um bom programador. Portanto você se importa com o código. Isso significa que você deve agir de acordo com esta postura, por exemplo: Em qualquer situação de codificação, você se recusa a criar um hack que somente pareça funcionar. Você se esforça para compor um código elegante, que esteja claramente correto (e tem bons testes para mostrar que ele está correto). Você escreve um código que revele a intenção (que outros programadores possam entender facilmente), que possa ser mantido (que você ou outros programadores serão capazes de modificar facilmente no futuro) e que esteja correto (você executa todos os passos possíveis para determinar que o problema tenha sido resolvido, em vez de simplesmente fazer parecer que o programa funciona). Você trabalha bem com outros programadores. Nenhum programador é uma ilha. Poucos programadores trabalham sozinhos; a maioria trabalha em uma equipe de programadores, seja em um ambiente de empresa ou em um projeto de código aberto. Você leva os outros programadores em consideração e cria um código que os demais possam ler. Você quer que a equipe escreva o melhor software possível em vez de querer parecer ser o mais inteligente. Sempre que mexer em um código, você se esforça para torná-lo melhor do que estava (mais estruturado, mais bem testado e mais compreensível...). Você se importa com código e com programação, portanto está constantemente aprendendo novas linguagens, idioms e técnicas. Porém você somente os aplica quando for apropriado. Felizmente, você está lendo este livro porque realmente se importa com código. Está interessado por ele. O código é a sua paixão. Você gosta de criá-lo de forma adequada. Continue lendo e veremos como transformar essa preocupação com o código em ações práticas. À medida que fizer isso, nunca se esqueça de se divertir com a programação. Aprecie remover códigos para solucionar problemas intrincados. Crie softwares que o deixem orgulhoso.

26 Como ser um programador melhor PONTO-CHAVE Não há nada de errado em ter uma resposta emocional a um código. Ter orgulho de seu bom trabalho ou ficar aborrecido com um código ruim é saudável. Perguntas 1. Você se importa com código? Como isso se manifesta no trabalho que você produz? 2. Você quer se aperfeiçoar como programador? Em quais áreas você acha que deve trabalhar mais? 3. Se você não se importa com código, por que está lendo este livro?! 4. O quão exata é a afirmação Bons programadores escrevem código bom. Programadores ruins... não? É possível que bons programadores escrevam código ruim? Como? Veja também Desenvolvimento de software é... (Capítulo 14) Com o que é que nós nos importamos? Fale! (Capítulo 36) Nós nos importamos em trabalhar com um código bom. Também devemos nos importar em trabalhar com boas pessoas. TENTE ISTO... Comprometa-se agora com a melhoria de suas habilidades de programação. Envolva-se com o que você ler neste livro, responda às perguntas e procure realizar todos os desafios da seção Tente isto...