Mudanças entre as edições de "Padrões Mobile"

De MSTECH wiki
Ir para: navegação, pesquisa
(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 desenovlvimento(IDE) definidos ==
+
==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.