BYTE-force columns
Company news, team and friends.

Немножечко о пользе var

Когда все только ощупывали и обдумывали type inferrence в c#, было сломано много копий про var. Дескать, это ужасно, люди будут писать страшный и непонятный код. Совсем стыд и страх потеряют. Время прошло, страсти улеглись. Никто этот вопрос больше не педалирует, хотя и непонятно, поставлена ли у людей в голове точка на этом вопросе. 

Сейчас пересматриваю старый код и местами перевожу на var. Вот типичный кусок:

TriggerInfo info = GetObject<TriggerInfo>( triggerId );

Не считая двойного упоминания типа, здесь есть еще одна неприятность. Переменная-то называется info – просто какое-то непонятное инфо. Через 10 строчек кода может быть уже плохо понятно, о какой инфе идет речь. Особенно, если в других методах у нас есть такое:

JobInfo info = GetObject<JobInfo>( jobId );

Было бы хорошо написать «triggerInfo», но тогда это было бы написано в одной строке уже трижды. Ей богу, чувствуешь себя глупо, написав:

TriggerInfo triggerInfo = GetObject<TriggerInfo>( triggerId );

Масло масляное, какое-то. А с var все получается красиво. Надо только не лениться и переименовывать переменные, чтобы они полнее соответствовали смыслу:

var triggerInfo = GetObject<TriggerInfo>( triggerId );

 

Короче оригинала, и код дальше становится понятнее.


Posted Dec 11 2009, 03:00 AM by Andrew Mayorov
Filed under: , ,

Comments

deck wrote re: Немножечко о пользе var
on 12-11-2009 4:00

Знакомый код :)

Все таки var действительно удобнее и при прочих условиях несколько облегчает читабельность кода.

Copyright ©2004-2009 BYTE-force
Powered by Community Server (Non-Commercial Edition), by Telligent Systems