2. Escopo - Tecprog-voID/voID GitHub Wiki
- 2.1 Includes
- 2.2 Namespaces
- 2.3 Variáveis Locais
- 2.4 Variáveis globais e estáticas (static)
- 2.5 Constantes
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>
Os namespaces devem ser usados sempre que possível.
Namespaces sempre devem ser nomeados.
Exemplo:
using namespace std;
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;
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;
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;