Антишаблоны C#

DateTime current = DateTime.Parse("1/1/2009");
DateTime nextYear = current.AddYears(1);
do
{
    Console.WriteLine(current);
    current = current.AddDays(1);
} while (current < nextYear) ;
55
задан 5 revs, 2 users 87% 23 May 2017 в 10:27
поделиться

35 ответов

Чрезмерное использование / злоупотребление инициализаторами объектов для всего, вероятно, из-за лени:

var person = new Person
{
    FirstName = "joe",
    (... lots of setters down here)
};

без понимания того, что это почти так же плохо, как сделать все поля общедоступными. Вы всегда должны позаботиться о создании допустимых конструкторов, которые инициализируют ваши объекты в допустимое состояние.

-2
ответ дан 26 November 2019 в 17:33
поделиться

Незнание - это блаженство (знайте свои рамки):

TimeSpan keyDays = new TimeSpan(Licence.LicenceExpiryDate.Ticks);
TimeSpan nowDays = new TimeSpan(System.DateTime.Now.Ticks);

int daysLeft = keyDays.Days - nowDays.Days;
0
ответ дан 26 November 2019 в 17:33
поделиться

У меня уже был такой:

AnEnum e = AnEnum.Abc;
int i = (int)e;
// lots of code
AnEnum f = (AnEnum)Enum.Parse(i, typeof(AnEnum));
1
ответ дан 26 November 2019 в 17:33
поделиться
 if (state == ((int) RowState.Active) .ToString ()) 
else if (state == ((int) RowState.NotActive) .ToString ()) 
 

state - это строковое значение сообщения, которое содержит значение из перечисления RowState.

В конечном счете, именно так мы проверяем значение.

1
ответ дан 26 November 2019 в 17:33
поделиться

Основная проблема с .NET, похоже, заключается в том, что есть много разработчиков, пришедших с VB 6.0 или (что еще хуже, на мой взгляд, потому что они ошибочно ВЕРЯТ, что знают, что делать, в то время как программисты VB 6.0, по крайней мере, достаточно скромны. желать узнать что-то новое) Java / C ++.

Люди, слишком невежественные по отношению к современным парадигмам, люди, облепляющие свой код уродливым P / Invoke в худшем из возможных стилей C ++. : - (

1
ответ дан 26 November 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: