A Arte de Escrever Programas Legíveis Na Visão de Um Dev Android

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /A Arte de Escrever Programas Legíveis Na Visão de Um Dev Android

A Arte de Escrever Programas Legíveis Na Visão de Um Dev Android

Vinícius Thiengo
(2171) (3)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloManual de DevOps: como obter agilidade, confiabilidade e segurança em organizações tecnológicas
CategoriaEngenharia de Software
Autor(es)Gene Kim, Jez Humble, John Willis, Patrick Debois
EditoraAlta Books
Edição1ª
Ano2018
Páginas464
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Tudo bem?

Já inicio informando que você não, não deve se preocupar com os trechos de código em C++ ou em JavaScript apresentados no livro "A Arte de Escrever Programas Legíveis".

Livro A Arte de Escrever Programas Legíveis

Mesmo assumindo que você provavelmente não programa aplicativos Android com nenhuma dessas duas tecnologias.

Acredite: o uso dessas linguagens não atrapalha em nada no entendimento dos conceitos apresentados.

Nesta resenha vou mostrar a você, desenvolvedor Android, como ainda vale muito a pena investir em leituras como a do livro "A Arte de Escrever Programas Legíveis".

Principalmente se você busca profundidade em performance e em carreira.

E se você por um acaso não é desenvolvedor Android e mesmo assim anda "namorando" a possibilidade de investir nesta leitura… continue, certamente está resenha será também útil a ti.

O título "A Arte de Escrever Programas Legíveis" não é uma novidade entre os desenvolvedores, até porque foi lançado em 2012.

Mas sem sombra de dúvidas é um daqueles livros que podemos seguramente classificar como atemporal.

Obviamente que sempre tem uma coisa ou outra que está depreciada. Mas o conteúdo do livro, em sua maioria, é ainda muito útil.

Aliás, todos os livros de Engenharia de Software (o assunto "programas legíveis" é parte da Engenharia de Software)…

… todos os artifícios (livros, cursos, podcasts, …) de Engenharia de Software são atemporais no desenvolvimento de apps Android.

Mas eu concordo com você que muito disso é devido ao ainda domínio da orientação a objetos no contexto mobile.

Domínio que, a principio, não apresenta sinais de que vai perder o "trono" entre os paradigmas de programação mais utilizados.

Agora falando especificamente sobre o livro "A Arte de Escrever Programas Legíveis"…

… a proposta deste título é sim mostrar ao leitor como escrever códigos de maneira que outros desenvolvedores, e até mesmo o programador que criou os algoritmos, consigam seguramente manter o projeto sem problemas de leitura de scripts.

Aliás, algo que é muito enfatizado tanto neste livro quanto no popular Código Limpo de Robert Martin:

A maior parte do tempo e dinheiro investidos em softwares é na leitura deles. Mesmo os "adolescentes" e normalmente menores códigos de projetos Android.

Só que diferente e totalmente na contra-mão do título "Código Limpo", aqui os autores Dustin e Trevor, ambos Engenheiros de Software no Vale do Silício, também têm conteúdos direcionados somente a comentários em código fonte.

Algo que eu mesmo não incentivo. Pois sou da “escola" de que se seu algoritmo precisa de comentário, então ele está mal escrito… ao menos mal rotulado em classes, métodos e variáveis.

Mas Thiengo, o projeto Android de app framework para YouTubers está repleto de comentários?

Sim.

Eu escolhi isso, pois quis algo bem completo em relação ao que é disponibilizado como framework para a comunidade Android.

Mas normalmente eu somente comento quando é algo solicitado pelo contratante.

De qualquer forma, como dica inteligente sobre o assunto "comentários em código": não seja radical igual a mim.

Pois já a algum tempo eu consegui internalizar que tem sim partes do código que merecem ser comentadas, principalmente aquelas com inúmeros blocos condicionais ou com loops do…while().

Aliás, antes que eu me esqueça:

Se você não tiver outra saída e realmente tiver que utilizar o do…while() em seus códigos Android.

Então POR FAVOR, informe em comentário o porquê da necessidade de executar ao menos a primeira vez o algoritmo sem avaliação condicional (exatamente o que o do…while() faz).

Isso facilitará consideravelmente o entendimento de todo o trecho de código que utiliza esse tipo de loop.

Voltando ao livro…

