Projetos Open Source e pessoais como oportunidade de aprendizado
Transcrição
Projetos Open Source e pessoais como oportunidade de aprendizado
Projetos Open Source e pessoais como oportunidade de aprendizado Por Fábio Pagoti 20131213 WRITE: me->get_short_bio( ). • Formado em Sistemas de Informação pela USP • • • • ABAPer desde 2009 Autor do blog ABAP101.com Instrutor ABAP Orgulha-se por nunca haver copiado um programa standard • • 100% ABAP Objects Fã do WordPress Projetos Open Source em ABAP • Screen Breaker (evita LOOP AT SCREEN) • ABAP FileMan (GUI_DOWNLOAD/OPEN DATASET) • ABAPDoc v2 (similar a JavaDoc) • ABAP Jan-Ken-Pon (Testes unitários) • ABAP Tic-Tac-Toe (Web Dynpro – MVC) • WB Objects Framework • ABAP2YUML Projetos Open Source e pessoais como oportunidade de aprendizado Esta apresentação não pretende discutir • O que é um projeto Open Source • Licenças / termos de uso do MiniSAP ou afins • Possível interesse da SAP em código aberto • Detalhes de programação ABAP ABAPer de final de semana IF sy-daqui IS INITIAL. “ Do something… ENDIF. ABAPer de final de semana • Documentação para iniciar é abundante • Se você não investe tempo em você mesmo, por que sua empresa deveria te pagar um treinamento? • Cursos, por melhor que sejam, nunca serão o suficiente • Você não deixa de ter vida social (se usar o Facebook sim) • 2 horas de estudo por semana em 1 ano ~ tempo de 1 curso ABAP2YUML e WB Objects Meu curso de final de semana de ABAP YUML • Yuml.me • Grátis • Serviço para geração de UML • Online ou através de um DSL YUML [note: You can stick notes on diagrams too!{bg:cornsilk}], [Customer]<>1-orders 0..*>[Order], [Order]++*-*>[LineItem], [Order]-1>[DeliveryMethod], [Order]*-*>[Product], [Category]<>[Product], [DeliveryMethod]^[National], [DeliveryMethod]^[International] Propostas do Projeto • Tornar ridiculamente fácil a geração de UML através de código ABAP • Não possuir dependências como a ferramenta standard • Dar mais um motivo para acabar com o mundo procedural • Exemplo de trabalho bem feito Oportunidades de Aprendizado • Todo mundo tem uma lista de “coisas a aprender” • A minha: o R o Predictive Analysis Library (PAL) o eCATT o BOL o Violão 100% ABAP Objects ABAP Unit & TDD (Test Driven Development) BDD (Behavior Driven Development) • GIVEN-WHEN-THEN • Teste que o “funcional” entenda • Documentação executável GIVEN-WHEN-THEN DADO Classe CL_SALV_TABLE e Método FACTORY QUANDO Método get_format é chamado ENTÃO Formatação é em itálico Exemplo de GIVEN-WHEN-THEN Reutilização de código standard • Investigação • Debug • Interpretação de código alheio WB Objects Framework • Framework para carregar informações de objetos do repositório • Classes e Interfaces Locais e Globais • Útil para outros projetos que dependam desta informação: o SAPLink o ABAPDoc2 o etc WB Objects Framework WB Objects Framework WB Objects Framework Enhancement Framework • Técnica mais poderosa e provavelmente menos usada de modificação do standard. DADO Transação SE21 e Pacote é Z* QUANDO Pacote é salvo ENTÃO Mensagem “Deseja gerar UML” deve ser exibida Enhancement Framework - Exemplo Enhancement Framework - Exemplo Controllers WEB & Web Dynpro Shared Objects • Substituto do EXPORT/IMPORT Report User1 Exit User1 WD User 2 Shared Objects Report User 2 Shared Objects – Tcodes SHMA & SHMM Mas não é só código… … que bom! No dia-a-dia também não é. Documentação • Se é “Open”, é para os outros • Se é para os outros, eles devem entender • Se eles devem entender, é seu dever explicar Contato com usuários • Quem só quer baixar seu projeto e usá-lo é seu usuário. • Quem quer ver seu produto melhor é seu cliente. • Não os deixe na mão Release Management • .zip / .nugg ? • Como controlo as versões? • Como organizar os frameworks que dependo? • Quem tem a versão 1 precisa desinstalar para usar a 2? • Como devo anunciar as alterações? • Como decidir qual a próxima melhoria? Git & GitHub • • Git abre portas para o aprendizado Usado pela SAP para alguns projetos SAPLink • SAPLink te permite espalhar o seu trabalho mundo afora. Para finalizar, qual o status do projeto? Amanhã é sábado! Codifique Fábio Pagoti [email protected] @fabiopagoti fabiopagoti .com
Documentos relacionados
academia de abap ( programação)
Escrever objeto de programas orientados com ABAP Utilização do conceito de melhorias Criar Web Dynpro simples para aplicações ABAP Objetos ABAP: Análise e design UML Classes e objetos Herança Inter...
Leia mais