суббота, 24 июля 2010 г.

Как не надо программировать

Всё ковыряюсь в коде TuxGuitar. Усиленно штурмую его внутреннюю модель данных. Она чудовищно переусложнена и хаотически запутанна. Мне уже удалось упростить периферию, но остался самый запутанный узел.
Это упрощённая схема зависимостей классов модели, из которой многое выкинуто. Стоит ещё добавить, что большинство этих классов создаётся двумя фабриками, одна из которых наследует другую и переопределяет все её методы. А установка конкретной фабрики осуществляется где-то в дали от создания объектов, через методы синглетона. И все эти объекты также знают о существовании фабрики. Двумя словами, это просто какой-то адский клубок.

Вообще, автор этого проекта словно коллекционирует самые плохие практики написания кода. Везде и всюду торчат синглетоны и модификация через геттер (посылаю лучи ненависти). Классы пронизаны циклическими зависимостями, и порой невозможно понять, кто где главный. Переменные и методы названы абы как (самый распространённый вид поля - это int value, с геттером и сеттером).

Впрочем, всё это ещё не отбило моего интереса. Пока что только добавляет задору. Результаты задора хостятся на gitorious.org.

Комментариев нет:

Отправить комментарий