Сообщение Несколько соображений по дизайну C# от 11.07.2016 5:08
Изменено 17.07.2016 20:38 VladD2
В языке много бессмысленных ритуалов, например после каждой строчки нужно ставить ;. Обязательно. Вопрос зачем?
Еще один ритуал. При вызове функции обязательно нужно ставить (). Даже если функция не является мутатором. То есть выражение вида:
Можно было бы переписать:
А если убрать обязательность var, то совсем здорово:
Легко читается, да и пишется тоже. Есть еще один ритуал, которые все много раз делали:
Могло бы выглядеть как:
public class Some
{
public Some(int val1, int val2)
{
}
}
[/cs]
То есть наличие в конструкторе означает наличие у типа этих полей.
Что думаете? Есть ли основания у подобных претензий?
Еще один ритуал. При вызове функции обязательно нужно ставить (). Даже если функция не является мутатором. То есть выражение вида:
var allIds = result.SelectMany(x => x).Distinct().ToList();
Можно было бы переписать:
var allIds = result.SelectMany.Distinct.ToList
А если убрать обязательность var, то совсем здорово:
allIds = result.SelectMany.Distinct.ToList
Легко читается, да и пишется тоже. Есть еще один ритуал, которые все много раз делали:
public class Some
{
private int val1;
private int val2;
public Some(int val1, int val2)
{
this.val1 = val1;
this.val2 = val2;
}
}
Могло бы выглядеть как:
public class Some
{
public Some(int val1, int val2)
{
}
}
[/cs]
То есть наличие в конструкторе означает наличие у типа этих полей.
Что думаете? Есть ли основания у подобных претензий?
Несколько соображений по дизайну C#
В языке много бессмысленных ритуалов, например после каждой строчки нужно ставить ;. Обязательно. Вопрос зачем?
Еще один ритуал. При вызове функции обязательно нужно ставить (). Даже если функция не является мутатором. То есть выражение вида:
Можно было бы переписать:
А если убрать обязательность var, то совсем здорово:
Легко читается, да и пишется тоже. Есть еще один ритуал, которые все много раз делали:
Могло бы выглядеть как:
То есть наличие в конструкторе означает наличие у типа этих полей.
Что думаете? Есть ли основания у подобных претензий?
Еще один ритуал. При вызове функции обязательно нужно ставить (). Даже если функция не является мутатором. То есть выражение вида:
var allIds = result.SelectMany(x => x).Distinct().ToList();
Можно было бы переписать:
var allIds = result.SelectMany.Distinct.ToList
А если убрать обязательность var, то совсем здорово:
allIds = result.SelectMany.Distinct.ToList
Легко читается, да и пишется тоже. Есть еще один ритуал, которые все много раз делали:
public class Some
{
private int val1;
private int val2;
public Some(int val1, int val2)
{
this.val1 = val1;
this.val2 = val2;
}
}
Могло бы выглядеть как:
public class Some
{
public Some(int val1, int val2)
{
}
}
То есть наличие в конструкторе означает наличие у типа этих полей.
Что думаете? Есть ли основания у подобных претензий?