Boas Práticas: Organização do Projeto

É comum quando começamos a programar, partir direto para o assunto, esquecendo detalhes que muitas vezes são importantes para que o projeto se mantenha bem estruturado e não complique a nossa vida no futuro.
Isso porque todo programador, principalmente os iniciantes, quer ver a coisa acontecer, e é isso o que importa. Se lá na frente a coisa empacar, sempre tem a famosa “gambiarra”, o “chuncho”, o “jeitinho”. Existem exceções, claro. Nem todo projeto tem o prazo ideal que deveria ter, e no final a coisa “enrosca” um pouco.

Porém, existem formas de amenizar esse tipo de problema. Maneiras que vão desde a estrutura dos arquivos até a forma como programamos.
Aqui, vou expor algumas dicas das quais faço uso, e que sempre me ajudam a manter os meus projetos organizados e com um bom desempenho.

Classes sempre separadas do FLA

A primeira regra que eu tento impor em meus projetos é, código de um lado, componentes visuais do outro. Sempre que possível evito incluir meus códigos nos FLAs. A melhor maneira de se fazer isso, é usando o Document Class.

Document Class é a maneira que temos, a partir do Flash CS3, de vincular o nosso FLA com uma classe. No momento em que definimos uma classe no Document Class, ela passa a ser responsável pelo controle daquele FLA.

Flash CS4 Document Class

Flash CS4 Document Class

Aliado ao Document Class temos o Linkage, onde podemos especificar uma classe que será responsável por nosso objeto.

Flash CS4 Linkage

Flash CS4 Linkage

Seguindo desta forma, não temos necessidade de utilizar a timeline para inserir códigos, deixamos no FLA apenas os elementos visuais, e vinculamo-os às suas respectivas classes sempre que necessário.

A maior vantagem que temos em utilizar esta estrutura, é que separamos o nosso código, e toda vez que houver necessidade de uma manutenção, por menor que seja, faremos nas classes e não no FLA, evitando o trabalho de ficar “catando” código por entre keyframes e MovieClips aninhados.

Sempre use pacotes

Procure sempre, eu disse sempre, organizar as suas classes em pacotes. Eu costumo criar um pacote app para as classes relacionadas à minha aplicação. Dentro do pacote app normalmente eu tenho uma classe Application, que é responsável pelo FLA principal, e também crio outros pacotes conforme necessário.

Uma exemplo de estrutura:

  • app
    • components
      • Background.as
      • Menu.as
      • MenuItem.as
    • loader
      • ContentLoader.as
    • validators
      • FormValidator.as
    • Application.as
  • com
    • adobe
    • asual

Adote um framework

Re-inventar a roda é muito legal, pra quem quer estudar e aprimorar seus conhecimentos. Agora, fazer isso no meio de um projeto seria suicídio. Framewoks e libraries são muito úteis no que se diz respeito a facilitar a nossa vida.

Carinhas como PureMVC ou Gaia, ajudam bastante pois com eles nós temos uma estrutura padrão e funcional para os projetos. Você não precisa esquentar a cabeça em como deve ser a estrutura do seu projeto, pois ela já está ali, o framework já fornece isso para você. É só sentar e começar a escrever.

Libraries também são bastante úteis. Quem nunca precisou de uma boa classe de Tween? Pois aqui estão algumas soluções: TweenLite, Tweener, Tweensy, gTween… ufa! Oh, você precisa carregar arquivos externos também? BulkLoader, QueueLoader

Enfim, opções não faltam. Tem muita ferramenta que pode auxiliar você, então o ideal é que antes de por a mão na massa e sair inventando rodas quadradas, procure por uma que já exista, e veja se ela atende as suas necessidades.

Organize suas classes

Quando criar suas classes, prefira sempre manter um padrão de organização. Evite misturar métodos e propriedades public de private e protected, separe cada um em uma sequência, normalmente usa-se public, protected e private. O mesmo vale para getters e setters. Organizá-los em ordem alfabética também é uma boa pedida.
Desta forma, você sabe onde encontrar um determinado método/propriedade independente de ser public, protected ou private, pois eles estarão ordenados.

Existem documentos com certas convenções de como escrever seu código. Essas convenções ajudam a manter a boa organização do código, principalmente quando se trabalha em equipe, uma vez que o código do seu colega seguirá o mesmo padrão que o seu, e desta forma não temos aquela sensação de estar mexendo em um código bagunçado, pois o código dele é o seu código, ambos escrevem da mesma forma.

Documentação

Pra finalizar, documente sempre seu código. Utilize sempre que possível comentários ASDocs e gere a documentação do projeto. É muito mais simples visualizar o conteúdo das classes na documentação do que abrindo uma por uma.

É isso aí pessoal, fica aí as dicas. Quem quiser acrescentar mais alguma coisa, é só criar um comentário.

2 Comments

  1. Todo mundo que quer ser um profissional Flash tem q ter essas coisas em mente…
    Espetacular…

  2. Eric Milfont

    Objetividade!
    Muito bom!

Leave a Comment