LINUX.ORG.RU

История изменений

Исправление XMs, (текущая версия) :

Да ты издеваешься:

int__ Scene1::FindTexture(std::string name)
{
	for (int__ i = 0; i < CountTexture; i++)
	{
		if (image->Name[i] == name)
			return image->number[i];
	}
	return -1;
}

При такой функции сразу становится понятно, что она делает. И сразу возникают вопросы:

  • У картинки (image — единственное число) может быть несколько имён?
  • Name (почему с заглавной буквы?) и number — массивы одного размера?
  • Если да, то зачем их так разделять?
  • Если нет, то как они связаны, почему у них данные, связанные с одним объектом, лежат на тех же индексах?
  • CountTexture — размер этих массивов?
  • Если да, то зачем его отделять от них?
  • Вообще, почему бы не сделать отдельное хранилище на стандартных контейнерах вместо небезопасных сишных массивов? Казалось бы, что может быть проще:
    struct TextureDescription
    {
    	std::string name;
    	int__ index;
    
    	bool operator==(const std::string &oname)
    		{ return name == oname; }
    }
    
    std::vector<TextureDescription> textureDescs;
    
    int__ Scene1::FindTexture(std::string name)
    {
    	using namespace std;
    	auto it = find(begin(textureDescs), end(textureDescs), name)
    	return it == end(textureDescs)? -1: it->index;
    }
    

Исправление XMs, :

Да ты издеваешься:

int__ Scene1::FindTexture(std::string name)
{
	for (int__ i = 0; i < CountTexture; i++)
	{
		if (image->Name[i] == name)
			return image->number[i];
	}
	return -1;
}

При такой функции сразу становится понятно, что она делает. И сразу возникают вопросы:

  • У картинки (image — единственное число) может быть несколько имён?
  • Name (почему с заглавной буквы?) и number — массивы одного размера?
  • Если да, то зачем их так разделять?
  • Если нет, то как они связаны, почему у них данные, связанные с одним объектом, лежат на тех же индексах?
  • CountTexture — размер этих массивов?
  • Если да, то зачем его отделять от них?
  • Вообще, почему бы не сделать отдельное хранилище на стандартных контейнерах вместо небезопасных сишных массивов? Казалось бы, что может быть проще:
    struct TextureDescription
    {
    	std::string name;
    	int__ index;
    
    	bool operator==(const std::string &oname)
    		{ return name == oname; }
    }
    
    vector<TextureDescription> textureDescs;
    
    int__ Scene1::FindTexture(std::string name)
    {
    	auto it = find(begin(textureDescs), end(textureDescs), name)
    	return it == end(textureDescs)? -1: it->index;
    }
    

Исправление XMs, :

Да ты издеваешься:

int__ Scene1::FindTexture(std::string name)
{
	for (int__ i = 0; i < CountTexture; i++)
	{
		if (image->Name[i] == name)
			return image->number[i];
	}
	return -1;
}

При такой функции сразу становится понятно, что она делает. И сразу возникают вопросы:

  • У картинки (image — единственное число) может быть несколько имён?
  • Name (почему с заглавной буквы?) и number — массивы одного размера?
  • Если да, то зачем их так разделять?
  • Если нет, то как они связаны, почему у них данные, связанные с одним объектом, лежат на тех же индексах?
  • CountTexture — размер этих массивов?
  • Если да, то зачем его отделять от них?
  • Вообще, почему бы не сделать отдельное хранилище на стандартных контейнерах вместо небезопасных сишных массивов? Казалось бы, что может быть проще:
    struct TextureDescription
    {
    	std::string name;
    	int__ index;
    
    	bool operator==(const std::string &oname)
    		{ return name == oname; }
    }
    
    vector<TextureDescription> textureDescs;
    
    int__ Scene1::FindTexture(std::string name)
    {
    	auto it = find (begin(textureDescs), end(textureDescs), name)
    	return it == end(textureDescs)? -1: it->index;
    }
    

Исходная версия XMs, :

Да ты издеваешься:

int__ Scene1::FindTexture(std::string name)
{
	for (int__ i = 0; i < CountTexture; i++)
	{
		if (image->Name[i] == name)
			return image->number[i];
	}
	return -1;
}

При такой функции сразу становится понятно, что она делает. И сразу возникают вопросы:

  • У картинки (image — единственное число) может быть несколько имён?
  • Name (почему с заглавной буквы?) и number — массивы одного размера?
  • Если да, то зачем их так разделять?
  • Если нет, то как они связаны, почему у них данные, связанные с одним объектом, лежат на тех же индексах?
  • CountTexture — размер этих массивов?
  • Если да, то зачем её отделять от них?
  • Вообще, почему бы не сделать отдельное хранилище на стандартных контейнерах вместо небезопасных сишных массивов? Казалось бы, что может быть проще:
    struct TextureDescription
    {
    	std::string name;
    	int__ index;
    
    	bool operator==(const std::string &oname)
    		{ return name == oname; }
    
    vector<TextureDescription> textureDescs;
    
    int__ Scene1::FindTexture(std::string name)
    {
    	auto it = find (begin(textureDescs), end(textureDescs), name)
    	return it == end(textureDescs)? -1: it->index;
    }