powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Неявное объявления переменных через var
25 сообщений из 182, страница 4 из 8
Неявное объявления переменных через var
    #39008948
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Алексей КА может вывод типов в других местах, таких как generic-аргументы методов и типы лямбда-выражений, тоже не нужен?
Вот только там он и нужен.
Поддерживать залямбденный код - дебаггировать и из только из синтаксиса понять, почему не сработала бизнес логика - это для гениев.Получается, что я гений. :-) Равно как и все остальные, кто пишет логику не только на LINQ, но и на SQL.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008949
Varcom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КVarcomпропущено...
А ты попробуй распарсить HTML DOM. Примеров будет более чем достаточно.Читай о замене логики полиморфизмом.
При чем тут полиморфизм? Я ж не говорю, сделать один обработчик на разные типы. В DOM куча классов, имеющих примерно одинаковое название, соответственно, из названия переменной тяжело будет понять ее тип.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008950
Varcom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КVarcom- комментировать сложные блоки кода.Код должен быть понятен без комментариев. Комментарии нужно применять только в крайнем случае.
Алексей, скажи в какой компании ты работаешь. В случае чего, при поиске работы, я занесу ее в черный список.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008952
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Было так:
Код: c#
1.
var instances = _db.Instances.Where(x => x.FarmId == farmId && x.MachineName == type).ToList();




Стало так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
List<Instance>instances = null;

if (IsSpesificMachine(type))
{
	instances = _db.Instances.Where(x => x.FarmId == farmId && x.MachineName == type).ToList();
}
else
{
	instances = _db.Instances.Where(x => x.FarmId == farmId && x.Type == type).ToList();
}



был var....
И чем он мне помог при внедрении новой логики?
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008956
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VarcomАлексей Кпропущено...
Читай о замене логики полиморфизмом.
При чем тут полиморфизм? Я ж не говорю, сделать один обработчик на разные типы.Но оперировать ты везде будешь базовым классом Element. В этом случае всё равно, о каком конкретном элементе идёт речь.

А если потребуется что-то конкретное, то тип элемента должен содержаться в имени переменной, вроде divElement или formElement.
VarcomВ DOM куча классов, имеющих примерно одинаковое название, соответственно, из названия переменной тяжело будет понять ее типЭтого не понял.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008964
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВrefregvar e2 = (Func<bool>)(() => false);


Тут компилятор может вывести тип.
А ты предлагаешь кроме var, еще и указывать тип. Кошмар!Я ничего не предлагаю. Ты сказал невозможно. Я сказал можно. Вот и всё...

ЗЫ. А как компилятор тут может вывести тип?
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008965
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КD129пропущено...

Вот только там он и нужен.
Поддерживать залямбденный код - дебаггировать и из только из синтаксиса понять, почему не сработала бизнес логика - это для гениев.Получается, что я гений. :-) Равно как и все остальные, кто пишет логику не только на LINQ, но и на SQL.
Ну да.
Только от ума - горе бывает.
Я сталкивался с кодом, который написан людьми, умнее меня. Причем есть разные направления умности - у одних память уникальная, им помнить о значениях 30 глобальных переменных - пустяк. Другие - гении генеричности и чемпионы абстракций. Хотя всего-то надо было...
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008971
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Алексей К,

Было так:
Код: c#
1.
var instances = _db.Instances.Where(x => x.FarmId == farmId && x.MachineName == type).ToList();




Стало так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
List<Instance>instances = null;

if (IsSpesificMachine(type))
{
	instances = _db.Instances.Where(x => x.FarmId == farmId && x.MachineName == type).ToList();
}
else
{
	instances = _db.Instances.Where(x => x.FarmId == farmId && x.Type == type).ToList();
}



был var....
И чем он мне помог при внедрении новой логики?В такой ситуации у меня часто возникает желание провести выделение метода.
Код: c#
1.
2.
3.
4.
if (IsSpesificMachine(type))
    return _db.Instances.Where(x => x.FarmId == farmId && x.MachineName == type).ToList();

return _db.Instances.Where(x => x.FarmId == farmId && x.Type == type).ToList();
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008973
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129refregИ еще, попробуйте писать без переменных! Не считая, разумеется, переменных в циклических конструкциях, ибо там переменные являются частью этих конструкций.

Ага. А вы попробуйте потом разобраться, что этот код без переменных делает.Не, Ну совсем без переменных нельзя. Я же сказал попробуйте. Иногда присваивают переменной. И сразу ее используют, причем один раз. И всё. Зачем ее вводить?
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008978
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregD129пропущено...


Ага. А вы попробуйте потом разобраться, что этот код без переменных делает.Не, Ну совсем без переменных нельзя. Я же сказал попробуйте. Иногда присваивают переменной. И сразу ее используют, причем один раз. И всё. Зачем ее вводить?Чтобы можно было смотреть отладчиком её содержимое.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39008991
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кrefregпропущено...
Не, Ну совсем без переменных нельзя. Я же сказал попробуйте. Иногда присваивают переменной. И сразу ее используют, причем один раз. И всё. Зачем ее вводить?Чтобы можно было смотреть отладчиком её содержимое.То есть переменная не нужна? Но мы ее вводим, сначала, что бы приведение типа сделать, потом что бы в отладчике посмотреть...
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009003
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
У нас один умный написал так (пишу по памяти саму идею) :

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
object dataToWork = GetData();// тут приходит разное 


