Estilo de programação

Não é nada de outro mundo, mas totalmente fundamental para o desenvolvimento de software em equipe. Estilo são definições de como escrever o código fonte, em outras palavras, padrões de nomenclatura para nomes e declarações de variáveis, atributos, métodos, classes, etc.

Para isso podemos seguir algumas convenções (como em Java e C#.Net), ou criar um definições de estilo com apropria equipe em questão.

Vantagens ao usar estilo

Quando se esta desenvolvendo em equipe, o código deve ser compreendido por todos os membros. O estilo de programação tem como função auxiliar a equipe escrever código de modo único, assim é de fácil compreenção os códigos criados por outros menbros.

Complementação do estilo

Mais meu habito que propriamente do estilo, é ter um cuidado especial ao se definir nomes de objetos, métodos, atributos, variáveis, entre outros. A correta nomeação dos elementos no código ajuda a diminuir o hiato entre o código e mundo real, e assim como estilo de programação, também tornar mais fácil sua compreensão.

Exemplos do dia a dia

Recentemente estive envolvido em um projeto de uma aplicação antiga. Não havia na empresa mais nenhum desenvolvedor que criou a aplicação e precisávamos implementar algumas melhorias. Ao começar a implementar as melhorias, me deparei com algumas variáveis chamada X, Y, item. E perdi horas tentando compreender o que significa X, Y e item.

Conclusão

Para exemplificar esses conceitos, criei 2 aplicações iguais, ambas em Java, porem o primeiro está totalmento sem estilo e o segundo com um estilo que normalmente sigo. Compare e tire suas próprias conclusões:

Aplicação sem estilo

public class XyZ {
	public String no;
	public int id;
}
import java.util.ArrayList;
 
public class XyZs extends ArrayList{
	private static final long serialVersionUID = 1L;
}
import java.util.Iterator;
 
public class Application {
 
	public static void main(String[] args) {
 
		XyZs xxs = new XyZs();
 
		xxs.add(Cria("Sergio", 20));
		xxs.add(Cria("Rafael", 24));
		xxs.add(Cria("Frank", 22));
 
		ImprimeLista(xxs);
	}
 
	public static XyZ Cria(String n, int i) {
 
		XyZ x = new XyZ();
		x.no = n;
		x.id = i;
 
		return x;
	}
 
	public static void ImprimeLista(XyZs g){
		System.out.print("==== Lista de Amigos ==== \n");
 
		for (Iterator i = g.iterator(); i.hasNext();) {
			XyZ a = (XyZ) i.next();
			System.out.print("Nome: " + a.no + " idade: " + a.id + "\n");
		}
	}
 
}

Aplicação com estilo

public class Amigo {
	public String nome;
	public int idade;
}
import java.util.ArrayList;
 
public class Amigos extends ArrayList{
	private static final long serialVersionUID = 1L;
}
import java.util.Iterator;
 
public class Application {
 
	public static void main(String[] args) {
 
		// cria lista de amigos
		Amigos amigos = new Amigos();
 
		// adiciona amigo a lista
		amigos.add(CriaAmigo("Sergio", 20));
		amigos.add(CriaAmigo("Rafael", 24));
		amigos.add(CriaAmigo("Frank", 22));
 
		ImprimeLista(amigos);
	}
 
	public static Amigo CriaAmigo(String nome, int idade) {
 
		Amigo ret = new Amigo();
		ret.nome = nome;
		ret.idade = idade;
 
		return ret;
	}
 
	public static void ImprimeLista(Amigos amigos){
		System.out.print("==== Lista de Amigos ==== \n");
 
		for (Iterator i = amigos.iterator(); i.hasNext();) {
			Amigo amigo = (Amigo) i.next();
			System.out.print("Nome: " + amigo.nome + " idade: " + amigo.idade + "\n");
		}
	}
 
}

Perceptível a diferença, não?

Links Complementares:

Não encontri nenhum artigo de estilo de Java, assim que eu encontrar eu posto aqui. Enquanto isso podemos ver a API do Java e tirar nossas conclusões de como escrever em Java com um estilo bem parecido.

Até mais… ;-)

Deixe um comentario


OBS - Você pode usar estes atributos HTML e tags para formatar seus comentário:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">