
alix
08.07.2017
10:12:00
сразу подумалось о жабе

Анатолий
08.07.2017
10:12:07
Дело вкуса

alix
08.07.2017
10:12:16

Анатолий
08.07.2017
10:12:23
Нет, дело вкуса

Google

alix
08.07.2017
10:12:45

Анатолий
08.07.2017
10:12:47
Спор не имеет смысла

Friedrich
08.07.2017
10:12:52
Лаконичность тоже дело вкуса.

alix
08.07.2017
10:12:59
так и не спорит никто

Анатолий
08.07.2017
10:13:04

Friedrich
08.07.2017
10:13:12

Анатолий
08.07.2017
10:14:14
У меня вчера какой-то глюк произошёл: ни одна клавиша в студии не работает. Отрубил решарпер - работает. Переставил решарпер, включил - неа. Переставил студию - неа. До 5 утра сидел. С перерывом на кваку)
Так я узнал, что есть новый решарпер))

kaval
08.07.2017
10:15:20

Анатолий
08.07.2017
10:16:01

alix
08.07.2017
10:18:13
и лябмду зачем городить непонятно
сложно и витиевато

Google

Влад
08.07.2017
10:18:30
Помните, я вчера писал, что бот вместо в 11 часов, написал сообщение в 4 часа? Сегодня он вообще не написал. :/

alix
08.07.2017
10:18:33
но видимо это все вкусовщина)

Friedrich
08.07.2017
10:18:55

Влад
08.07.2017
10:18:59
Окей, есть какой-то полегче аналог hangfire?

Anatoly
08.07.2017
10:19:24

Влад
08.07.2017
10:19:39
Аааа.
Ну тада сори)
А на самом деле я хз в чём прик.

Viktor
08.07.2017
10:20:16
божечки мой,ты не осилил за три дня хенгфайр
возьми кварц, он потопорней вроде

kaval
08.07.2017
10:20:28

alix
08.07.2017
10:20:42
Console.WriteLine($"{typeof(A).GetField("x")}");
вкусовщина все это
понимаю

Friedrich
08.07.2017
10:21:13

alix
08.07.2017
10:21:51
лан ща приеду в дотнет фиддл запруфать попытаюсь

Friedrich
08.07.2017
10:22:06
А дальше, если ты будешь каждый раз обращаться к FieldInfo::GetValue(), то уже перформанс просядет.
Ну то есть ты отчасти прав, и такое решение ранее предложили. Но вариант с Expression очень интересный.

kaval
08.07.2017
10:23:02

Влад
08.07.2017
10:23:20
А что я не так сделал то?
foreach (Employer employer in employers.Values)
{
RecurringJob.AddOrUpdate($"{employer.Key", () => employers.Notify().Wait(), $"00 {employer.TimeToNotify} * * *");
}

Google

Friedrich
08.07.2017
10:23:40

alix
08.07.2017
10:23:41

Влад
08.07.2017
10:24:07

Viktor
08.07.2017
10:24:08

Friedrich
08.07.2017
10:24:10

alix
08.07.2017
10:24:25
и интерполирование и вары к этому)

Влад
08.07.2017
10:24:40

alix
08.07.2017
10:24:53
что на шестом седьмом так в основном пишут

Анатолий
08.07.2017
10:25:12
Вары ещё с четвёртого емнип
Но никто не заставляет ими пользоваться)

alix
08.07.2017
10:25:30

Анатолий
08.07.2017
10:25:36
Кому-то хочется покороче, а кому-то появнее
Мне вот появнее
Да и решарпер сам всё за меня сделает)

Friedrich
08.07.2017
10:25:57
Я всяких соглашений повидал. Кто-то вообще запрещает вары, например, кроме тех случаев, когда они обязательны

Анатолий
08.07.2017
10:26:01
Мне только пробельчиком клацать

alix
08.07.2017
10:26:05

Friedrich
08.07.2017
10:26:07
А кто-то принудительно заставляет везде ими пользоваться.

Google

Анатолий
08.07.2017
10:26:24

Friedrich
08.07.2017
10:26:25
Ну и различные промежуточные варианты тоже встречаются во всяких компаниях.

alix
08.07.2017
10:26:35

Анатолий
08.07.2017
10:26:44
Мне норм))

alix
08.07.2017
10:26:53
>вкусовщина
)

kaval
08.07.2017
10:27:33
запрещают вары те, кто не любит dlr почем зря, принудительно заставляют кто любит менять выражения и ленится возиться с объявлениями

Friedrich
08.07.2017
10:28:44
Как вары связаны с DLR?

kaval
08.07.2017
10:29:04
изначально под dlr и ввели же

Friedrich
08.07.2017
10:29:11
Нет.

Admin
ERROR: S client not available

Friedrich
08.07.2017
10:29:19
Их ввели для анонимных типов.

alix
08.07.2017
10:29:32

Friedrich
08.07.2017
10:29:33
А для DLR всё равно отдельный кейворд dynamic, вары ему погоды не делают
Их ввели для анонимных типов.
Для анонимных типов и для LINQ вообще. Ну, чтоб не выписывать каждый раз вот эту простыню IEnumerable<IGrouping<TKey, TValue>> x = list.GroupBy(xxx);

Viktor
08.07.2017
10:30:46
все верно

Nikita
08.07.2017
10:31:28
https://github.com/alrz/roslyn/commit/4f0ef86fc9574c0fc097c679b5c284eabab40a75
мгм

Igor
08.07.2017
10:31:32
Когда там уже val (или let) введут? А то как дикие джиесники, переиспользуем переменные без надобности..

Friedrich
08.07.2017
10:32:28

Google

Friedrich
08.07.2017
10:33:25

Igor
08.07.2017
10:33:56

alix
08.07.2017
10:35:04

Igor
08.07.2017
10:35:23
? (и readonly для полей)

Viktor
08.07.2017
10:35:52

Friedrich
08.07.2017
10:36:14

Andrew
08.07.2017
10:36:23
А чем ридонли для полей плох?

Friedrich
08.07.2017
10:36:25
Адово, как по мне.
А чем ридонли для полей плох?
Раз уж у нас всё равно сегодня день микрооптимизаций, то напомню, что ридонли структуры в некоторых кейсах ведут себя хуже (медленнее, с большим количеством боксинга), чем обычные.

Andrew
08.07.2017
10:37:44
Медленне, это да

Friedrich
08.07.2017
10:38:03
Но я не могу чото вспомнить, в каких же именно случаях.

Andrew
08.07.2017
10:38:44
С точки зрения написания кода это будет чуть быстрее чем свойство с геттером писать
И приватным полем

Friedrich
08.07.2017
10:39:38
Вот что Скит пишет: https://codeblog.jonskeet.uk/2014/07/16/micro-optimization-the-surprising-inefficiency-of-readonly-fields/

Jack
08.07.2017
10:41:49
Для чего вообще использовать приватный ридонли?

Viktor
08.07.2017
10:41:58
топовая наркомания в комментах:
#if(DEBUG)
private readonly int _x;
#else
private int _x;
#endif
сразу сипипи запахло

Friedrich
08.07.2017
10:42:14
Я, например, всегда везде сую ридонли, где только можно.

Jack
08.07.2017
10:42:44
Хм

Friedrich
08.07.2017
10:43:15
Кстати, вроде, обещали, что в последних билдах JIT начал учитывать ридонли-флаг и делать полезные оптимизации.

Jack
08.07.2017
10:43:39
Через рефлексию можно менять приватные поля, можно ли менять приватные ридонли?

Friedrich
08.07.2017
10:44:12
Вроде бы да.
Эта группа больше не существует