| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 07:38:43
|
rsantik
JavaTeenager
![[Avatar]](/images/avatar/1d015de3059eb8754a365b5bbc735818.png)
Membro desde: 09/10/2008 18:50:25
Mensagens: 177
Localização: Jundiaí
Offline
|
Pessoal entrei numa empresa que me ofereceu um salário bom....o problema é que tenho que entender o sistema, os códigos e etc......o problema é que o sistema não tem documentação nenhuma......alguém tem alguma técnica milenar neste caso?
Abs
Rodrigo
This message was edited 1 time. Last update was at 31/05/2010 07:39:00
|
Frases para você filosofar:
Os fins justificam os meios, diz o filosofo...
Outra gambiarra, diz o programador.
E-mail: rodrigo.santik@gmail.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 08:00:50
|
thiagomont
JavaChild
Membro desde: 02/05/2007 00:49:04
Mensagens: 139
Offline
|
Blz?
Engenharia reversa do código para diagramas UML podem ser um início.
Mas não tem jeito. Vai ter que ralar muito no código para entender a estrutura do sistema e regras de negócio.
Boa sorte!
|
Thiago Amaral Monteiro
Analista de Sistemas - SERPRO
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 08:04:19
|
Felagund
GUJ Master
![[Avatar]](/images/avatar/d8d855c465198499868fb2b566ebee8d.jpg)
Membro desde: 26/07/2006 11:51:36
Mensagens: 1732
Localização: Santa e Bela Catarina
Offline
|
Primeiramente chama-se oxin dos codigos fontes, reza 3x, oferece sua alma, e pronto, você entenderá os codigos, mas somente desse sistema, para outro terá de repetir o ritual.
Brincadeiras a parte, não tem jeito não, o negocio é rala e adivinha, o pior e se o sistema não seguir nenhum padrão, ai sim vc está ferrado ehhehe.
abraços
|
att
Rafael Felix
Rolling With Code
Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 08:11:36
|
ciczan
JavaGuru
![[Avatar]](/images/avatar/4fb8a7a22a82c80f2c26fe6c1e0dcbb3.png)
Membro desde: 22/12/2004 12:57:21
Mensagens: 227
Localização: Curitiba -PR
Offline
|
Nessas ocasiões eu tento seguir o caminho de um evento no sistema. Desde o momento que o "ator" clica em um botão, ou coisa parecida, até o resultado retornar.
Tambem é util fazer um tipo de log conforme voce vai indo, que classe chama qual, essas coisas, pra tentar ter uma visão geral.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 08:29:40
|
Vmaia
JavaChild
![[Avatar]](/images/avatar/6b595bb87a53c615a535554667cfdde0.jpg)
Membro desde: 15/12/2007 23:36:19
Mensagens: 135
Offline
|
Olá, Bom poderia ir inicialmente tentando entender a lógica de/do negocio. (crie alguns fluxos de como deveria ser.) Tente seguir os fluxos enquanto "debuga" o código..... é árduo, mas você começa a compreender melhor o sistema todo( por mais que não conheça tudo plenamente, começará ter noção de onde certas "coisas", códigos, properties, etc, se encaixam no sistema ) .
This message was edited 1 time. Last update was at 31/05/2010 08:31:04
|
Vmaia =D |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 08:37:34
|
horacio_barros
JavaChild
Membro desde: 13/03/2008 08:19:18
Mensagens: 108
Localização: BELO HORIZONTE - MG
Offline
|
Começa criando um diagrama de classes,
tentando montar um modelo de domínio,
editando classe por classe.
Se você conseguir, mesmo que seja
meio nebuloso a princípio, vai começar
a entender o sistema.
Vai ralar muito, infelizmente.
Boa sorte.
|
Horácio Barros
Desenvolvedor / SCJP 5.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 08:51:33
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
rsantik wrote:Pessoal entrei numa empresa que me ofereceu um salário bom....o problema é que tenho que entender o sistema, os códigos e etc......o problema é que o sistema não tem documentação nenhuma......alguém tem alguma técnica milenar neste caso?
Se você achar resposta para isso, você pode escrever um livro e ganhar muita grana, pois tem muito projeto assim por aí. Você não tem noção da infinidade de projetos que não possuem uma linha sequer de Javadoc.
Sinceramente programador que não documenta seus códigos nem sequer merecia ser chamado de programador.
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 09:06:48
|
Vmaia
JavaChild
![[Avatar]](/images/avatar/6b595bb87a53c615a535554667cfdde0.jpg)
Membro desde: 15/12/2007 23:36:19
Mensagens: 135
Offline
|
Por mais que o código fale por si só, o que não é muito que se vê por ai, porem seria o ideal. Mesmo assim, pelo menos, deveria haver um documento para dar o "ponta-pé" inicial. Porem sinceramente é muito chato ficar documentando coisas, eu tento criar código simples (seguindo os princípios do "ema ema ema") e comentar pontos importantes da aplicações. Alguem tem algumas dicas legais ,de fácil "usabilidade" ?.
obs.: Mas o problema em tudo isso é que é muito complexo ser simples. (Pelo menos tentar criar coisas simples é complexo. )
|
Vmaia =D |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 09:15:55
|
FrancoC
JavaTeenager
![[Avatar]](/images/avatar/8e6174e864adbb423d4ea4f3de745402.jpg)
Membro desde: 15/10/2009 13:11:25
Mensagens: 193
Offline
|
Documentação de código deve possuir um formato pré-definido. No minimo ela deve ser clara e concisa e principalmente ser uma informacao útil. Uma equipe deve entrar em acordo sobre o que documentar e o que não documentar.
|
Get the facts first. You can distort them later. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 09:24:09
|
deniswsrosa
GUJ Ranger
![[Avatar]](/images/avatar/28a7602724ba16600d5ccc644c19bf18.jpg)
Membro desde: 21/07/2005 08:51:27
Mensagens: 807
Offline
|
Olá! Pra mim uma das últimas coisas que você deve fazer é diagrama de classe, pq vc já está começando pelo fim. Primeiro e mais importante: faça Diagramas de Casos de Uso para que saiba o que o seu sistema faz. Segundo: Mapeie processos usando BPMN, a partir daí vc já será capaz de ter um entendimento completo do código. Se usa jdbc, hibernate ou wherever isso são apenas detalhes de implementação, sem contar que o resultado do mapeamento com BPMN é algo "apresentavel" aos gestores.
This message was edited 2 times. Last update was at 31/05/2010 09:26:57
|
SCJP, SCEA I
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 14:27:48
|
s4nchez
Virtual Machine Man
![[Avatar]](/images/avatar/bef4d169d8bddd17d68303877a3ea945.jpg)
Membro desde: 05/06/2006 11:35:55
Mensagens: 674
Localização: London, UK
Offline
|
rsantik wrote:Pessoal entrei numa empresa que me ofereceu um salário bom....o problema é que tenho que entender o sistema, os códigos e etc......o problema é que o sistema não tem documentação nenhuma......alguém tem alguma técnica milenar neste caso?
O que aconteceu com quem desenvolveu o sistema? Se ele esta na empresa, exija algum tempo com ele para dar seus primeiros passos. Se nao, desconfie que voce pode estar se metendo numa fria...
|
Ivan Sanchez | coding dojo | blog | twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 14:32:59
|
luistiagos
GUJ Expert
![[Avatar]](/images/avatar/98785ca89cfbbe933921bfe68a94553b.jpg)
Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline
|
Tem sim... uma tecnica chamada Debug frenetico...
so assim pra entender a bagaça...
ja passei por isto amigo... e complicado porem nada que um bom debug e verificação de pilha de chamadas resolva
|
SCJP 1.5
SCJA 1.0
IBM DB2 Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 16:07:22
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1534
Localização: Terra (maior parte do tempo)
Offline
|
É isso aí...infelizmente essa situação é bem comum mesmo, a parte boa é que geralmente oferecem mais dinheiro nestes tipos de oportunidades.
Minhas dicas:
1) Se houver algume que participou do projeto no local, pergunte a ele/ela; esta é a maneira mais rápida de aprender sobre o sistema. Se não houver ninguem (como ocorreu comigo), relaxe e vai devagar porque vai ficar realmente mais difícil porem a culpa não é sua, é mais de quem deixou todo mundo "voar" sem deixar nenhuma dica.
2) Se já houver usuários para o sistema eles poderão ser seus aliados, poderão lhe ajudar a entender os casos uso, instalação, regras de negócio e etc... enfim a parte externa da coisa.
3) Tente perceber o nível do desenvolvedor anterior verificando a codificação, se houver um método que começa com letra maiúscula, nome de classe com letra minuscula você já pode se preparar para problemas sérios de arquitura, perfomance, fluxos confusos e falta de verificações nas entradas de dados. Neste caso não tem jeito tambem, relaxe e vai aprendendo / arrumando a medida que os problemas vão surgindo.
4) Tente varificar quais componentes foram utilizados no sistema (hibernate, spring, jsf, struts, etc...) se você não souber com funciona algum deles comece a estudar imediatamente, caso contrario vc não irá entender a parte do código que envolve o componente desconhecido. Vc terá pontos cegos no código.
5) Se o desenvolvedor anterior for de nível médio para cima, você irá constatar uma especie de "modus operandis" expresso no código. Nestes casos selecione uma funcionalidade bem simples e percorra seu código do inicio ao fim depois disto pegue uma de nível médio e faça a mesma coisa.
6) Muitas vezes é possível encontrar alguns arquivos .docs na rede sobre o projeto; os caras as vezes fazem durante/após as reuniões e deixam espalhados se encontrar dá uma lida. Ao menos vc terá uma leve idéia do que eles queriam antes da crise chegar no seu ponto máximo.
7) Navegue nas janelas no sistema até ficar de "saco cheio" mesmo sem saber para que servem. Assim quando vc estiver no meio do código vc poderá fazer uma rápida associação.
Aproveite seu tempo livre (se houver) para aprender mais sobre a arquitetura (se houver) do sistema, assim você será mais àgil quando ocorrer algum problema, poderá até causar uma boa impressão nos seus usuários.
9) Tente perceber se foi utilizado patterns, se foi estude os que vc não conhecer. Com isto você já irá dominar boa parte do código escrito.
...
Espero ter ajudado.
flws
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 17:07:02
|
Luiz Aguiar
Moderador
![[Avatar]](/images/avatar/843a4d7fb5b1641b0bb8e3c2b2e75231.jpg)
Membro desde: 23/01/2005 00:05:55
Mensagens: 3840
Localização: São Paulo
Offline
|
Não tem testes?
|
-
Blog de Tecnologia
GitHub
@AguiarLuiz
Recicla SP na App Store!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2010 23:26:41
|
rsantik
JavaTeenager
![[Avatar]](/images/avatar/1d015de3059eb8754a365b5bbc735818.png)
Membro desde: 09/10/2008 18:50:25
Mensagens: 177
Localização: Jundiaí
Offline
|
Pessoal vejo que o negócio é colocar a mão na massa mesmo!!!
Pelo jeito vou fazer um pouco de cada coisa que vocês falaram!!!
Olha que não é nada mal pensar em montar livro com uma técnica para entender projetos sem documentação!!
Será que daria grana? hahahhaha
Obrigado pessoal.......o que vcs disseram pra mim nesse forúm....já me deixa tranquilizado diante do que tenho que passar!!
Abraços e obrigado por tudo!!
Rodrigo Santik
This message was edited 1 time. Last update was at 31/05/2010 23:27:12
|
Frases para você filosofar:
Os fins justificam os meios, diz o filosofo...
Outra gambiarra, diz o programador.
E-mail: rodrigo.santik@gmail.com |
|
|
 |
|
|