К сожалению, код пишется разными командами, в разных странах и условиях.
К примеру, команды в Редмонде все больше и больше полагаются на вендоров, теперь уже и при написании кода приложения. При этом уровень code review в таких командах обычно тоже намного ниже, чем хотелось бы.
То есть даже если в FTE там наняты хорошие сотрудники (хотя я уже высказывался по этому поводу в какой-то другой теме - мы не нанимаем людей со знанием АХ), то качество вендоров Вы врядли сможете себе даже представить.
Раз уж дискуссия идет в этой теме, приведу еще пример кода, тоже от вендоров. Код взят с одной из форм в АХ6. Приведу весь код метода, просто чтобы можно было оценить всю мощь гения:
X++:
public void setUnitOfMeasureState()
{
UnitOfMeasure tblUnitOfMeasure;
if (ecoResDomain.DataType == AttributeDataType::Integer ||
ecoResDomain.DataType == AttributeDataType::Decimal)
{
// Enable unit of measure group
if (!unitOfMeasureGroup.enabled())
{
unitOfMeasureGroup.enabled(true);
}
if (ecoResDomainUnitOfMeasure.RecId &&
ecoResBoundedDomainValue.RecId)
{
// Enable bounded unit of measure combo boxes
if (!intUnitOfMeasureComboBox.visible())
{
intUnitOfMeasureComboBox.visible(true);
}
// Populate the integer bounded unit of measure combo box
intUnitOfMeasureComboBox.clear();
while select Symbol from tblUnitOfMeasure
where tblUnitOfMeasure.UnitOfMeasureClass == ecoResDomainUnitOfMeasure.UnitOfMeasureClass
{
intUnitOfMeasureComboBox.add(tblUnitOfMeasure.Symbol);
}
if (intUnitOfMeasureComboBox.count() > 0)
{
intUnitOfMeasureComboBox.selection(0);
}
if (ecoResValueLower_EcoResIntValue.RecId &&
ecoResValueLower_EcoResIntValue.IntUnitOfMeasure)
{
// Set the unit of measure selection
tblUnitOfMeasure = UnitOfMeasure::find(ecoResValueLower_EcoResIntValue.IntUnitOfMeasure);
intUnitOfMeasureComboBox.selectText(tblUnitOfMeasure.Symbol);
}
else if (ecoResDomainUnitOfMeasure.DefaultUnitOfMeasure)
{
// Set the unit of measure selection
tblUnitOfMeasure = UnitOfMeasure::find(ecoResDomainUnitOfMeasure.DefaultUnitOfMeasure);
intUnitOfMeasureComboBox.selectText(tblUnitOfMeasure.Symbol);
// Set the unit of measure foreign keys
if (ecoResValueLower_EcoResIntValue.RecId)
{
ecoResValueLower_EcoResIntValue.IntUnitOfMeasure = tblUnitOfMeasure.RecId;
}
if (ecoResValueUpper_EcoResIntValue.RecId)
{
ecoResValueUpper_EcoResIntValue.IntUnitOfMeasure = tblUnitOfMeasure.RecId;
}
}
else if (intUnitOfMeasureComboBox.count() > 0)
{
// Set the unit of measure foreign keys
if (ecoResValueLower_EcoResIntValue.RecId)
{
ecoResValueLower_EcoResIntValue.IntUnitOfMeasure = UnitOfMeasure::findBySymbol(intUnitOfMeasureComboBox.getText(intUnitOfMeasureComboBox.selection())).RecId;
}
if (ecoResValueUpper_EcoResIntValue.RecId)
{
ecoResValueUpper_EcoResIntValue.IntUnitOfMeasure = UnitOfMeasure::findBySymbol(intUnitOfMeasureComboBox.getText(intUnitOfMeasureComboBox.selection())).RecId;
}
}
if (!floatUnitOfMeasureComboBox.visible())
{
floatUnitOfMeasureComboBox.visible(true);
}
// Populate the float unit of measure combo box
floatUnitOfMeasureComboBox.clear();
while select Symbol from tblUnitOfMeasure
where tblUnitOfMeasure.UnitOfMeasureClass == ecoResDomainUnitOfMeasure.UnitOfMeasureClass
{
floatUnitOfMeasureComboBox.add(tblUnitOfMeasure.Symbol);
}
if (floatUnitOfMeasureComboBox.count() > 0)
{
floatUnitOfMeasureComboBox.selection(0);
}
if (ecoResValueLower_EcoResFloatValue.RecId &&
ecoResValueLower_EcoResFloatValue.FloatUnitOfMeasure)
{
// Set the unit of measure selection
tblUnitOfMeasure = UnitOfMeasure::find(ecoResValueLower_EcoResFloatValue.FloatUnitOfMeasure);
floatUnitOfMeasureComboBox.selectText(tblUnitOfMeasure.Symbol);
}
else if (ecoResDomainUnitOfMeasure.DefaultUnitOfMeasure)
{
// Set the unit of measure selection
tblUnitOfMeasure = UnitOfMeasure::find(ecoResDomainUnitOfMeasure.DefaultUnitOfMeasure);
floatUnitOfMeasureComboBox.selectText(tblUnitOfMeasure.Symbol);
// Set the unit of measure foreign keys
if (ecoResValueLower_EcoResFloatValue.RecId)
{
ecoResValueLower_EcoResFloatValue.FloatUnitOfMeasure = tblUnitOfMeasure.RecId;
}
if (ecoResValueUpper_EcoResFloatValue.RecId)
{
ecoResValueUpper_EcoResFloatValue.FloatUnitOfMeasure = tblUnitOfMeasure.RecId;
}
}
else if (floatUnitOfMeasureComboBox.count() > 0)
{
// Set the unit of measure foreign keys
if (ecoResValueLower_EcoResFloatValue.RecId)
{
ecoResValueLower_EcoResFloatValue.FloatUnitOfMeasure = UnitOfMeasure::findBySymbol(floatUnitOfMeasureComboBox.getText(floatUnitOfMeasureComboBox.selection())).RecId;
}
if (ecoResValueUpper_EcoResIntValue.RecId)
{
ecoResValueUpper_EcoResFloatValue.FloatUnitOfMeasure = UnitOfMeasure::findBySymbol(floatUnitOfMeasureComboBox.getText(floatUnitOfMeasureComboBox.selection())).RecId;
}
}
}
else
{
// Disable unit of measure combo boxes
if (intUnitOfMeasureComboBox.visible())
{
intUnitOfMeasureComboBox.visible(false);
}
if (floatUnitOfMeasureComboBox.visible())
{
floatUnitOfMeasureComboBox.visible(false);
}
}
}
else
{
// Disable unit of measure group
if (unitOfMeasureGroup.enabled())
{
unitOfMeasureGroup.enabled(false);
}
// Disable unit of measure combo boxes
if (intUnitOfMeasureComboBox.visible())
{
intUnitOfMeasureComboBox.visible(false);
}
if (floatUnitOfMeasureComboBox.visible())
{
floatUnitOfMeasureComboBox.visible(false);
}
}
}
Если мне кто-то объяснит, что делает этот метод, дам +