… além dos capítulos que abordam técnicas de comentários em código, o título tem muitas outras partes de destaque:

  • Como melhor rotular classes, métodos e variáveis;
  • Como diminuir o tamanho dos métodos dividindo-os primeiro por blocos e depois em novos métodos;
  • Como melhorar a legibilidade do código com variáveis de explicação e de resumo (confesso que isso foi algo que me surpreendeu muito devido à facilidade de aplicação e ao ganho em leitura de código);
  • A importância de diminuir o escopo de membros de classe (aqui, de maneira implícita, os autores fazem “apologia" ao uso do popular padrão Injeção de Dependência);
  • Como melhorar a nomenclatura das classes e funções de testes (novamente, de maneira implícita, promovendo o uso do TDD);
  • A diferença entre "estética" e "design" de um projeto de software;
  • Como transformar pensamentos em códigos (é sério);
  • … entre outros.

Um detalhe:

Como o livro é de 2012, quando em capítulos sobre "Como rotular classes, métodos e variáveis", os autores não vêem problemas no uso de rótulos com underline "_".

Minha opinião sincera sobre isso é que: no contexto de desenvolvimento de aplicativos Android somente utilize underline como parte dos rótulos de membros que são constantes (const val). Todo o restante deve ser no estilo CaMeLcAsE.

Próximo do fim desta resenha preciso sim elogiar a maneira como todo o conteúdo é apresentado no livro, que tem apenas 211 páginas.

Os capítulos são curtos e bem fáceis de ler, entender. Mesmo com os códigos sendo apresentados em sintaxe C++ ou JavaScript.

Mas já lhe aviso que eu não recomendo este título para aqueles que estão aprendendo a programar, ou seja, estão iniciando, estão no "Hello World".

Pois assuntos como O(n), O(n^2) e consumo de memória serão citados e isso pode deixar aqueles completos iniciantes totalmente desmotivados.

De qualquer forma, se você é um iniciante em desenvolvimento Android (ou em programação no geral) e quer investir no título mesmo assim, então keep going.

Pois ao menos os capítulos sobre comentários e rotulação de classes e membros serão de grande utilidade.

Então é isso.

Se você busca profundidade em seus conhecimentos e carreira como developer, então recomendo sim a leitura do livro.

Tranquilamente ele pode ser aquele livro de leitura rápida antes de dormir ou logo quando você acorda.

Se houverem dúvidas sobre o título ou se você quiser recomendar algum outro… deixe logo abaixo nos comentários que logo eu lhe retorno.

Não esqueça de conhecer também o meu canal no YouTube (caso você ainda não o conheça) e...

... não deixe de se inscrever na 📩 lista de e-mails para também garantir o recebimento de conteúdos exclusivos sobre desenvolvimento Android e codificação limpa.

Abraço.

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

Como Impulsionar o App Android - Compartilhamento NativoComo Impulsionar o App Android - Compartilhamento NativoAndroid
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler7 Livros Que Não São de TI, Mas Que Um Programador Deveria LerEmpreendedorismo
Android: Qual Tecnologia de Desenvolvimento Utilizar?Android: Qual Tecnologia de Desenvolvimento Utilizar?Android
Como Melhorar a Experiência do Usuário Utilizando API de MapaComo Melhorar a Experiência do Usuário Utilizando API de MapaAndroid

Compartilhar

Comentários Facebook

Comentários Blog (3)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Fábio (1) (1)
02/12/2020
Thiengo!

Antigamente eu tinha como ideia que "se seu algoritmo precisa de comentário, então ele está mal escrito?". Hoje vejo que essa premissa está errada, segundo o meu ponto de vista.

No dia a dia, onde você precisa dar manutenção em diversos softwares (Financeiro, Estoque, Produção, Custos, etc) a troca de conceito de cada área confunde e a pressa na resolução do problema atrapalha o desempenho da resolução do problema. Entendo que vale mais a pena vc deixar um comentário, mesmo que inicialmente pareça ridículo, mas isso ajudará a não ter que traduzir e também ajudará a validar se a sintaxe usada condiz com a ideia esperada.

Fora que comentários ajudam a iniciantes a entenderem o que um comento se refere. Claro, que não comento todas as linhas, mas algumas declarações de variáveis, condicionais e laços eu faço muito uso.

Att
Responder
Vinícius Thiengo (0) (1)
03/12/2020
Fábio, tudo bem?

Excelente comentário.

Foi o que eu disse "(...) não seja radical igual a mim".

Confesso que estou também dando mais atenção aos blocos condicionais e aos parâmetros de métodos. Colocando comentários nesses.

Isso para que não restem dúvidas sobre o porquê de cada linha desses trechos de código.

É isso.

Abraço.
Responder
wesllycode (1) (1)
07/08/2022
Obrigado, pelo conhecimento !
Responder