segunda-feira, 25 de janeiro de 2010

Dicas da IDE do Delphi - Parte 04

Olá amigos ... mais um artigo da série Dicas da IDE do Delphi



Dica 06 - Collapsible Regions (Delphi 2006 e posteriores) 

Este recurso está presente no Delphi 2006 e versões posteriores e é bastante útil para gerenciamento do código, permitindo que sejam criados blocos de códigos (as Regions) que podem ser expandidos ou recolhidos de acordo com a necessidade do desenvolvedor, assim conseguimos visualizar nosso código de maneira muito mais eficaz, tornando extensos trechos de código em apenas uma linha, facilitando o entendimento do código.

Para criar um region basta digitar {$ REGION } antes do bloco de código desejado e no final do bloco de código digite {$ENDREGION}.

Ao lado de cada REGION surgirá  um botão de “+” ou “-” para que o código possa ser expandido ou escondido.  


 


Figura 5.
visualizando as Regions


Dica 07 - SyncEdit (Delphi 2006 e posteriores)  

Já imaginou a situação de ter uma variável citada em diversas partes da Unit e precisar alterar o seu nome. Ou ainda realizar a correção do nome de um método chamado em vários pontos do código.  Isso é facilitado pelo recurso de SyncEdit (edição sinconizada), que faz uma varredura no bloco de código selecionado encontrando as palavras iguais ou similares.  

Para chamar o SyncEdit basta selecionar um bloco de código e teclar Shift+Ctrl+J. Irá aparecer um símbolo e para alterar o nome desejado basta andar com o tab e posicionar em cima da palavra, alterá-la e essa alteração será feita para todas as palavras iguais dentro do bloco selecionado. 




Figura 6. visualisando recurso SyncEdit


Dica 08 - Surround (Delphi 2006 e posteriores) 

Este também é um recurso muito interessante, pois transforma  o bloco de código selecionado em  uma nova estrutura,  que poderá ser um bloco begin/end, uma procedure,  uma function, uma region, etc.  

Como exemplo prático imagine que você tenha um código extenso e deseje transformar partes desse código em novos métodos ... para isso basta selecionar o código e no  menu POP-UP escolher a opção Surround / procedure. A IDE realiza todos os procedimentos de criação do método. O desenvolvedor deverá apenas informar o nome da nova procedure.





Figura 7. Opções de Sorround  


Um grande abraço e até o próximo post. 

quinta-feira, 7 de janeiro de 2010

Gerenciamento de Projetos com Scrum








Scrum é sem dúvida a metodologia ágil que vem ganhando mais destaque ultimamente, especialmente depois de casos de sucesso com o Google, Yahoo! e o recente e forte apoio da Microsoft a metodologia.

A função primária do Scrum é ser utilizado para o gerenciamento de projetos de desenvolvimento de software. Ele tem sido usado com sucesso para isso, assim como Extreme Programming e outras metodologias de desenvolvimento. Porém, teoricamente pode ser aplicado em qualquer contexto no qual um grupo de pessoas necessitem trabalhar juntas para atingir um objetivo comum, como iniciar uma escola pequena, projetos de pesquisa científica, ou até mesmo o planejamento de um casamento.

Características do Scrum

  • Cada sprint é uma iteração que segue o (ciclo PDCA) e entrega incremento de software pronto.
  • Um backlog é conjunto de requisitos, priorizado pelo Product Owner (Responsável pelo ROI e por conhecer as necessidades do cliente);
  • Há entrega de conjunto fixo de itens do backlog em série de iterações curtas ou sprints;
  • Breve reunião diária, ou daily scrum, em que cada participante fala sobre o progresso conseguido, o trabalho a ser realizado e/ou o que o impede de seguir avançando (também chamado de Standup Meeting ou Daily Meeting, já que os membros da equipa geralmente ficam em pé para não prolongar a reunião).
  • Breve sessão de planejamento, na qual os itens do backlog para uma sprint (iteração) são definidos;
  • Retrospectiva, na qual todos os membros da equipe refletem sobre a sprint passada.

