Skip to content

Замечания по файловой структуре проекта-игры #1

@sergey-shambir

Description

@sergey-shambir
  • В репозитории лежат два файла main.cpp, один из них, видимо, в проекте не используется. Надо удалить.
  • файл CyrilicOld.TTF переместить к остальным ресурсам
  • на каждый файл hpp следует завести парный cpp, куда помещается код. Определения и объявления классов, а также объявления методов должны быть в hpp:
// struct declaration.
struct AnimationManager;

// struct definition.
struct AnimatedEntity
{
    // method declaration.
    void init(AnimationManager &am);
};

все определения методов должны быть в cpp:

void AnimatedEntity::init(AnimationManager &am)
{
    // [...]
}
  • Вместо ifdef-guards надо использовать pragma once, конструкция делает то же самое в одну строку. Разница в том. что ifdef-guards были исторически первым решением проблемы повторного включения заголовочных файлов, а затем во всех компиляторах добавили поддержку директивы #pragma once. Под ifdef-guard имею ввиду следующее:
#ifndef __GAME_H__
#define __GAME_H__

// code protected from double inclusion

#endif

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions