Невозможно научиться делать роскошные интерфейсы, если вы…

Последняя прочитанная мною книга была книга Влада В. Головача «Дизайн пользовательского интерфейса2 Искусство мыть слона». Сказать что она мне понравилась — это ничего не сказать. Во-первых, это лаконичный и содержательный материал, насыщенный примерами из богатого опыта автора. Во-вторых это умозаключения и выводы, которыми автор делится с читателем, и с позицией которого, я на сто процентов солидарен. Эту книгу, я советую каждому, кто в силу своей профессиональной деятельности, связан с проектированием пользовательских интерфейсов. К сожалению то, что является неотьемлемой частью успеха любого информационного продукта, а программное обеспечение, именно таковым и является, зачастую выпускается из виду программистами и дизайнерами, — дизайнерами, в силу

Continue Reading

Инструменты анализа кода на предмет “говнокода”, copy/paste, соответствию стандартам

Если вы работаете с командой php-разработчиков, то вы знаете как много кода они пишут, особенно если это высокопроизводительная команда разработчиков. программистам свойственно автоматизировать любой рутинный труд, поэтому и труд по контролю над кодом тоже понемногу автоматизируется. Самым полезным, для меня, оказался инструмент Copy/Paste Detector for PHP code. Как ясно из названия, этот инструмент используется для дублирующегося кода, ярым поборником которого я являюсь. Устанавливается он очень просто, как PEAR пакет: sb@ubuntu ~ % pear channel-discover pear.phpunit.de Adding Channel "pear.phpunit.de" succeeded Discovery of channel "pear.phpunit.de" succeeded sb@ubuntu ~ % pear channel-discover

Continue Reading

ООП для чайников. Паттерны проектирования. Паттерн фабричный метод (Factory method).

Еще один паттерн из группы порождающих – фабричный метод (factory method). Этот паттерн позволяет скрывать от клиента логику создания запрашиваемого объекта. Этот паттерн следует применять когда заранее неизвестно объекты каких классов должны быть созданы, поскольку предполагается множество различных вариантов работы, либо объекты, которые класс создает должны быть определены уже в подклассе. Пример применения паттерна на UML диаграмме: А вот, пример применения паттерна в коде, – класс создающий разные типы документов, из одинаковых составных частей: // IChapter.java package patterns.factorymethod.report; public interface

Continue Reading

ООП для чайников. Паттерны проектирования. Паттерн абстрактная фабрика (Abstract factory)

Сегодня мы рассмотрим паттерн абстрактная фабрика, или фабрика, как его часто называют. Этот паттерн относится к группе порождающих и решает проблему создания группы объектов. Классический пример использования фабрики для предоставления приложению элементов интерфейса в зависимости от платформы. Например, приложение на linux будет создавать при помощи фабрики кнопки, поля и прочие элементы через фабрику, которая в свою очередь, по запросу будет возвращать элементы XWindows, а приложение на windows будет возвращать элементы win32. Таким образом программе становится не важна платформа, платформо-зависимая логика

Continue Reading

ООП для чайников. Паттерны проектирования. Строитель (Builder)

Предыдущий опыт показал что скриптовые языки не очень подходят для иллюстрации паттернов и дальше мы ограничились использованием ООП языков со строгой типизацией, так сказать, для большей наглядности. Сегодня речь пойдет о паттерне Строитель, предназначенного для конструирования объектов. Если процесс создания какого либо сложного объекта из составных имеет схожие этапы, имеет смысл описать единый алгоритм создания включающий в себя действия по созданию необходимого объекта. Вот как это выглядит в UML: В моем простом примере логика создания простой игровой карты выносится в класс строителя WorldBuilder, в котором реализовано два метода для создания пустого

Continue Reading

Site Footer

Sliding Sidebar

About Me

About Me

For whom this blog for?

For those who are interested in modern Internet technologies, IT business, startups, management, quality control, personal effectiveness, motivation. Here I write about what is interesting, about problems I faced and solutions I found. I hope it will be interesting to you either.

What motivates me to write?

The desire to improve, to study deeper topics that interest me. Find people with similar problems and tasks, together look for ways out and solutions.

Feel free to contact if you have anything to say to me

Old Flash site with my artistic works and misuc.