O Scrum é facilitado por um Scrum Master, que tem como função primária remover qualquer impedimento à habilidade de uma equipe de entregar o objetivo do sprint. O Scrum Master não é o líder da equipe (já que as equipes são auto-organizadas), mas atua como um mediador entre a equipe e qualquer influência desestabilizadora. Outra função extremamente importante de um Scrum Master é o de assegurar que a equipe esteja utilizando corretamente as práticas de Scrum, motivando-os e mantendo o foco na meta da Sprint.

Scrum permite a criação de equipes auto-organizadas, encorajando a comunicação verbal entre todos os membros da equipe e entre todas as disciplinas que estão envolvidas no projeto.

Um princípio chave do Scrum é o reconhecimento de que desafios fundamentalmente empíricos não podem ser resolvidos com sucesso utilizando uma abordagem tradicional de "controle". Assim, o Scrum adota uma abordagem empírica, aceitando que o problema não pode ser totalmente entendido ou definido, focando na maximização da habilidade da equipe de responder de forma ágil aos desafios emergentes.

Planejamento do sprint

Antes de todo sprint, o Proprietário do Produto, o Scrum Master e a Equipe decidem no que a equipe irá trabalhar durante o próximo sprint. O Proprietário do Produto mantém uma lista priorizada de itens de backlog, o backlog do produto, o que pode ser repriorizado durante o planejamento do sprint. A Equipe seleciona itens do topo do backlog do produto. Eles selecionam somente o quanto de trabalho eles podem executar para terminar. A Equipe então planeja a arquitetura e o design de como o backlog do produto pode ser implementado. Os itens do backlog do produto são então destrinchados em tarefas que se tornam o backlog do sprint.

Scrum simplificado

Muitas organizações têm sido resistentes às metodologias introduzidas em baixos níveis da organização. Porém, a adaptabilidade do Scrum permite que ele seja introduzido de forma invisível ("stealth"), usando os três passos:
  • Agende uma demonstração do software com seu cliente em um mês a partir de agora;
  • Como equipe, tome um mês para deixar o software pronto para uma demo, com funcionalidades prontas, não simplesmente telas;
  • Na demonstração, obtenha feedback e use-o para guiar o seu próximo mês de trabalho de desenvolvimento.

Agendando discussões diárias

Um momento bom para as discussões diárias é depois do almoço. Durante a manhã pode ser complicado. Estas discussões de status não demoram e uma forma eficiente de fazer estas reuniões seria ficar em pé e em frente a um quadro negro. Como as pessoas tendem a ficar cansadas depois do almoço, ter uma viva reunião em pé nessa hora permite que a equipe mantenha a sua energia alta. Como todos estiveram trabalhando durante a manhã, suas mentes estão focadas no trabalho e não em questões pessoais.

Na discussão diária cada membro da equipe responde às seguintes perguntas:
  • O que fiz desde ontem?
  • O que estou planejando fazer até amanhã?
  • Existe algo me impedindo de atingir minha meta?


Scrum Solo

Scrum é baseado em pequenas equipes. Ele permite a comunicação entre os membros da equipe. Entretanto, há uma grande quantidade de softwares desenvolvidos por programadores solos. Um software sendo desenvolvido por um só programador pode ainda se beneficiar de alguns princípios do Scrum, como: um backlog de produto, um backlog de sprint, um sprint e uma retrospectiva de sprint. Scrum Solo é uma versão adaptada para uso de programadores solo.

Bem amigos a todos que postarem seus comentarios o enviarem este post via twitter vou enviar o Ebook Scrum e e XP direto das Trincheiras


