Резюме для программиста
Продолжаю переписывать проект. Встретил число 2147483647, передаваемое в параметре типа инт. Лять, вот не лень челу было лазить и смотреть, чего там этот Int32.MaxValue означает, копировать его и вставлять, вместо того, чтобы вставить само Int32.MaxValue. А может, он просто не знал, что есть такое поле у Int32, загуглил максимальное значение для знаковых целых и скопировал его? Там ещё много подобной дичи. Я понимаю, ошибки архитектуры, нет бутерброда паттернов, как у настоящих тру-альфа-кодеров. Но эта-то базовщина?
Кстати, бутерброд паттернов, как и циклические зависимости между проектами с намешанными ссылками на проекты и в виде файлов, добавленных по ссылке - это всё там как раз есть. Архитектор у проекта был будь здоров. Намельчил либ на несколько десятков штук, хотя все они тесно-претесно между собой связаны, и можно было бы большинство из них в один проект запихать, чем городить сильносвязный граф зависимостей между проектами.
На один кастомный логгер (который внутри опирается на обычный log4net) ушло несколько классов и тысячи строк кода. Причём оформление лога идёт через километры портянок конкатенации строк и бешеного юзания StringBuilder вместо XML-конфигураций. XML же конфигурации нет вообще. Т.е. log4net используется тупо для сохранения нашитой строковой портянки. Мог бы и банальным файловым потоком лог сохранить.
И этот софт управляет роботами большого концерна. Дождутся...