Skip to content

Instantly share code, notes, and snippets.

@kolombet
Last active October 19, 2015 12:27
Show Gist options
  • Save kolombet/9cf879e0ac2328d3f5ee to your computer and use it in GitHub Desktop.
Save kolombet/9cf879e0ac2328d3f5ee to your computer and use it in GitHub Desktop.
Условия
/**
* 1) Одинаковые ли по логике эти два варианта?
* 2) Какой из этих вариантов читабельнее?
* 3) Если потребуется сделать проверку еще на один source (SOURCE_ALWAYS_OVERWRITE), какой вариант легче будет модифицировать?
* 4) Можно ли переписать этот код более читабелнее/универсальнее?
*/
//вариант 1
if (source == SOURCE_ALWAYS_OVERWRITE)
{
updateOldModifier()
}
else if (source == SOURCE_NEVER_OVERWRITE)
{
createNewModifier()
}
else
{
if (!modifier)
{
createNewModifier();
}
else
{
updateOldModifier();
}
}
//вариант 2
if (modidifer && source != SOURCE_NEVER_OVERWRITE)
{
createNewModifier()
}
if (!modidifer && source == SOURCE_NEVER_OVERWRITE)
{
updateOldModifier();
}
//вариант 3
switch (source)
{
case SOURCE_ALWAYS_OVERWRITE: if (modifier)
{
updateOldModifier();
break;
}
case SOURCE_NEVER_OVERWRITE:
{
createNewModifier();
break;
}
default:
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment