
Раньше я думал, что программирую плохо, потому-что мне не хватает знаний о теории программирования. Теперь, когда в башке сидит куча теоретической информации - типа “принцип открытия закрытия“, “правило подстановки Барбары Лискоу“, “принцип инверсии зависимостей” и т.д. Я понимаю, что программирую плохо, потому-что слишком много думаю о том, что пишу. Но продолжая испытывать неудовлетворенность от написанного кода, я пытаюсь найти пути его улучшения. Сегодня задумался о том, почему на каждый “чих” нужно писать класс, чем функции хуже?

Оказывается внедрение “Непрерывной интеграции” в мой рабочий процесс - не такая легкая задача. Я привык работать с Bazaar-ом, а CruiseControll (сокращенно CC) умеет работать только с SVN. Сегодня пытался найти готовое решение, но сколько-нибудь потребного плагина CC для работы с Bazaar-ом так и не нашел. Правда в процессе поиска наткнулся на другое решение. Как говорится: умный в гору не пойдет, умный гору обойдет.

Продолжая тему Continuous Integration хочу рассказать о том, как я устанавливал CruiseControll на свой Linux.
Итак, исходные данные:
ОС: Fedora Core 13
CruiseControll: cruisecontrol-bin-2.8.3.zip
Java Version: openjdk and openjdk-devel rpm

Я большой сторонник agile development, многие идеи этой методологии реально помогают делать хорошие программы с меньшими усилиями. Недавно меня заинтересовал вопрос непрерывной интеграции (Continuous Integration). В этой заметке я хочу поделиться некоторыми соображениями на эту тему.

Из предыдущих постов могло сложиться впечатление, что я негативно настроен к наследованию классов. На самом деле это не так.
Я считаю, что наследование - это замечательный инструмент разработки объектно ориентированных программ, однако, относиться к нему стоит с подобающим уважением и осторожностью. Далее я расскажу о некоторых преимуществах наследования.