Mudanças entre as edições de "Padrões Mobile"
(→Padrões de desenvolvimento de Devices (Mobile e Desktop)) |
(→2. Padrões de Arquitetura) |
||
(4 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
= Padrões de desenvolvimento de Devices (Mobile e Desktop) = | = Padrões de desenvolvimento de Devices (Mobile e Desktop) = | ||
− | ==1 Ambientes de | + | ==1. Ambientes de desenvolvimento(IDE) definidos == |
Deve ser adotado como padrão de IDE (''Integrated Development Environment''): | Deve ser adotado como padrão de IDE (''Integrated Development Environment''): | ||
Linha 11: | Linha 11: | ||
Obs.: Configurar as IDEs para utilização do padrão '''Square''' de organização de código, com o '''Tab''' contendo 4 espaços. | Obs.: Configurar as IDEs para utilização do padrão '''Square''' de organização de código, com o '''Tab''' contendo 4 espaços. | ||
− | ==2 Padrões de Arquitetura == | + | ==2. Padrões de Arquitetura == |
* '''Desenvolvimento de aplicações Android:''' Deve ser utilizado como padrão de arquitetura '''Android''' o '''Clean Architecture'''. [https://github.com/android10/Android-CleanArchitecture Referência]; | * '''Desenvolvimento de aplicações Android:''' Deve ser utilizado como padrão de arquitetura '''Android''' o '''Clean Architecture'''. [https://github.com/android10/Android-CleanArchitecture Referência]; | ||
− | * '''Desenvolvimento de aplicações iOS:''' Será utilizado como padrão de arquitetura o MVVM (Model-View-View-Model) conforme recomendado pela Apple; | + | * '''Desenvolvimento de aplicações iOS:''' Será utilizado como padrão de arquitetura o '''MVVM (Model-View-View-Model)''' conforme recomendado pela Apple; |
* '''Desenvolvimento Desktop:''' Deve ser utilizado como padrão de arquitetura Desktop o '''MVP (Model-View-Presenter)''' e, como padrão de arquitetura em Camadas, '''N-Tier'''. | * '''Desenvolvimento Desktop:''' Deve ser utilizado como padrão de arquitetura Desktop o '''MVP (Model-View-Presenter)''' e, como padrão de arquitetura em Camadas, '''N-Tier'''. | ||
− | ==3 Testes Unitários == | + | ==3. Testes Unitários == |
Para a construção e execução dos testes unitários, deve ser utilizado como padrão para desenvolvimento '''JavaScript''' e '''Android''' os frameworks ''open-source'' '''JUnit''' e '''Mockito''' e, especificamente para '''Android''' o '''Robolectric'''. | Para a construção e execução dos testes unitários, deve ser utilizado como padrão para desenvolvimento '''JavaScript''' e '''Android''' os frameworks ''open-source'' '''JUnit''' e '''Mockito''' e, especificamente para '''Android''' o '''Robolectric'''. | ||
Linha 23: | Linha 23: | ||
Para análise de cobertura de código, deve ser utilizado o '''Jacoco''' (Java Code Coverage). | Para análise de cobertura de código, deve ser utilizado o '''Jacoco''' (Java Code Coverage). | ||
− | ==4 Uso de analisadores de código == | + | ==4. Uso de analisadores de código == |
Devem ser adotados como padrão de analisadores de código na plataforma mobile: | Devem ser adotados como padrão de analisadores de código na plataforma mobile: | ||
Linha 31: | Linha 31: | ||
* '''SonarLint''' para análise de código Android. | * '''SonarLint''' para análise de código Android. | ||
− | ==5 Padrões de ''framework'' == | + | ==5. Padrões de ''framework'' == |
Deve ser adotado o '''Gradle''' como padrão para projetos/sistemas Desktop, permanecendo o '''Maven''' para projetos/sistemas Desktop legados. | Deve ser adotado o '''Gradle''' como padrão para projetos/sistemas Desktop, permanecendo o '''Maven''' para projetos/sistemas Desktop legados. | ||
− | ==6 Padrão de comentários de códigos e APIs == | + | ==6. Padrão de comentários de códigos e APIs == |
Deve ser adotado o '''JavaDoc''' como padrão de comentários para os projetos/sistemas e API's desenvolvidos em Java. | Deve ser adotado o '''JavaDoc''' como padrão de comentários para os projetos/sistemas e API's desenvolvidos em Java. | ||
− | ==7 Padrões de instaladores == | + | ==7. Padrões de instaladores == |
Adotar na construção de instaladores a política de ''rollback''. | Adotar na construção de instaladores a política de ''rollback''. |
Edição atual tal como às 18h22min de 3 de junho de 2016
Padrões de desenvolvimento de Devices (Mobile e Desktop)
1. Ambientes de desenvolvimento(IDE) definidos
Deve ser adotado como padrão de IDE (Integrated Development Environment):
- O IntelliJ IDEA para os projetos/sistemas desenvolvidos em Java;
- O Xcode para os projetos/sistemas desenvolvidos em iOS;
- O Android Studio para os projetos/sistemas desenvolvidos em Android.
Obs.: Configurar as IDEs para utilização do padrão Square de organização de código, com o Tab contendo 4 espaços.
2. Padrões de Arquitetura
- Desenvolvimento de aplicações Android: Deve ser utilizado como padrão de arquitetura Android o Clean Architecture. Referência;
- Desenvolvimento de aplicações iOS: Será utilizado como padrão de arquitetura o MVVM (Model-View-View-Model) conforme recomendado pela Apple;
- Desenvolvimento Desktop: Deve ser utilizado como padrão de arquitetura Desktop o MVP (Model-View-Presenter) e, como padrão de arquitetura em Camadas, N-Tier.
3. Testes Unitários
Para a construção e execução dos testes unitários, deve ser utilizado como padrão para desenvolvimento JavaScript e Android os frameworks open-source JUnit e Mockito e, especificamente para Android o Robolectric.
Para análise de cobertura de código, deve ser utilizado o Jacoco (Java Code Coverage).
4. Uso de analisadores de código
Devem ser adotados como padrão de analisadores de código na plataforma mobile:
- PMD;
- FindBugs;
- JSLint, considerando e resolvendo “warnings”;
- SonarLint para análise de código Android.
5. Padrões de framework
Deve ser adotado o Gradle como padrão para projetos/sistemas Desktop, permanecendo o Maven para projetos/sistemas Desktop legados.
6. Padrão de comentários de códigos e APIs
Deve ser adotado o JavaDoc como padrão de comentários para os projetos/sistemas e API's desenvolvidos em Java.
7. Padrões de instaladores
Adotar na construção de instaladores a política de rollback.