Guia de Estilo - TecnicasdeProgramacao2016/EuVou GitHub Wiki
-
Declaração de Nomes
1.1. Váriaveis
1.2. Classes:
1.3. Métodos:
1.4. Abreviações: -
Identação
2.1. Chaves
2.2. Parênteses
2.3. Chaves -
Headers
-
Comentários
-
Marcadores
-
Operações e Atribuições de Sinais
-
Javadoc
-
Referências
##1. Declaração de nomes
Ex1:
private int itemId; //this is fine
Ex2:
private int itemId; //permitted, but future edits
1.2 Classes: Use camelCase como padrão. Além disso, a primeira letra de cada variável deve estar em letra maiúscula.
Ex1:
public class EventConsultation extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener
{
}
Ex2:
public class LoginActivity extends AppCompatActivity implements View.OnClickListener
{
}
Ex1:
protected void onCreate(Bundle savedInstanceState)
{
}
Ex2:
private void initViews()
{
}
1.4 Abreviações: Utilize abreviações apenas para variáveis, e quando declaradas, estas devem apresentar um comentário explicativo.
Ex1:
app //Aplication
Ex2:
int id = item.getItemId(); //id is a identifier
Quando utilizar chaves "{" e "}", utilize na linha de baixo. Utilize um tab tamanho quatro depois da declaração de todos os escopos. Ex1:
if(isPasswordValid == false)
{
passwordField.requestFocus();
passwordField.setError(loginValidation.getInvalidPasswordMessage());
}
else
{
}
Ex2:
switch(number)
{
case 1:
{
//Use curly brackets just if the case have more than one line.
break;
}
case 2:
break;
case 3:
break;
default:
}
Exceções: No try-catch, a parte do "catch" deve estar na mesma linha. Ex1:
try
{
json = new JSONObject(str);
}catch (JSONException exceptionJSON)
{
exceptionJSON.printStackTrace();
}
Com parentetes, não utilize espaço depois deles. Ex1:
function(int variable)
Com colchetes, não utilize espaço depois deles. Ex1:
full_name[1] = "Name"
Cada linha deve ter no máximo 100 carácteres, e se isto for ultrapassado deve utilizar a quebra de linha. Na linha abaixo a identação, começa com o alinhamento com outras declarações.
Ex1:
getDataTime (int month, int year, int day, int hour,
int minute, int second)
{
//function
}
Ex2:
variablesAverage = (variable1 + variable2 + variable 3 +
variable 4)/4;
## **3. Headers** Toda classe deve ter um header como o nome do arquivo e o propoósito.
Ex1:
/*
* File name: arquiveName.
* File pourpose: This file have de pourpose to be an example.
*/
Todos comentários devem estar em inglês, começando com letra maíuscula. Para comentários de uma linha utilize "//", e para comentários maior que uma linha "/**/". Ex1:
//Inflate the menu
Ex2:
/*
*Validates and set user alteration
*to user
*/
Quando uma parte do código precisa de refatoração. //BAD CODE Ex1:
int r = a + b //BAD CODE
Se já foi inicializado a refatoração do código e isto ainda não foi terminado. Ex2:
//NOT FINISHED
Ex3:
funtion(param1,param2)
{
//NOT FINISHED
}
Quando uma condicional tiver tiver um "default" que não faz nada, um marcador "NOTHING TO DO" precisa ser incluído.
Ex1:
switch (variable)
{
case 1:
x++;
break;
case 2:
x--;
break;
default:
//NOTHING TO DO
}
Ambos devem usar como padrão: Espaço entre palavras ou números.
Ex1:
for(int i = 0; i < idCategories.size(); i++)
{
}
Ex2:
b = c + a;
Ps: No exemplo um, note que para a operação de incremento não é utilizado espaço entre o número e o operando.
A formatação baśica do javadoc é exemplicada a baixo. Esta técnica deve ser utilizada em métodos e classes. Ex1:
/**
* Javadoc Example
*/
Ex2:
/** Comment of one line in Javadoc */
Para a realização desta wiki foram utilizadas algumas técnicas de acordo com Google Java Style Guide