2. Escopo - Tecprog-voID/voID GitHub Wiki

Índice


2.1 Includes

Ordem dos includes:

Header do arquivo fonte;
Bibliotecas da engine;
Bibliotecas específicas do jogo;
Bibliotecas padrões do C/C++

Entre cada grupo de includes acima, deverá ser pulada uma linha.
Os nomes dos includes das bibliotecas padrões do C/C++ deve estar entre os caracteres “<” e “>”. Os demais deverão estar entre aspas duplas.

Exemplo:

#include "Engine/GameObject.h"  
#include "Engine/SceneManager.h"
#include "Engine/Scene.h"
#include "Engine/Timer.h"

#include "Globals/EngineGlobals.h"

#include <math.h>
#include <vector>

2.2 Namespaces

Os namespaces devem ser usados ​​sempre que possível.
Namespaces sempre devem ser nomeados.

Exemplo:

using namespace std;

2.3 Variáveis Locais

Variáveis globais devem ser evitadas ao máximo.
As variáveis devem ser declaradas o mais próximo do seu uso possível.
Todas as variáveis devem ser inicializadas.

Exemplo:

int m_framesQuantity = 0;
int m_currentFrame = 0;
int m_framesPerSecond = 12;
bool m_isPlaying = false;
bool m_hasExitTime = false;

2.4 Variáveis globais e estáticas (static)

Variáveis estáticas devem ser usadas somente quando necessário devido a seus riscos de variações e mau uso ao longo do código, quando não utilizada como constante (const).

Exemplo:

static MenuController *m_instance;

2.5 Constantes

As constantes devem ser usadas em valores pré-definidos do código, que não dependem de variações que ocorrem durante o jogo. Devem ser declaradas no início do código, logo após os includes e os comentários de arquivo usando const tipoDoDado nomeDaConstante. O nome das constantes deve estar em lowerCamelCase.

Exemplo:

const int snowActivatorIndex = 45;
const int forestActivator2Index = 46;
⚠️ **GitHub.com Fallback** ⚠️