2016-02-09 2 views
1

Я унаследовал приложение со следующим кодом и решил решить, как его улучшить. Мне кажется, что вторая строка кода совершенно бесполезна, поскольку cpUserId просто собирается установить значение со значением strPartnerNo. Итак, могу ли я просто полностью удалить вторую строку кода?Установка двух переменных на одной строке

strPartnerNo = meg.GetValue("MESSAGE_V1").ToString(); 

cpUserId = getFunction.GetValue("E_CONTACT").ToString(); 

leadUser.UserBP = cpUserId = strPartnerNo; 

Следующее сообщение SO, похоже, предлагает полностью удалить вторую строку кода. Two Equal Signs in One Line?

+2

Незнакомый вопрос - почему значение 'cpUserId' задано значением, которое выбрасывается на следующую строку? Поэтому, если «GetValue» не имеет необходимого побочного эффекта, тогда да, его можно удалить. –

+1

@DStanley Я думаю, что программист, который написал код, не знал, что они делают. – ADH

+4

Лично я бы выбросил все это. – DeanOC

ответ

2

Да; ваша вторая строка не используется и может быть удалена.

Вы назначаете cpUserId то же значение, что и strPartnerNo в последней строке.

+1

Будьте осторожны: потому что вы унаследовали приложение, вы должны убедиться, что перед реализацией «GetValue» и, возможно, переопределить «ToString», есть какие-либо побочные эффекты, прежде чем выбросить его. – Mark

+0

Поскольку исходный код, похоже, не возражал, я сделал предположение, что если бы эта строка была удалена, это было бы обычным делом. Иногда, если вещи унаследованы от кроличьей дыры, чтобы определить, почему все изменилось. Особенно код, который выглядит так, будто он не использовался некоторое время. – TombMedia

3
leadUser.UserBP = cpUserId = strPartnerNo; 

эквивалентно:

cpUserId = strPartnerNo; 
leadUser.UserBP = cpUserId; 

Таким образом, вы можете опустить вторую линию.

0

getFunction.GetValue() функция может выполнять внутренние операции, но если имеет значение только окончательный результат cpUserId, то ДА, вы можете удалить вторую строку.

Смежные вопросы