-
Notifications
You must be signed in to change notification settings - Fork 0
/
Style sheet
278 lines (198 loc) · 7.86 KB
/
Style sheet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
Documento de definição de estilo e design para o projeto
FGA- Universidade de Brasília
Técnicas de Programação
Prof: Mauricio Serrano
Grupo: João Henrique 11/0149278
Rafael Fazzolino
Rudmar Rodrigues
Thabata Granja 09//0139658
Projeto trabalhado: Chamada Parlamentar.
Repositório: https://github.com/RafaelFazzolino/TecProg
Repositório original: https://github.com/Thiagokairala/ChamadaParlamentar2
Índice:
1. Informações
1.1 - Objetivo do documeto
2. Sobre organização do código
2.1 - Atribuições de variáveis
2.2 - Métodos e chaves
2.3 - Identação If/Else
2.4 - Limite de escrita
2.5 - Estrutura for
2.6- Estrutura while
2.7 - Biblioteca
3. A respeito da identação
3.1 - Comprimento de linha
3.2 - Quebra de linha
3.3 - Início do texto
4. Funções
4.1 - Funções e chaves
5. Variáveis no código
5.1 - Padrão de escrita das variáveis
5.2 - Inicialização de variáveis
5.3 - Declaração de variáveis
5.4 - Sobre nome de variáveis
6. Comentários
6.1 - Como criar um comentário
6.2 - Padrão de comentário
7. Classes
7.1 - Classes e javaDoc
7.2 - Padrão de escrita de classes
8. Exemplificando o código
__________________________________________________________________________________________________________________________________________________________
1.Informações
1.1 Objetivo do documento
Neste documento serão apresentados todos os padrões utilizados no projeto, como forma de utilização de variáveis, chaves, métodos e etc.
2. Sobre a Organização do Codigo:
2.1- Em casos de atribuições, os ítens deverão ser separados por espaço, nada poderá ficar colado. Ex:
"x = 2"
2.2- Todas as chaves deverão ser abertas com um espaço do fim do método e na mesma linha. Ex:
"int soma() {"
2.3- Em casos de comparações, os itens deverão ser separados por espaço, nada poderá ficar colado. Ex:
"if ( x < 2 ) {"
2.4- Em casos de switch, os intens serão separados a medida que se troca de caso, por uma linha de espaço após o break e devem estar no mesmo nível. Ex:
"switch (diaDaSemana) {
case 1:
System.out.println("Domingo");
break;
case 2:
System.out.println("Segunda-feira");
break;
default:
System.out.println("Outro dia\n");
}"
2.5- Estrutura for deve seguir o seguinte modelo, um espaço entre suas condições. Ex:
"for (int i = 0; i < listaPedidos; i++) {
}"
2.6- Estrutura while, deve seguir o seguinte padrão, um espaço depois do while, e sua declaração vem um nível a direita. Ex:
"while (contador < 50) {
System.out.println("Repetição numero: " + contador);
contador++;
}
2.7- O código não deve sair nunca da vista de quem escreve, em termos das linhas verticais do ambiente de programação, em caso de necessidade de ultrapassar o limite vertical, deve-se obedecer as seguintes regras:
2.7.1- Quebrar a linha depois da vírgula;
Qebrar a linha antes do operador;
A linha deve começar no mesmo nível do sua expressão de origem
2.8 - As bibliotecas serão escritas separadas por espaçamento entre os termos
3. A identação deve seguir o padrão java. Utilizando TAB para o espaçamento de identação.
3.1 Comprimento de cada Linha
Linha de no máximo 140 caracteres, incluindo espaços em branco
3.2 Quebra de Linha
Caso a expressão seja maior que a linha, o critério de quebra de linha será:
Quebrar linha depois da vírgula;
Quebrar linha antes do operador;
A nova linha deve começar no mesmo nível da linha da expressão de origem.
3.3 Início do Texto
Cada nova função/método deve ser iniciada junto ao canto da tela;
Para cada nova estrutura dentro de uma função/método, essa deve possuir um (1)espaçamento de tabulação a mais que o elemento anterior a ele.
4. Sobre as Funções no código
4.1- Todas as funções deverão ter chaves, mesmo aquelas que seu bloco só possui uma linha. Ex:
"if ( x < 2 ) {
x++;
}"
5. Sobre as variáveis no codigo:
5.1- Todas as variáveis deverão ser escritas seguindo o padrão CamelCase mais precisamente lowerCamelCase,onde a palavra é iniciada com letra minúsculas e unidas sem espaços, exceto quando for a união de duas palavras, neste caso a primeira letra da segunda palavra deverá ser maiúscula Ex:
"calcularValor() {
}
5.2- Toda variável deverá ser inicializada antes de usada. Ex:
"int x;
x = 0;"
5.3- Cada variável deverá ser declarada em uma linha, para que possam ser feitos comentários únicos para cada variável de forma organizada. Ex:
"int x;
int y;
int x;"
5.4- As variáveis devem levar nomes que se relacionem com suas funções. Ex:
"String nomeAluno;
String nomeProfessor;
String nomeMonitor;"
5.4.1- -Todas as variáveis deverão conter nomes significativos em inglês para melhor entendimento de terceiros..
6. Sobre os Comentários
6.1- Todos os comentários deverão ser criados utilizando "/*" e "*/", não poderão ser feitos com "//". Ex:
"int x; /* Variável para alguma coisa. */"
6.2- Em todos os comentários, cada item deverá ser separado por espaço, nada poderá ficar colado. E todo fim de comentário deve terminar com um ponto final. Ex:
"int x; /* Variável para alguma coisa. */"
7. Sobre as classes
7.1- Toda classe deverá conter documentação javaDoc.
7.2- Todas as classes deverão ser escritas seguindo o padrão CamelCase mais precisamente UpperCamelCase,onde a palavra é iniciada com Maiúsculas e unidas sem espaços. Ex:
"Aluno() {
}
8. Exemplificando em código.
public class Aluno extends Pessoa {
/* Atributos */
private String matricula;
private String ingresso;
private String periodo;
private String formaDeIngresso;
private String portadorDeNecessidades;
private Nota[] notas;
private Disciplina[] disciplinas;
/* Construtores */
public Aluno() {
}
public Aluno(String novoNome, String novoPeriodo) {
this.setNome(novoNome);
this.setPeriodo(novoPeriodo);
this.setPortadorDeNecessidades(necEsp);
}
/* Getters and Setters */
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public String getIngresso() {
return ingresso;
}
public void setIngresso(String ingresso) {
this.ingresso = ingresso;
}
public String getPeriodo() {
return periodo;
}
public void setPeriodo(String periodo) {
this.periodo = periodo;
}
public String getFormaDeIngresso() {
return formaDeIngresso;
}
public void setFormaDeIngresso(String formaDeIngresso) {
this.formaDeIngresso = formaDeIngresso;
}
public String getPortadorDeNecessidades() {
return portadorDeNecessidades;
}
public void setPortadorDeNecessidades(String portadorDeNecessidades) {
this.portadorDeNecessidades = portadorDeNecessidades;
}
public Nota[] getNotas() {
return notas;
}
public void setNotas(Nota[] notas) {
this.notas = notas;
}
public Disciplina[] getDisciplinas() {
return disciplinas;
}
public void setDisciplinas(Disciplina[] disciplinas) {
this.disciplinas = disciplinas;
}
/* Métodos */
public void adicionarNota(Nota nota){
int tamanhoAntigo = this.notas.length;
Nota[] novasNotas = new Nota[tamanhoAntigo+1];
for(int i=0; i<tamanhoAntigo; i++) {
novasNotas[i] = this.notas[i];
}
novasNotas[novasNotas.length-1] = nota;
this.setNotas(novasNotas);
}
public void adicionarDisciplina(Disciplina disciplina) {
int tamanhoAntigo = this.disciplinas.length;
Disciplina[] novasDisciplinas = new Disciplina[tamanhoAntigo+1];
for(int i=0; i<tamanhoAntigo; i++){
novasDisciplinas[i] = this.disciplinas[i];
}
novasDisciplinas[novasDisciplinas.length-1] = disciplina;
this.setDisciplinas(novasDisciplinas);
}
}