Mod container-anti-pattern

Finds when temporary containers are being created needlessly.
These cases are usually easy to fix by using iterators,
avoiding memory allocations.

And mod to return on first true

can we test if the Elements collection reload faster or not?
This commit is contained in:
Simon De Backer 2020-11-01 18:44:14 +01:00
parent 41c7cde8ca
commit 1b10fe3b7f

View File

@ -229,28 +229,25 @@ bool NamesList::operator==(const NamesList &nl) const
} }
/** /**
Return the adequate name regarding the current system locale. * @brief NamesList::name
By order of preference, this function chooses: * Return the adequate name regarding the current system locale.
- the name in the system language * By order of preference, this function chooses:
- the English name * - the name in the system language
- the provided fallback name if non-empty * - the English name
- the first language encountered in the list * - the provided fallback name if non-empty
- an empty string * - the first language encountered in the list
@param fallback_name name to be returned when no adequate name has been found * - an empty string
@return The adequate name regarding the current system locale. * @param fallback_name
*/ * name to be returned when no adequate name has been found
* @return The adequate name regarding the current system locale.
*/
QString NamesList::name(const QString &fallback_name) const QString NamesList::name(const QString &fallback_name) const
{ {
QString system_language = QETApp::langFromSetting(); QString system_language = QETApp::langFromSetting();
QString returned_name; if (! hash_names[system_language].isEmpty())
if (!hash_names[system_language].isEmpty()) { return (hash_names[system_language]);
returned_name = hash_names[system_language]; if (! hash_names["en"].isEmpty()) return (hash_names["en"]);
} else if (!hash_names["en"].isEmpty()) { if (! fallback_name.isEmpty()) return (fallback_name);
returned_name = hash_names["en"]; if (hash_names.count()) return (hash_names.begin().value());
} else if (!fallback_name.isEmpty()) { return (QString(""));
returned_name = fallback_name;
} else if (hash_names.count()) {
returned_name = hash_names.value(hash_names.keys().first());
}
return(returned_name);
} }