гайда Вам никто не даст, а вот если эту работу разбить на этапы то можно много постичь по ходу
-ДНС
-Сервисы smtp, imap, pop3
-Courier-imap или Dovecot?
-Учетные записи пользователей системные или виртуальные? Виртуальные удобнее, да и база данных у Вас уже настроена и работает. Если вдруг потребуется прогонять входящую почту через фильтр procmail, то придется вводить системные учетные записи, потому что с виртуальными procmail не работает
-Настройка шифрования. Сервисы smtps, imaps, pop3s
-Настройка smtp-авторизации
-Установка и настройка антивируса и антиспама
-Установка веб-интерфейса для работы с почтой
-Фильтр входящей почты procmail. Необязательно, но ознакомиться стоит
В чём главное отличие между процессами менеджером-сессии-иксов и гном-хранителемэкрана?
Неужели вам неясна разница между автомобилем, его движком и дворниками?
Вам стоит взять конспект лекций и проштудировать, иначе всё равно завалитесь.
Один инициирует сессию пользователя с гусарами, преферансом и шлюхами, второй - показывает няшную картинку, когда пользователь убежал от экрана. А так разницы в них никакой нет - и тот и тот используют Xlib.
Надо не b[i] на null проверять, его там никогда не будет, а проверять длину массива b.
Ну и по-хорошему int.Parse для каждого числа использовать только один раз, а не на каждую проверку.
конкретно в приведенном фрагменте – однозначно второй вариант.
первый имеет право на жизнь только если там будет больше одной проверки, которые не зависят от верхней.
хотя и второй вариант (в приведенном виде) можно упростить.
вам бы почитать про метрики кода в целом, и цикломатическую сложность в частности.