tsproject

Quando estava na faculdade desenvolvi um projeto que tem algumas implementações que resolvem o problema do caixeiro viajante(TSP, aka Travelling Salesman Problem) , onde o caixeiro quer escolher a menor distância passando por N cidades e retornar para a cidade incial. Para facilitar minha vida das várias variações do problema escolhi o caxeiro viajante simétrico, onde a distância da cidade X para a cidade Y é igual a distância da cidade X para a cidade Y.

Caixeiro Viajante Cool

Caixeiro Viajante Cool

Fonte: http://gtresearchnews.gatech.edu/reshor/rh-f04/tsp.html

O projeto foi evoluindo, lia a maior parte das instância do TSPLIB, um repositório com vários exemplos de instâncias relacionados ao problema. Até que uma professora me deu uma idéia de fazer com que o usuário criasse uma instância através de um interface gráfica e surgiu o TSPGUI.

TSPGUI

TSPGUI

Com a GUI pronta, resolvi publicar o trabalho em um congresso que está disponível aqui. Só que o projeto é mais do que a interface, implementei até um Algoritmo Genético para resolver o problema, até pensei em criar um interpretador de linha de comando para escolher a instância e depois mostrar o resultado só que ainda não desenvolvi xD. Quem quiser coloborar com o projeto, ou utiliza-lo para para qualquer fins o projeto tsproject está disponivel aqui.


Seus códigos

Qualquer um pode programar para que o computador entenda mas nem todos programam bem para que outros ou até si mesmo entenda o código. Mesmo não sendo um programador experiente já vivi situações que não entendia o meu próprio código. Para diminuir esse tipo de situação, busquei algumas técnicas e a leitura de alguns códigos que parecem bons.

Primeiramente os nomes de variáveis/métodos devem coeso, ajudando assim na hora de ler. Nome de variável deve tentar dizer o que ela faz ou o que é, o do método deve tentar dizer o que ele faz para isso geralmente usamos algum verbo no nome.

Os métodos não devem ser muito grande. Um método grande sempre pode ser dividido em vários pequenos. Muitos comentários dentro do código geralmente significa o código não está legível e possivelmente ruim. Acredito que comentários servem para dizer o que faz e não como faz.

Obedecendo algumas observações acima acho que a leitura de seu código tende a melhorar, evitando algumas situações. Durante a produção desse post, vi que tenho que colocar em prática o que tudo foi escrito e aparentemente isso tudo é só a ponta de um iceberg.

Enfim ainda sou um padawan. xD


Hello world!

Hello World é o primeiro sucesso de qualquer programador em uma linguagem de programação, com ele a confiança aumenta já que algo simples já foi feito partindo assim para algo mais complexo. Espero que esse post seja o meu primeiro sucesso no blog. xD


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.