Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Padronização do código [Formatação] #37

Open
gustavooquinteiro opened this issue Jan 1, 2020 · 0 comments
Open

Padronização do código [Formatação] #37

gustavooquinteiro opened this issue Jan 1, 2020 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers

Comments

@gustavooquinteiro
Copy link
Owner

Aplicar o estilo de formatação de código definido ao código escrito.
Utilizar a branch formatting para fazer isso

⚠️ Ao contribuir com a aplicação fique atento para permanecer aos padrões desse repositório:

  • Commits e comentários no código em português
  • Indentação obrigatória feita com TAB
  • Nomes de constantes e macros em MAIÚSCULAS
  • Nomes de funções, variáveis, constantes e macros em inglês
  • Nomes de funções, variáveis, constantes e macros em snake_case
  • Typedef de structs em PascalCase
  • Chaves de função, condicionais e loops em nova linha
  • Retorno de função dentro de condicionais deve ser feito inline, exemplo :
  int min(int i, int j)
  {
       if (i > j) return j;
       else return i;
   }
  • Chaves são desnecessárias em condicionais e/ou laços de repetição com corpo de uma única linha, exemplo:
    int fatorial(int n)
    {
         int fatorial = 1
         for (int i = 1; i < n + 1; i++)
             fatorial *= i;
         return fatorial;
     }
  • #define, structs e variáveis globais devem ser alinhados de acordo com o maior nome, com TAB, assim:
#define PORT            8074
#define CONTROL_PORT    8090
#define PKG_SIZE        10000

struct segment
{
    uint32_t    seq_number;
    uint16_t    orig_port;
    uint16_t    dest_port; 
    uint16_t    checksum;   
    uint8_t     flags;
    uint8_t     data[DATA_SIZE];    
};

//Variáveis globais
pthread_t 	KERNEL;
int 		END_KERNEL = FALSE;

int 		USER_TYPE;
uint16_t 	REAL_SENDER_PORT;
uint16_t 	REAL_RECEIVER_PORT;

Inserir espaços:

  • entre estruturas de repetição/condição e (, exemplo:
switch (a)
if (a < b)  a++;
for (int i = 0; i < a; i++)
while (a > 10)
  • entre operadores de comparação e variáveis, exemplo: if (a == b) return a
  • entre operadores lógicos e expressões, exemplo: if ((a < b && b == a) || a > c) return a
  • depois de ,
  • antes e depois de operadores matemáticos, exemplo: int a = a + (i * b) % a
    - Exceção: números negativos, exemplo: if (a == NULL) return -1;
  • antes e depois do operador de atribuição, exemplo: a = b + a;
  • em casos de ponteiros, colocar o * do lado do tipo, exemplo: int* array = a;
  • em caso de malloc, fazer assim: TYPE* var = (TYPE*) malloc(sizeof(TYPE));
  • depois do tipo da variável, exemplo: int a;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers
Projects
Formatação
  
To do
Development

No branches or pull requests

6 participants