О вреде рефакторинга, повышеной абстракции и ООП
От: A.R. Россия  
Дата: 27.07.05 09:41
Оценка: 3 (1) +2 -16 :))) :)))
В данный момент занят подготовокй документа внутреннего стандарта.
Один из пунктов — мысли на тему что все полезно в меру,
и о том что ООП и рефакторинг полезны в large-scaled системах, а их бездумное применение в коде игр (который не расширяется, не наследуется, очень редко подвергается reuse и не используется кем-то кроме самих разработчиков) только отнимает время.

был бы рад выслушать ваши мнения (чтоы передать самые удачные из них) на эту тему....


далее фрагмент текста

...в последние годы вышла масса литературы на тему дизайна software. Авторы книг и статей постарались на славу. Были выделены и формализованы основные конструкции в виде паттернов проектирования. Сформированы основные практики и рекомендации.
Однако, у этой большой и красивой медали есть обратная сторона – очень редко говорится О РЕАЛЬНОЙ НЕОБХОДИМОСТИ ПРИМЕНЕНИЯ тех или иных методик, а также о трудозатратах при этом.
Подавлющая масса молодых программистов из-за отсутсвия опыта воспринимает все подобные материалы совершенно неадекватно, стремясь де-факто реализовать в одном месте практически все то, о чем они когда-либо читали и слышали (а слышали они в силу возраста как раз все последние веяния). Им трудно дифференцировать рациональные зерна от бесполезных “бантиков” и программирование превращается не столько в создание требуемого функционала, сколько в продумывание деталей как это будет написано. Внешнее и второстепенное выдвигается на первое место. Значительную часть времени начинает занимать бесполезный рефакторинг программного текста и мысли о том как же организовать очередное хитрое зацепление клаасов, в то время как создание полезнго функционала уходит на задний план. В игровой индустрии подобные повадки особенно вредны. Нужен функционал, не нужен лишний текст. 99% текста выполняют 100% работы.
Хотелось бы привести пример, когда одному разработчику был дан проект очень незатейливой игры. Предполагалось, что эта игра займет около месяца разработки. Но месяца не хватило. Спустя шесть недель выяснилась причина. Программист попался очень педантичный и вместо того чтобы взять чистый СИ и написать игру, он 80% времени занимался тусовкой классов в сложнейшей иерархии. Когда посчитали – оказалось порядка 210 классов. Движок получился на славу, была написана чудовищная гора текста. В объекты было завернуто все, начиная от объектов межпоточной синхронизации и кончая экранными виджетами со своей собственной системой сообщений. Да только вот беда — сама игра была в совершенно зачаточном состоянии...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.