MakeAllGoodAndCool((dynamic)dataToWork);



        




private static void MakeAllGoodAndCool(int dynamicData)
{
	...		
}
private static void MakeAllGoodAndCool(Item dynamicData)
{
		...	
}



И еще две перегруженных функции. И вызов этот был в цикле - правда, не очень большом - 5-10 элементов...


Я по случаю работал с профайлером - и замерил скорость вызова(на примере, не в реальной аппликации). На простейшей формочке с кнопочкой она была 300 милисекунд.
Подгружались 56 неймспейсов со всех подсоединенных сборок.

Но "клин код" - switch - case ему писать было некашерно....
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009006
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregАлексей Кпропущено...
Чтобы можно было смотреть отладчиком её содержимое.То есть переменная не нужна? Но мы ее вводим, сначала, что бы приведение типа сделать, потом что бы в отладчике посмотреть...

Ага. Подумайте о том, что и вам будет проще через полгода понять - что это тут происходит.
Да и изменение хирургическое тоже будет легче делать - когда тело (функции) уже расчленено.
:-)
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009028
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Алексей К
У нас один умный написал так (пишу по памяти саму идею) :
......................................
Но "клин код" - switch - case ему писать было некашерно....
Читай про визитор и двойную диспетчерезацию.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009030
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregНе, Ну совсем без переменных нельзя.
Можно и нужно! Это такой же рудимент как и циклы.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009033
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Алексей К
У нас один умный написал так (пишу по памяти саму идею)Зато не скучно. :-)
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009036
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VarcomАлексей Кпропущено...
Код должен быть понятен без комментариев. Комментарии нужно применять только в крайнем случае.
Алексей, скажи в какой компании ты работаешь. В случае чего, при поиске работы, я занесу ее в черный список.У тебя разрыв шаблона?
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009038
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Стало так:
Код: c#
1.
2.
3.
4.
5.
6.
var query = _db.Instances.Where(x => x.FarmId == farmId);
query = IsSpesificMachine(type) ? 
    query.Where(x => x.MachineName == type) : 
    query.Where(x => x.Type == type);

var instances = query.ToList();
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009250
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Алексей К
Код: c#
1.
2.
3.
4.
if (IsSpesificMachine(type))
    return _db.Instances.Where(x => x.FarmId == farmId && x.MachineName == type).ToList();

return _db.Instances.Where(x => x.FarmId == farmId && x.Type == type).ToList();



Не могу молчать!

Код: c#
1.
return _db.Instances.Where(x => x.FarmId == farmId && x.Field( IsSpesificMachine(type) ? "MachineName" : "Type") == type).ToList();
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009251
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КУ тебя разрыв шаблона?
Не, это этап эволюционирования срача - переход на личности.
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009271
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНе, это этап эволюционирования срача - переход на личности.
меньше пяти страниц - какой же это срач?
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009349
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VarcomskyANAпропущено...
Пример в студию!
А ты попробуй распарсить HTML DOM. Примеров будет более чем достаточно.А ты попробуй распарсить JSON, или XML, или LESS, или...

Конкретный пример будет?

А то каких я только парсеров не видел, а вместе с ними и лексеров, и эвалюаторов, и грамматик.
ANTLR наше все! :)
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009357
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КVarcomпропущено...

При чем тут полиморфизм? Я ж не говорю, сделать один обработчик на разные типы.Но оперировать ты везде будешь базовым классом Element. В этом случае всё равно, о каком конкретном элементе идёт речь.

А если потребуется что-то конкретное, то тип элемента должен содержаться в имени переменной, вроде divElement или formElement.
VarcomВ DOM куча классов, имеющих примерно одинаковое название, соответственно, из названия переменной тяжело будет понять ее типЭтого не понял.+1

В первую очередь DOM - это инструмент, с помощью которого JavaScript видит содержимое HTML-страницы и состояние браузера.
А в жабаскрипте какбе только var и есть :)

Возможно ТС о доступе к DOM через компонент WebBrowser, ждемс примерс...
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009369
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще задача: "А ты попробуй распарсить HTML DOM", - глупость какая-то. Дерево DOM - это уже результат парсинга HTML :)
...
Рейтинг: 0 / 0
Неявное объявления переменных через var
    #39009460
LameUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КLameUserВо втором предпочтительно явное указание типа, т.к. метод в отличие от конструктора не дает однозначное понятие о возвращаемом типе.Ну и что? Подсказок в редакторе VS нету? В блокноте пишем?

Когда разработчик читает код, особенно чужой код, ему неудобно наводить мышкой.
При разработке в больших проектах 90% - это чтение кода, 10% это написание. (моя практика)
...
Рейтинг: 0 / 0
25 сообщений из 182, страница 4 из 8
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Неявное объявления переменных через var
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]