Показать сообщение отдельно
  #59  
Старый 19.04.2022, 10:40
Аватар для Capsaicin
Capsaicin Capsaicin вне форума
Прапорщик
 
Регистрация: 13.11.2014
Сообщений: 308
Спасибо: 239
Capsaicin стоит на развилке
По умолчанию

Цитата:
Сообщение от Neil Посмотреть сообщение
Вложение 91988

- добавил пояснения при ошибках в выборе IP/Маски
- https://github.com/Intern-box/Netute...lavnoe_Okno.cs
Отлично! Молодец что учитываешь советы и стараешься развиваться.
Если хочешь улучшить написание кода и нужны комментарии, то вот, что заметил.

Не храни всю логику в одном файле формы. Старайся разделять на логические блоки. На классы, так, чтобы каждый класс был вполне себе понятной логической единицей.

В качестве именования в шарпах в основном используют CamelCase нотацию (но не всегда конечно).

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

Лучше бы вместо массив байт использовать класс с 4 октетами для описания айпи. И переопределить операции для работы с этим классом.

В методе byte[] Ocifrovka_IP(string stroka_s_ip) незачем использовать регулярку, тем более она в очень общих чертах написана. У тебя дальше по коду есть IPAddress.TryParse(stroka_s_ip, out ip_adres), как раз с помощью него лучше откинуть неподходящие варианты.

Что вызывает вопросы в коде без ответов:
Не понятно, зачем столько раз делаешь битовый сдвиг вправо для позиции контрола с надписью.
Берёшь ширину групбокса, вычитаешь ширину надписи, делаешь битовый сдвиг вправо и это будет позицией надписи?
https://github.com/Intern-box/Netute...e_Okno.cs#L309

Зачем такой способ вычисления квадратного корня (static uint Kvadratnii_Koren(uint kolvo_setei)). Можно же Math.Sqrt и округлить.
__________________
Только ситхи всё возводят в абсолют.
Ответить с цитированием
Эти 2 пользователей(ля) поблагодарили Capsaicin за это полезное сообщение:
BigO (19.04.2022), Копатель (19.04.2022)