Simplicidade é o mais alto grau de sofisticação. Importante é ser limpo, performático e fácil de manter. Fazer algo complexo e difícil de entender só em pontos chaves do sistema que precisem de performance absurda por ser crítico. E ainda sim é provável que tenha um jeito mais simples de fazer. Nos testes de leet code as vezes sai umas bizarrices mas que baixa a complexidade de algo exponencial pra linear.
Sou analista de suporte, ou seja, o pedreiro da TI. To no mercado desde que me entendo por gente. 20 anos.... To sentindo falta de conhecimento em dev. gostei da tua abordagem, sucesso ai. Traga mais. Gosto de suas análises
Entrei no mesmo seguimento, pedreiro da TI! 😂 To impressionado como tem tão pouca aplicação de infra, usando sistemas e ferramentas Open Source ou um servidor Linux.
Eu ja peguei um monte desse tipo de código onde o dev só quis se mostrar "escovando bits". Quando tinha que mudar era um tédio e para piorar nem tinha testes, afinal código de dev "fod4" não precisa de testes. Quanto a esse código, ele poderia até fazer sentido numa época onde vc tinha memória e CPU limitadíssima, hoje em dia o compilador olha pra isso e gera o código dele que é igual ao de quem escreveu de uma maneira legível.
Já fiz minhas gambiarras e macaquices em C mas sempre resulta numa coisa horrorosa e ilegível que cumpre a missão (de formas aparentemente ilícitas mas dentro de brechas da linguagem). Essa aí no entanto é outro nível... está sucinta, elegante e perspicaz... embora continue a ser horrível de ler. Não conhecia do Duff's Device, precisei ir conferir. Sem ter visto o vídeo... a minha opinião é que às vezes o código vai ser xarope de ler. Mas às vezes a opção de uma solução elegante não está disponível mesmo... só recorrendo a bruxarias, gambiarras, traquitana, tranqueiras e bisonhices. E acho que isso é mais provável de acontecer em C do que linguagens de mais alto nível, porque o programador C nem sempre tem memória à vontade disponível. (E mesmo quando ele tem ele tende a achar graça em fingir que não tem). Uma vez tive que fazer uma busca linear num array. Mas haviam limitações. A busca tinha que encontrar todas as possíveis combinações de índices. A busca não poderia repetir combinações de índices (senão seriam arranjos, não combinações, duh!). A busca precisava encontrar todas as combinações de índices, com a menor quantidade de índices simultâneos, antes de buscar as combinações com a próxima quantidade de índices, ou seja, encontrar todos os pares antes de buscar trios, todos os trios antes de quartetos, e assim por diante. E para piorar um pouco mais, a qualquer dado momento uma combinação específica de índices poderia não estar disponível para ser utilizada, por estar digamos "tomada" para outra parte do programa. O resultado dói nos olhos de ler. São N loops for aninhados (onde N = número de índices do array). Somente no final do escopo do loop, é atualizada a máscara de bits que percorre as combinações. Porém cada iteração realizada, requer que uma a menos seja realizada no loop mais externo a ela. Portanto o segundo termo de cada loop for (o que compara/valida para prosseguir ou terminar o loop) necessita subtrair uma iteração do loop acima dele (logo a comparação é feita com N - a - b - c - d - ..., onde a letra minúscula é o contador do loop mais externo). Sim, funcionou, e sim, ficou horrível de ler. Esqueça acompanhar mentalmente, esquece breakpoints e wathchlist de variáveis (porque passam de uma centena se fizer dessa forma). A única maneira de testar era imprimir sucessivamente todas as modificações da máscara de bits, que parecia até arte em ASCII. Tinha como fazer melhor? Mais legível, mais bonito, mais performático? Talvez tinha. Talvez se eu fosse um programador melhor, ou se tivesse um conhecimento enciclopédico de algoritmos clássicos. Talvez se eu fosse melhor em matemática (rola uma suruba polinomial medonha nisso, e piramide de pascal). Mas se assim eu levei 5 dias pra aparar todas as arestas do algoritmo... imagine se ainda for tornar ele legível. Eu não tenho tempo infinito pra ficar escovando bit em um único problema! (Feito é melhor que perfeito).
Cara eu compartilho da sua mesma concepção, pois também sou um programador em C. Em C é muito difícil, mesmo, escrever um código legível e clean. No final sempre vai ser uma gambiarra cabeluda que nem o próprio autor do código entende. O pior de tudo é que se você tentar escrever um código legível e clean, você irá complica-lo 10x mais. Já tentei fazer isso, é perca de tempo; o método mais produtivo é você abandonar todos paradigmas que jogam em você, de como se deve fazer isso ou aquilo... O primeiro passo é você ter domínio da sua linguagem, em seguida, você como programador deve adotar as normas do seu programa de acordo com o que a sua linguagem oferece, nem que você tenha que escrever um código "cleverness" para que fique mais sucinto.
Uma coisa que me orientaram no trabalho, é sempre ter o costume de usar os métodos map, filter no python quando fosse iterar algo, porque o for simples percorre de forma "burra" e que esses métodos percorrem de forma mais inteligente no seu funcionamento interno. Me senti muito inteligente sabendo disso.
Código perspicaz normalmente depende de efeitos colaterais de terceiros, esse é o pior tipo de código. Quando o efeito colateral muda, o código quebra de forma catastrófica. Se for para implementar alguma coisa desse tipo o ideal é sempre documentar o comportamento. Dessa forma ninguém se pede depois.
Nas linguagens de alto nível, o código inteligente é o código legível, que até dispensa comentários. Código obscuro, quando necessário, deve ficar escondido em alguma função, longe do módulo principal da aplicação.
Eis ai o ponto do por que ID deve ser um identificador único, e quando se dizer único não só dentro daquela tabela de origem, mas ele não deve ser usado como chave em outro contexto e sim ser referenciado. Um ID deve ser visto como se fosse a referência da posição daquele objeto em memória, você não pode ter dois objetos distintos apontando pro mesmo local de memória, afinal é o identificador daquele objeto e aquele objeto é único, não se repete, você poder no máximo deter uma duplicata dos seus dados, porém outra posição em memória. Ainda hoje vejo tantos profissionais com muito tempo de experiência querendo reaproveitar IDs "vamos economizar", "não é necessário refinamento, o time já tem conhecimento". No final do dia as merdas que dão são sempre por que nõ se seguiu o passo a passo das boas práticas kkkkkkkkk - só não esquece do básico.
16:40 Será que essa mudança é em razão da forma que o mercado estão buscando candidatos? Pelo que eu vejo, é impossível arrumar um trampo sabendo bem uma coisa só.
Tenho 4 anos no mercao de desenvolvimento e quando eu comecei eu queria era ser especialista em algo, só que infelizmente essa não anda sendo a realidade do mercado de trabalho hoje.
recentemente no centro de pesquisa que trabalho fizeram eu simplesmente refazer o código inteiro voltado para OOP só pra ficar mais bonitinho, ao invés de fazer algo realmente útil kkkkkk
refatorar pra OOP é algo útil, aumenta a testabilidade e legibilidade do código e força padronização de código, pare para refletir porque alguém mais experiente que você mandou fazer o que você está relatando em vez de sair reclamando e continuar achando que essa porcaria dessa ideia que programação funcional e callback hell que surgiu do javascript é legal rsrsrs tem um motivo por Java ser a linguagem mais utilizada em aplicações corporativas
Oi Lucas, sou inscrito recente daqui do canal. Estou fazendo um técnico em TI e estou na parte final do curso onde estamos justamente na parte de desenvolvimento. Estou dividido se sigo entre análise de dados ou desenvolvimento (com um viés para dados). Estou vendo alguns vídeos antigos seus e gosto muito de como você apresenta conhecimento e experiências práticas, eu sempre consegui me dar bem ou gostar de qualquer trabalho quando eu vejo os mais experientes e consigo aplicar em mim mesmo o que tornam eles bons no que fazem. Vou me tornar desenvolvedor ou analista? Não sei, estou desempregado há um tempo e gostaria sim de entrar nesse mundo, estudo por conta própria e no curso, mas também não estou desesperado pois sei que tenho que formar uma base sólida pra começar. Mas seus vídeos, junto com o curso e minha curiosidade de saber o porque de cada coisa tem aberto bastante minha mente. Minha pergunta: Tenho inglês fluente. Pra mim é excelente para acompanhar fontes externas, documentações, estudar independentemente, etc. Mas especificamente para essa área, é algo que ajuda no progresso ou até mesmo divide águas? Continue com esse tipo de conteúdo, são pouquíssimos que agregam esse tipo de valor na plataforma. Abraço!
Não confundam código mal escrito com código difícil de entender, estou cansado de ver gente preguiçoso que não gosta de pensar com desculpas de que o problema é o código
Me chamou atenção uma coisa que tu falou sobre a geração atual ser generalista. Na verdade as empresas estão forçando o povo a ir para esse caminho. Hoje fullstack, não é o cara que sabe backend e frontend, é o cara que sabe tudo isso, domina cloud e devops. Vaga para devops então, pedem absurdos que não condiz com a especifidade da vaga. Enfim, hoje as empresas querem generalistas com conhecimento profundo em tudo mas pagando por uma única posição.
que alívio assistir esse vídeo! eu estava achando que eu era a única pessoa que mencionara a construção de documentação, depois de estudar a respeito na faculdade, cheguei a achar que passava vergonha por ter esse capricho/respeito com o trabalho, mas agora me deu uma certa "tranquilizada".
Mas se o código for difícil de entender ele é ruim por que você escreve código prós outros, a máquina é imparcial e aceita tudo que esteja nos limites, sempre foi assim né
Isso seria um código inteligente? atividades = { "fez_barba": False, "arrumou_top": False, "falou_react": False } for atividade, feito in atividades.items(): if not feito: print(f"Lucas não {atividade.replace('_', ' ')}.") else: print(f"Lucas {atividade.replace('_', ' ')}.")
Cara, foi mal, mas eu tenho uma visão diferente disso. Me corrijam ai se eu estiver errado no meu pensamento. O que o redator chama de "inteligente" eu entendo como gambiarra e o "perspicaz" seria como uma "gambiarra com contingências". Assim, você explorar limiares de linguagem para estender o escopo ou ganhar escalabilidade nela solução me parece pouco robusto. Uma atualização que mude aquela "sacadinha" que você teve e o projeto vai pras cucúias... É como se você criasse uma dependência com limiares de métodos na própria linguagem de programação (métodos builtin daquela versão). Esses códigos parecem mais massageador de ego pra irritar professor de faculdade do que algo realmente aplicável. Não tiro o mérito do programador pelo conhecimento da ferramenta dele, mas tbm não sinto que isso é a forma mais adequada de resolver um problema.
Se código difícil de entender é um código inteligente, então sou um gênio namoral!
Quando mais tempo passa, menos entendo o meu código, ou seja, fico mais Inteligente a cada dia, daqui a três meses começo a trabalhar na Google
Me identifico de mais tbm
@@paulodomonte447Tá ficando é mais burro por usar o gpt demais kkk
@@paulodomonte447 😂😂😂
Nem tu entende o que tu faz né kkkkkkkk
Simplicidade é o mais alto grau de sofisticação.
Importante é ser limpo, performático e fácil de manter.
Fazer algo complexo e difícil de entender só em pontos chaves do sistema que precisem de performance absurda por ser crítico. E ainda sim é provável que tenha um jeito mais simples de fazer.
Nos testes de leet code as vezes sai umas bizarrices mas que baixa a complexidade de algo exponencial pra linear.
Sou analista de suporte, ou seja, o pedreiro da TI. To no mercado desde que me entendo por gente. 20 anos.... To sentindo falta de conhecimento em dev. gostei da tua abordagem, sucesso ai. Traga mais. Gosto de suas análises
Entrei no mesmo seguimento, pedreiro da TI! 😂
To impressionado como tem tão pouca aplicação de infra, usando sistemas e ferramentas Open Source ou um servidor Linux.
Manos, a area de vcs, pode ser uma porta pra ser dev um dia?
@@rmauto6273 Eu entrei com essa finalidade, vou descobrir ainda. Mas espero que sim 🙌🏻
Oi Lucas montanhas do Canal Lucas Montano, assisto todos seus vídeos e gosto muito deles, te assisto de RR - Brasil 🤗
Eu ja peguei um monte desse tipo de código onde o dev só quis se mostrar "escovando bits". Quando tinha que mudar era um tédio e para piorar nem tinha testes, afinal código de dev "fod4" não precisa de testes.
Quanto a esse código, ele poderia até fazer sentido numa época onde vc tinha memória e CPU limitadíssima, hoje em dia o compilador olha pra isso e gera o código dele que é igual ao de quem escreveu de uma maneira legível.
Já fiz minhas gambiarras e macaquices em C mas sempre resulta numa coisa horrorosa e ilegível que cumpre a missão (de formas aparentemente ilícitas mas dentro de brechas da linguagem). Essa aí no entanto é outro nível... está sucinta, elegante e perspicaz... embora continue a ser horrível de ler. Não conhecia do Duff's Device, precisei ir conferir.
Sem ter visto o vídeo... a minha opinião é que às vezes o código vai ser xarope de ler. Mas às vezes a opção de uma solução elegante não está disponível mesmo... só recorrendo a bruxarias, gambiarras, traquitana, tranqueiras e bisonhices. E acho que isso é mais provável de acontecer em C do que linguagens de mais alto nível, porque o programador C nem sempre tem memória à vontade disponível. (E mesmo quando ele tem ele tende a achar graça em fingir que não tem).
Uma vez tive que fazer uma busca linear num array. Mas haviam limitações. A busca tinha que encontrar todas as possíveis combinações de índices. A busca não poderia repetir combinações de índices (senão seriam arranjos, não combinações, duh!). A busca precisava encontrar todas as combinações de índices, com a menor quantidade de índices simultâneos, antes de buscar as combinações com a próxima quantidade de índices, ou seja, encontrar todos os pares antes de buscar trios, todos os trios antes de quartetos, e assim por diante. E para piorar um pouco mais, a qualquer dado momento uma combinação específica de índices poderia não estar disponível para ser utilizada, por estar digamos "tomada" para outra parte do programa.
O resultado dói nos olhos de ler. São N loops for aninhados (onde N = número de índices do array). Somente no final do escopo do loop, é atualizada a máscara de bits que percorre as combinações. Porém cada iteração realizada, requer que uma a menos seja realizada no loop mais externo a ela. Portanto o segundo termo de cada loop for (o que compara/valida para prosseguir ou terminar o loop) necessita subtrair uma iteração do loop acima dele (logo a comparação é feita com N - a - b - c - d - ..., onde a letra minúscula é o contador do loop mais externo).
Sim, funcionou, e sim, ficou horrível de ler. Esqueça acompanhar mentalmente, esquece breakpoints e wathchlist de variáveis (porque passam de uma centena se fizer dessa forma). A única maneira de testar era imprimir sucessivamente todas as modificações da máscara de bits, que parecia até arte em ASCII.
Tinha como fazer melhor? Mais legível, mais bonito, mais performático? Talvez tinha. Talvez se eu fosse um programador melhor, ou se tivesse um conhecimento enciclopédico de algoritmos clássicos. Talvez se eu fosse melhor em matemática (rola uma suruba polinomial medonha nisso, e piramide de pascal). Mas se assim eu levei 5 dias pra aparar todas as arestas do algoritmo... imagine se ainda for tornar ele legível. Eu não tenho tempo infinito pra ficar escovando bit em um único problema! (Feito é melhor que perfeito).
Até sua escrita parece uma gambiarra, com todo respeito.
@@Soooooonic Tinha que ser um progamador em C... eu mesmo escrevo assim kkkkkk
Cara eu compartilho da sua mesma concepção, pois também sou um programador em C. Em C é muito difícil, mesmo, escrever um código legível e clean. No final sempre vai ser uma gambiarra cabeluda que nem o próprio autor do código entende. O pior de tudo é que se você tentar escrever um código legível e clean, você irá complica-lo 10x mais. Já tentei fazer isso, é perca de tempo; o método mais produtivo é você abandonar todos paradigmas que jogam em você, de como se deve fazer isso ou aquilo... O primeiro passo é você ter domínio da sua linguagem, em seguida, você como programador deve adotar as normas do seu programa de acordo com o que a sua linguagem oferece, nem que você tenha que escrever um código "cleverness" para que fique mais sucinto.
@@Soooooonic hahaha normalmente eu escrevo bem. Estava na pressa e... Não tinha como escrever melhor sem ficar ainda mais longo.
@@Joao-oo8yj na verdade verdadeira, é C++ aqui. Máscara de bits com std::bitset. Normalmente eu escrevo bem, esse dia estava terrível a coisa rsrsrs
Caramba brother tu ta com 313k assinantes … que salto !!! Parabéns !!! Bom ver gente boa se dando bem !!!!
Uma coisa que me orientaram no trabalho, é sempre ter o costume de usar os métodos map, filter no python quando fosse iterar algo, porque o for simples percorre de forma "burra" e que esses métodos percorrem de forma mais inteligente no seu funcionamento interno. Me senti muito inteligente sabendo disso.
o que seria exatamente, iterar de forma mais inteligente (pergunta sincera)? Falando de complexidade algorítmica, é td igual
Esse mais ou menos 30 vem da normal-padrão, famosa curva normal, o aproximado de 30 é um valor considerado aceitável do ponto de vista estatístico.
Código perspicaz normalmente depende de efeitos colaterais de terceiros, esse é o pior tipo de código. Quando o efeito colateral muda, o código quebra de forma catastrófica.
Se for para implementar alguma coisa desse tipo o ideal é sempre documentar o comportamento. Dessa forma ninguém se pede depois.
O que é design de sistema? Aqui na empresa a gente faz freestyle
De forma crua, seria alguém que planeja um fluxograma para um sistema
O problema é quem define o que é um "código inteligente". Quem nunca pegou um "código burro" bastante complexo de se entender.
Nas linguagens de alto nível, o código inteligente é o código legível, que até dispensa comentários. Código obscuro, quando necessário, deve ficar escondido em alguma função, longe do módulo principal da aplicação.
Eis ai o ponto do por que ID deve ser um identificador único, e quando se dizer único não só dentro daquela tabela de origem, mas ele não deve ser usado como chave em outro contexto e sim ser referenciado. Um ID deve ser visto como se fosse a referência da posição daquele objeto em memória, você não pode ter dois objetos distintos apontando pro mesmo local de memória, afinal é o identificador daquele objeto e aquele objeto é único, não se repete, você poder no máximo deter uma duplicata dos seus dados, porém outra posição em memória.
Ainda hoje vejo tantos profissionais com muito tempo de experiência querendo reaproveitar IDs "vamos economizar", "não é necessário refinamento, o time já tem conhecimento". No final do dia as merdas que dão são sempre por que nõ se seguiu o passo a passo das boas práticas kkkkkkkkk - só não esquece do básico.
Fast inverse square root mandou lembranças kkkkkkk
Boa reflexão, gostei.
Eu ja fiz 4 faculdades de TI, comecei fazer a quinta, mas não terminei pq acabou o tijolo.
Faz ADS
Algo ser “Inteligente” é muito relativo.
Tudo “Depende”…
16:40 Será que essa mudança é em razão da forma que o mercado estão buscando candidatos? Pelo que eu vejo, é impossível arrumar um trampo sabendo bem uma coisa só.
cade o link do artigo pra nois compartilha com os amiguinhos coda fofo?
Show de bola o video !
Tenho 4 anos no mercao de desenvolvimento e quando eu comecei eu queria era ser especialista em algo, só que infelizmente essa não anda sendo a realidade do mercado de trabalho hoje.
Quero ser especialista em home office eficaz e inteligente
.
.
.
PS: Gostei dessa função de cursos dentro do TH-cam!
mt bom os seus videos!
recentemente no centro de pesquisa que trabalho fizeram eu simplesmente refazer o código inteiro voltado para OOP só pra ficar mais bonitinho, ao invés de fazer algo realmente útil kkkkkk
refatorar pra OOP é algo útil, aumenta a testabilidade e legibilidade do código e força padronização de código, pare para refletir porque alguém mais experiente que você mandou fazer o que você está relatando em vez de sair reclamando e continuar achando que essa porcaria dessa ideia que programação funcional e callback hell que surgiu do javascript é legal rsrsrs tem um motivo por Java ser a linguagem mais utilizada em aplicações corporativas
Dependendo não é pra ficar só mais bonito e sim mais legível.
Qual a ferramenta que o lucas usa para desenhar na tela ?
Lucas Montano do canal Lucas Montano, por gentileza, libere esse vídeo com conteúdo sobre compilador frontend para nós, parça! XD
Qual software é esse que usou durante a análise?
excalidraw
Que app é esse que usa para escrever na lousa digital?
excalidraw
Oi Lucas, sou inscrito recente daqui do canal. Estou fazendo um técnico em TI e estou na parte final do curso onde estamos justamente na parte de desenvolvimento. Estou dividido se sigo entre análise de dados ou desenvolvimento (com um viés para dados). Estou vendo alguns vídeos antigos seus e gosto muito de como você apresenta conhecimento e experiências práticas, eu sempre consegui me dar bem ou gostar de qualquer trabalho quando eu vejo os mais experientes e consigo aplicar em mim mesmo o que tornam eles bons no que fazem. Vou me tornar desenvolvedor ou analista? Não sei, estou desempregado há um tempo e gostaria sim de entrar nesse mundo, estudo por conta própria e no curso, mas também não estou desesperado pois sei que tenho que formar uma base sólida pra começar. Mas seus vídeos, junto com o curso e minha curiosidade de saber o porque de cada coisa tem aberto bastante minha mente.
Minha pergunta: Tenho inglês fluente. Pra mim é excelente para acompanhar fontes externas, documentações, estudar independentemente, etc. Mas especificamente para essa área, é algo que ajuda no progresso ou até mesmo divide águas?
Continue com esse tipo de conteúdo, são pouquíssimos que agregam esse tipo de valor na plataforma. Abraço!
Que programa é esse que tu usa para fazer anotações?
Acho que ele usa o excalidraw
@@willderaraujo6212 Obrigado.
eu ja escutei isso por programar orientado a objeto quando mudei de time
Não confundam código mal escrito com código difícil de entender, estou cansado de ver gente preguiçoso que não gosta de pensar com desculpas de que o problema é o código
No final o simples sempre foi o sofisticado.
link do artigo ?
qual o nome desse app que você usa para fazer comentarios e exemplificar ?
miro
@@AdrianogoAraujo god🫡
11:03 - poderia ter criado o teste lucas
Agora bora almoçar !
Acho que existe uma diferença entre complexo e complicado.
Como diria o Sênior: DEPENDE...
Eu sempre escrevo meu código orientado a gambiarras MAS sempre deixo comentários no código para poder ajustar depois. Depois.
Me chamou atenção uma coisa que tu falou sobre a geração atual ser generalista. Na verdade as empresas estão forçando o povo a ir para esse caminho. Hoje fullstack, não é o cara que sabe backend e frontend, é o cara que sabe tudo isso, domina cloud e devops. Vaga para devops então, pedem absurdos que não condiz com a especifidade da vaga. Enfim, hoje as empresas querem generalistas com conhecimento profundo em tudo mas pagando por uma única posição.
kkkkkk dei risada com o título
pq que não ta dando pra hypar o video?
Eu faço código fofo :D
Já pode mudar o nome do canal pra Lucas Desenhano (escrito errado propositalmente).
- REACT!!
que alívio assistir esse vídeo! eu estava achando que eu era a única pessoa que mencionara a construção de documentação, depois de estudar a respeito na faculdade, cheguei a achar que passava vergonha por ter esse capricho/respeito com o trabalho, mas agora me deu uma certa "tranquilizada".
Fica esperto Lucas Montano do Canal Lucas Montano. 😂
Eu não sei de nada mesmo, tá doido.
eu fico assim mesmo alkdscjkljsda
Sócrates, em sei la quanto antes de cristo
bla bla bla >>>>>>>>>>>>>>>>>>> yada yada yada
Eu escrevo codigo que funciona
Os cara deixam a chave a se duplicar aía rapaziada do analytics (eu) se fode pra consertar os joins no SQL e todos os dashboards quebram😝🤣
Mas se o código for difícil de entender ele é ruim por que você escreve código prós outros, a máquina é imparcial e aceita tudo que esteja nos limites, sempre foi assim né
Montano, a posição da câmera não ficou legal, tem muito background e tu parece rebaixado.
Lslsksksks vdd
Só aqui que o vídeo não tá funcionando? 🤔
Isso seria um código inteligente?
atividades = {
"fez_barba": False,
"arrumou_top": False,
"falou_react": False
}
for atividade, feito in atividades.items():
if not feito:
print(f"Lucas não {atividade.replace('_', ' ')}.")
else:
print(f"Lucas {atividade.replace('_', ' ')}.")
Escrever código de bahiano
Cara, foi mal, mas eu tenho uma visão diferente disso. Me corrijam ai se eu estiver errado no meu pensamento.
O que o redator chama de "inteligente" eu entendo como gambiarra e o "perspicaz" seria como uma "gambiarra com contingências".
Assim, você explorar limiares de linguagem para estender o escopo ou ganhar escalabilidade nela solução me parece pouco robusto. Uma atualização que mude aquela "sacadinha" que você teve e o projeto vai pras cucúias... É como se você criasse uma dependência com limiares de métodos na própria linguagem de programação (métodos builtin daquela versão).
Esses códigos parecem mais massageador de ego pra irritar professor de faculdade do que algo realmente aplicável.
Não tiro o mérito do programador pelo conhecimento da ferramenta dele, mas tbm não sinto que isso é a forma mais adequada de resolver um problema.