Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Vantagens e Desvantagens da 'simplificação' do código

Olá!

Gostaria de saber qual são as principais vantagens e desvantagens em realizar essas reduções de cógido, poderiam me ajudar?

Minha pergunta vem em função de que ao ter realizado alguns outros cursos e também consumindo alguns conteúdos sobre programação, geralmente a melhor maneira de programar seria a forma mais simples e fácil de entender (para mim e para outros). Mas em alguns casos nesse curso o processo parece ir no sentido oposto, reduzir a necessidade de linha de código, mas que a meu ver dificultam o etendimento em um primeiro momento.

Por isso me questiono quais são as vantagens de já direcionar um pouco para essa possibilidade de "otimizar", seria apenas para entender que isso pode ser feito ou seria uma espécie de "boa prática" no futuro ? Pois eu tenho ignorado um pouco praticar essas reduções e tento consolidar melhor a base para talvez um dia fazer isso caso necessário.

Ah, segue um exemplo caso não tenha ficado claro:

De:

Acessorios = [] 
for lista in dados:
  for item in lista:
    Acessorios.append(item)

list(set(Acessorios))

Para:

list(set([item for lista in dados for item in lista]))
1 resposta
solução!

É um argumento bastante debatido em diversas linguagens de programação. Se você digitar:

import this

Você verá como retorno um poema Zen of Python, que nada mais é um guia de boas práticas de programação que fica escondido como easter egg no Python.

Códigos bens escritos deveriam ser fácil de se ler, no entanto um laço for "nested" é bonito, compacto, eficiente... gera muito mais valor poético do que prático. Quando escrevo códigos "implicitos" me gera valor como desenvolvedor por demonstrar que eu domino a linguagem e sou capaz de escrever códigos complexos.

No dia a dia eu a minha escrita, em situações que quero só filtrar minha lista eu costumo fazer one-line-code, no entanto quanto preciso deixar claro meu racional eu faço de forma explícita, pois ajudará quem irá fazer manutenção do código no futuro.

Aprenda os dois com o propósito de aperfeiçoar sua técnica, mas na dúvida sempre opte por deixar o código fácil de se ler.

Abs -BR