Об именах
Сколько раз уже говорили людям: "используйте правильные имена для переменных, свойств и методов". Кивают головой, соглашаются и делают наоборот. А вот очень просто. Получаю от тестировщика: "Smoke test failed". Ну и причины там... Суть такая, что в процессе работы происходит обращение к неразмещённому объекту. Что-то вроде:
si.Subject.LastName = someName;
при этом свойство Subject получается следующим образом:
public Subject Subject
{
get
{
if (m_Subject == null)
{
if (!IsNew && SubjectId > 0)
{
SubjectsEngine eng = new SubjectsEngine();
m_Subject = eng.GetSelected(SubjectId)[0];
}
else if (ShouldCreateStub)
m_Subject = new Subject();
}
return m_Subject;
}
set
{
SubjectId = value.Id;
m_Subject = value;
}
}
Ничего особенного? Так и есть. Но представьте себе, что ShouldCreateStub
называется не так, как оно тут называется, а, положим, MustIgnoreEmptiness
и определено так:
private bool m_OldBehavior = true;
public bool MustIgnoreEmptiness
{
get {return m_OldBehavior;}
set {m_OldBehavior = value;}
}
? Как тут можно вообще понять, что имел в виду автор? Для чего он эдак накрутил? Я не знаю, а вот время потратил. И ведь styleguide есть...
Комментариев нет:
Отправить комментарий