Bibliografia 
[http://pt.wikipedia.org/wiki/Scrum]
Scrum e e XP direto das Trincheiras

terça-feira, 5 de janeiro de 2010

Instalar ZeosLib no Delphi 2009 e Delphi 2010






Na minha opinião um dos melhores componentes para acesso a banco de dados é o Zeoslib. Além de fornecer acesso à diversos SGDB, esse componente é open source o que eu considero uma grande vantagem frente à outros componentes.


Já utilizava este componente para acessar o Firebird com o Delphi 7. 


Decidido a atualizar meu código para uma versão mais recente do Delphi, optei pelo 2009 e fui em busca de uma versão do Zeoslib compatível com essa versão do Delphi. tentei usar as versões estáveis disponíveis no site da Souce Forge, (6.6.4, 6.6.6, etc) mas sempre ocorria um erros de type cast no momento de compilar as packages, então acabei optando pela versão 7.0.0 Alpha, que tem funcionado perfeitamente. 


Para facilitar a vida de quem pretenda usar essa versão, abaixo segue o caminho das pedras. 






1 - Faça o download do arquivo (link para download)


2 - Crie uma pasta chamada Zeos7 dentro da pasta Lib do RAD Studio. Por exemplo, meu RAD Studio esta em C:\Program Files\CodeGear\RAD Studio\6.0\lib, então meu diretório base será: C:\Program Files\CodeGear\RAD Studio\6.0\lib\zeos7 


3 - Descompacte os arquivos dentro do diretório recem criado no ítem 2. 


4 - Com o Delphi 2009/2010 aberto, vá em File -Open Project (Ctrl+F11) e abra o arquivo ZeosDbo.GroupProj, dentro de C:\Program Files\CodeGear\RAD Studio\6.0\lib\zeos7\packages\delphi12 


5 - Vá ao menu Project - Build All Projects 


6 - Antes de continuar, se você estiver usando o Windows Vista ou Windows 7 com o UAC habilitado, você terá que dar permissão TOTAL para a pasta Zeos7 criada, caso contrário não irá funcionar. 


7 - Agora, antes da instalação vá ao menu Tools - Options - Evironment Options - Delphi Options - Library - Win 32 e adicione o caminho a seguir no Library Path: $(BDS)\lib\Zeos7\packages\delphi12\build 


8 - Feito isto, minimize o Delphi, abra o diretório C:\Program Files\CodeGear\RAD Studio\6.0\lib\zeos7\packages\delphi12\build, selecione todos os arquivos ".bpl" copie-os e cole-o dentro da pasta Bpl do RAD Studio: C:\Users\Public\Documents\RAD Studio\6.0\Bpl 


9 - Volte ao Delphi vá ao menu View - Project Manager (Ctrl + Atl + F11). Selecione e compile as bpls abaixo, uma a uma. Para compilar, clique com o botão direto sobre o bpl. É a primeira opção.


- ZCore120.Bpl
- ZPlain120.Bpl
- ZParseSql120.Bpl
- ZDbc120.Blq
- ZComponent120.Bpl
- ZComponentDesign120.Bpl




10 - Depois de compiladas, clique com o botão direito sobre o pacote ZComponentDesign120.Bpl (o único em negrito) e clique em Install. 


11 - Pronto, feche tudo (File - Close All). Crie um novo projeto e veja que os componentes já podem ser utilizados.

segunda-feira, 4 de janeiro de 2010

Dicas da IDE do Delphi - Parte 03

Dando seguimento à série de artigos com dicas sobre a IDE do Delphi, aqui vai a terceira parte


Dica 04 - Desktops

Normalmente o desenvolvedor gosta de personalizar sua área de trabalho colocando os itens que mais costuma utilizar, ocultando ou exibindo barras de ferramentas, janelas, etc.  O leiaute da tela depois de  ajustado pelo desenvolvedor  será   salvo clicando-se  em View > Desktops > save desktop. 

O desenvolvedor pode criar Leiautes para diversos momentos do desenvolvimento, como por exemplo um leiaute de debug, um leiaute de edição, e seleciona-los de acordo com sua necessidade ou conveniência.



Figura 3. Visualisando os Desktops existentes na IDE


Dica 05 - Structure view (Shit + alt + F11)

Na versão 7 do Delphi esse recurso é chamado de  Objetct Tree View.

A structure view mostra a hierarquia do código fonte e os componentes mostrados no designer, permitindo acesso rápido aos componentes do form.  Isso é bastante útil quando temos forms com muitos componentes  e por vezes acabamos nos perdendo ao tentar localizar um deles “no olho”.

Através da structure view podemos realizar uma busca digitando no nome do componente e ele será selecionado no form.

Outra facilidade é que quando realizamos um duplo clique no componente na Structure View a IDE nos leva para o código fonte.

Se um componentes está em determinado container e desejarmos colocá-lo em basta arrastá-lo dentro da structure view para o novo dono a quem ele deve pertencer. 


Figura 4. Painel da Structure view