Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouHugo Coito Alterado mais de 9 anos atrás
1
Parte 3 - Resultados Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP
2
Concerns tratados Exceções (FLiPG) Duplicação de código (FLiPEx) – Extratores – Validadores Código bastante clonado, com variações dentro de if- elses aninhados
3
Refactorings OO utilizados ExtractMethod – Extrair variações de comportamento – 3 vezes para cada arquivo de validador
4
Leis utilizadas Law 1 - Make Aspect Privileged – 16 Law 2 - Add Before-Execution – 2 Law 4 - Add After-Execution - 3 Law 5 - Add After-Execution Returning Successfully - 1 Law 7 - Add Around-Execution – 4 Law 9 - Merge Advices - 15 Law 13 - Soften Exception – 3
5
Leis utilizadas Law 14 - Add Catch for Soften Exception – 2 Law 17 - Extract Named Pointcut - 15 Law 24 - Move Method to Aspect – 2 Law 25 - Move implements declaration to aspect - 1 Law 26 – Add Around-Call - 3 Law 29 - Move method introduction up to interface – 1
6
Aspect Oriented Idioms Abstract Pointcut – 9 Composite Pointcut – 4 Container Introduction – 1 Template Advice – 6 Pointcut Method – 1
7
AO Refactorings Around call para substituir método - 2 (problema no inter type) Pull up Advice – 9 – Utilizado para subir os advices em comum para os aspectos abstratos.
8
Extractors: AfterCall/BeforeCall antes
9
Extractors: AfterCall/BeforeCall depois
10
Extractors: Interface/SuperClass depois Obs.: Classe pequena e similar, apenas com as variações, ccfinder entende como clone
11
PureVariantsAdapter - antes
12
PureVariantsAdapter - depois
13
Clones de exceção - antes
14
Clones de exceção - depois
15
Validators: distribuição da taxa de duplicação - antes
16
Validators: distribuição da taxa de duplicação - depois
17
Validators (AfterCall/BeforeCall) – antes clones
18
clone Validators (AfterCall/BeforeCall) – depois
20
Análise e Conclusão Abordagem de mapeamento de concerns – Dificultou a modularização dos mesmos Arquitetura de componentes – Plugin Eclipse – Dificultou o uso de aspectos entre projetos – Código duplicado foi reduzido, mas concerns não modularizados
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.