Pull to refresh

Comments 14

Цветовая схема диалоговых окон выглядит… смело.
И способствует быстрому нахождению нужных кнопок, цветное пятно найти проще чем прочитать надпись, не зря АСУТП'эшные экраны такие пестрые, там важна скорость реакции как и здесь.
Цветовое кодирование — это полезно, тут не спорю. Но конкретно выбранную цветовую гамму стоило бы сначала обсудить с дизайнером. Сейчас она очень бьёт по глазам, особенно адские градиенты на кнопках.
>>Цветовая схема диалоговых окон выглядит… смело
Это всё что Вы узнали из стати :)
Предпочитаю не стрелять из пушки по воробьям независимо от того как хорошо стреляет пушка)
Как раз наоборот, стрелять из пушки по воробьям — это изобретать собственный формат вместо того, чтобы взять готовую библиотеку, придуманную умными людьми и проверенную на тысячах проектов. Чем меньше велосипедов в коде — тем проще его поддерживать.
string.Format("{1}{0}{2}{0}{3}", ";",
можно заменить на
string.Format("{0};{1};{2}",
можно, но если вдруг понадобится поменять разделитель его придется изменить в двух местах, а не в одном)
тогда нужно вынести в константу :)

Ну даже не знаю, что сказать.


  1. Configuration — не лучшее название для метода, называть стоит глаголами.
  2. Про формат настроек уже сказали выше, а вот за парсинг в виде setting.Split(';')[1] бьют по рукам в иных местах.
  3. Никого логирования, кроме выбрасывания мессаджбокса с исключением пользователю в лицо.

Что здесь делает MessageBox? В большинстве случаев приложения для сканирования подразумевают GUI.

Вообще проект стоит разделить на две части, библиотеку и интерфейс (в том числе, консольный), причесать код, избавиться от кучи магических чисел...

ну даже не знаю что и ответить)

1. В общем соглашусь, хотя и Configuration отражает суть.
2. В конкретном случае нет и не подразумевается никакой вложенности и других прелестей json и xml, просто список в 3 столбца, который отлично ложится на CSV. Вернее здесь два списка которые разделяются заголовками. В другом месте за setting.Split(';')[1] и сам может кого побил бы, LoadConfig() завернута в try-catch, вызывается в одном месте. Вариантов два, конфиг либо валидный либо нет и неважно почему.
3. А оно нужно?

Вообще проект стоит разделить на две части, библиотеку и интерфейс (в том числе, консольный), причесать код, избавиться от кучи магических чисел...

Конечно, имеет смысл сделать все это и залить на гитхаб под свободной лицензией, что возможно и будет сделано. Высокая концентрация магических чисел в методе рисующем звездное небо GetVirtualScan(), его можно совсем убрать, он исключительно для отладки не мучая сканер.
if (_rnd.Next(3) == 0) {
return null;
}

это зачем? никак не могу понять.
Sign up to leave a comment.