terça-feira, novembro 09, 2010

O Teste do Joel: 12 Passos para um Código Melhor

Amigos,
  um amigo meu, Rodrigo Almeida de Oliveira, me enviou o artigo abaixo e achei muito interessante, compartilhando com vocês.

O Teste do Joel: 12 Passos para um Código Melhor

Qual o nível da Reengenharia que você precisa?

As duas pulgas
Max Gehringer


Duas pulgas estavam conversando e então uma comentou com a outra:

- Sabe qual é o nosso problema? Nós não voamos, só sabemos saltar.
Daí nossa chance de sobrevivência quando somos percebidas pelo cachorro é zero. É por isso que existem muito mais moscas do que pulgas.

Elas então contrataram uma mosca como consultora, entraram num programa de reengenharia de vôo e saíram voando.

Passado algum tempo, a primeira pulga falou para a outra:

- Quer saber? Voar não é o suficiente, porque ficamos grudadas ao corpo do cachorro e nosso tempo de reação é bem menor do que a velocidade da coçada dele.

Temos de aprender a fazer como as abelhas, que sugam o néctar e levantam vôo rapidamente.

Elas então contrataram o serviço de consultoria de uma abelha, que lhes ensinou a técnica do chega-suga-voa. Funcionou, mas não resolveu.. . A primeira pulga explicou porquê:

- Nossa bolsa para armazenar sangue é pequena, por isso temos de ficar muito tempo sugando. Escapar, a gente até escapa, mas não estamos nos alimentando direito. Temos de aprender como os pernilongos fazem para se alimentar com aquela rapidez.

E então um pernilongo lhes prestou uma consultoria para incrementar o tamanho do abdômen. Resolvido, mas por poucos minutos.
... Como tinham ficado maiores, a aproximação delas era facilmente percebida pelo cachorro, e elas eram espantadas antes mesmo de pousar.
Foi aí que encontraram uma saltitante pulguinha, que lhes perguntou:

- Ué, vocês estão enormes! Fizeram plástica?

- Não, reengenharia. Agora somos pulgas adaptadas aos desafios do século XXI. Voamos, picamos e podemos armazenar mais alimento.

- E por que é que estão com cara de famintas?

- Isso é temporário. Já estamos fazendo consultoria com um morcego, que vai nos ensinar a técnica do radar. E você?

- Ah, eu vou bem, obrigada. Forte e sadia.

Mas as pulgonas não quiseram dar a pata a torcer, e perguntaram à pulguinha: - Mas você não está preocupada com o futuro? Não pensou em uma reengenharia?

- Quem disse que não? Contratei uma lesma como consultora.

- Mas o que as lesmas têm a ver com pulgas. quiseram saber as pulgonas...

- Tudo. Eu tinha o mesmo problema que vocês duas. Mas, em vez de dizer para a lesma o que eu queria, deixei que ela avaliasse a situação e me sugerisse a melhor solução. E ela passou três dias

ali, quietinha, só observando o cachorro e então ela me disse:
"Não mude nada. Apenas sente na nuca do cachorro. É o único lugar que a pata dele não alcança".





MORAL DA HISTÓRIA:

Você não precisa de uma reengenharia radical, nem de um complexo projeto para ser mais eficiente.
Muitas vezes, a GRANDE MUDANÇA é uma simples questão de reposicionamento.

segunda-feira, novembro 01, 2010

Controle de Código Fontes

O tema de como controlar os fontes de um programa (Source Control) já possui várias linhas de discussão na Internet e cada um defende uma linha.

Na minha opinião, a melhor ferramenta é o Microsoft Team Foundation Server (TFS), sendo que a maior vantagem é armazenar os arquivos em um banco de dados SQL Server, facilitando o backup/restore e a manutenção do banco, além de todas as vantagens que um banco de dados SQL Server fornece. O lado ruim é o custo, porém, se comparado aos benefícios, justifica o investimento.

A uns dez anos atrás, elaborei um manual de como usar o VSS, que em muitas empresas foram migradas para o TFS. Porém e durante vários anos, tivemos N problemas com este modelo e sempre me questionei se era a melhor forma de gerenciar códigos fontes.

Na semana passada, em uma reunião com a Microsoft sobre ALM, fiz este questionamento a mesma, expondo os problemas enfrentados. Em resposta, me passaram o site abaixo que explica como a Microsoft gerência os códigos fontes dos produtos, inclusive o Windows e o Office. O artigo é sensacional e responde a quase todas as minhas perguntas. O próximo passo é colocar o que está documentado em prática.

Abaixo o link para a documentação da Microsoft.

Visual Studio TFS Branching Guide 2010

PowerBuilder - Funções de conversão ascii para ebcdic/ebcdic para ascii

Função escrita por Jorge Batista Piazzarollo


// Converte ascii para ebcdic
long ll_pos, ll_len

as_ebcdic = ''
// Recupera o tamanho da string
ll_len = Len(as_ascii)

// Converte cada caractere
for ll_pos = 1 to ll_len
 as_ebcdic = as_ebcdic + charA(tabela_toebcdic[AscA(Mid(as_ascii, ll_pos, 1)) + 1])
next

return
=====================================


//Converte ebcdic para ascii
long ll_pos, ll_len

as_ascii = ''
// Recupera o tamanho da string
ll_len = Len(as_ebcdic)

// Converte cada caractere
for ll_pos = 1 to ll_len
 as_ascii = as_ascii + charA(tabela_toascii[AscA(Mid(as_ebcdic, ll_pos, 1)) + 1])
next

return