simplicidade Archives » Elcio Ferreira https://elcio.com.br/tags/simplicidade/ HTML5, CSS, Tableless, Desenvolvimento Web, Python, Linux Tue, 14 May 2019 11:07:18 +0000 pt-BR hourly 1 Não é sobre quantas linhas de código você escreve https://elcio.com.br/nao-e-sobre-quantas-linhas-de-codigo-voce-escreve/ https://elcio.com.br/nao-e-sobre-quantas-linhas-de-codigo-voce-escreve/#respond Thu, 16 May 2019 10:47:55 +0000 https://elcio.com.br/?p=111065 É sobre manter as coisas simples. Às vezes, menos código é mais simples. Às vezes não.

O post Não é sobre quantas linhas de código você escreve apareceu primeiro em Elcio Ferreira.

]]>
Parece haver uma certa fixação entre os programadores, principalmente os menos experientes, em quantas linhas de código são necessárias para resolver determinado problema.

Às vezes isso é bom. Veja como ler um arquivo texto em Java:

import java.io.*; 
public class ReadingFromFile 
{ 
    public static void main(String[] args) throws Exception 
    { 
	FileReader fr = 
	new FileReader("arquivo.txt"); 

	int i; 
	while ((i=fr.read()) != -1) 
	    System.out.print((char) i); 
    } 
} 

Agora compare com a mesma coisa em Python:

print(open('arquivo.txt').read())

Nesse caso, parece óbvio que a resposta em Python é muito melhor, não? Agora olhe esse código em JavaScript:

urlscore = url.indexOf('http') ? -1 : (url.indexOf('https://')+1)*5 + 
                                      (url.split('/')[2].indexOf('www')?1:0)*2 + 
                                      (url.split('/')[1].indexOf('@')>-1?-1:1)*3

Uau! O sujeito reduziu a função inteira a uma única expressão! Parece uma boa ideia pra você? Coitado de quem tiver que dar manutenção nisso!

Seu inimigo não é a quantidade de código, é a complexidade. É difícil dar uma boa definição técnica de complexidade, mas você a reconhece quando vê.

O post Não é sobre quantas linhas de código você escreve apareceu primeiro em Elcio Ferreira.

]]>
https://elcio.com.br/nao-e-sobre-quantas-linhas-de-codigo-voce-escreve/feed/ 0
Quanto mais óbvio, melhor https://elcio.com.br/quanto-mais-obvio-melhor/ https://elcio.com.br/quanto-mais-obvio-melhor/#comments Mon, 13 May 2019 10:54:25 +0000 https://elcio.com.br/?p=111055 Padrões e convenções de código são uma excelente ideia. Livram do esforço de pensar no que deveria ser óbvio, para que você se concentre no problema real.

O post Quanto mais óbvio, melhor apareceu primeiro em Elcio Ferreira.

]]>
Quando você está escrevendo código, pense sempre em quem vai ter que lê-lo no futuro. Pode ser você mesmo. Pode ser você mesmo, daqui a cinco, às duas da manhã, correndo para consertar um bug.

É por isso que padrões e convenções são uma ideia tão boa.

Quanto tempo você já passou olhando o código de alguma aplicação, tentando descobrir onde estão as coisas? No web2py, um dos meus frameworks favoritos, quando você cria uma nova aplicação, a pasta de código se parece com isso:

Aplicação nova em web2py, ainda sem nenhum código.

Web2py é um framework MVC, que, você sabe, é a sigla para model, view e controller. Para acessar o banco de dados você escreve um model. E como se chama a pasta onde estão seus models? Ok, models. E as regras de negócio devem ir num controller. E onde estão seus controllers? Na pasta controllers, claro. E as views na pasta views.

Zero esforço para entender, zero esforço para decorar.

Eu sei que é bem pouco esforço decorar que, no seu novo framework da moda, as views estão dentro de /presentation/templates/html, os controllers em /app/core/controllers e os modelos em /persistence/rdbs. Mas pouco é infinitamente mais do que zero. E, acredite, esses pequenos esforços, somados, fazem um bocado de diferença.

O post Quanto mais óbvio, melhor apareceu primeiro em Elcio Ferreira.

]]>
https://elcio.com.br/quanto-mais-obvio-melhor/feed/ 1