Коротко. "По мотивам" - http://blogs.embarcadero.com/vsevolodleonov/2013/12/03/andrey_karpov_3_rec/
Пример с switch - он конечно "ужасен".
И "сначала" я подумал - что-то "не о том товарищ вообще говорит".
Но "к концу" - он "исправился" и стал говорить правильные вещи, типа "пишите ПРОСТОЙ код" и "ДУМАЙТЕ о КОЛЛЕГАХ"!!!
Что касается "использования шаблонов" и stl - хочется сказать - это не признак "крутости". Это скорее признак "зрелости" и "усталости". Да. Да! УСТАЛОСТИ. Когда хочешь "РЕШАТЬ ЗАДАЧИ", а не "писать фреймворки".
Тут уже сразу хочется "ПО-МАКСИМУМУ" использовать "чужое". Уже отлаженное.
И stl - это САМЫЙ ХОРОШИЙ пример.
И ещё - "скорость" vs ООП - это "не самый лучший спор".
Просто надо "думать в терминах предметной области" тогда и "программировать в них" - становится естественно. И тогда и вопроса с vs - не возникнет.
А вообще - хороший вебинар. Правда "америку не открыл". Но "вопросы поставил".
P.S. Когда Андрей сказал "некоторые путают 'эффективный' код с 'коротким'" - я зааплодировал.
P.P.S. И ещё - "шаблоны" надо использовать - не потому, что "круто" и не потому, чтобы "показать свой уровень", а когда - есть ощущение "необходимости". Когда "есть дублирование кода" и "хочется с ним что-то делать", а что делать - "непонятно".
А "дублирование кода" - оно появляется не только из-за "плохого программирования". Зачастую оно появляется "естественным путём". И коллегам в курилке - я НЕ РАЗ про это рассказывал. Оно ЗАЧАСТУЮ появляется тогда, когда появляется ТЗ в таком роде - "сделайте нами примерно такой же прецедент как существующий, но другой, а детали - "мы потом определим"". И тут - САМОЕ дело - "форкнуть разработку", попрограммировать в стиле Copy'n'paste. Получить ПОЛНУЮ КАРТИНУ. ДОРАБОТАТЬ ТЗ. Понять "на самом деле ОБЩИЕ МОМЕНТЫ". А потом ТОЛЬКО - проводить рефакторинг и избавляться от "дублирующегося кода".
Вот ТУТ на сцену приходят - ШАБЛОНЫ, ПРИМЕСИ и АСПЕКТЫ.
P.P.P.S. Ешё написали - "еще бывает, что сначала думаем, что общие моменты есть, а потом оказывается, что их как бы и нет". Собственно ИДЕЯ в этом и была.
P.P.P.P.S. И в СВЕТЕ ЭТОГО хочу сказать ещё одну "крамольную мысль". Борьба с дублированием кода это НЕ ДЛЯ ТОГО, чтобы "меньше кода написать". А для ТОГО, чтобы код потом ПОДДЕРЖИВАТЬ можно было ПРОЩЕ. А так в "дублировании кода" в самом "по-себе" - беды "особо нет".
Пример с switch - он конечно "ужасен".
И "сначала" я подумал - что-то "не о том товарищ вообще говорит".
Но "к концу" - он "исправился" и стал говорить правильные вещи, типа "пишите ПРОСТОЙ код" и "ДУМАЙТЕ о КОЛЛЕГАХ"!!!
Что касается "использования шаблонов" и stl - хочется сказать - это не признак "крутости". Это скорее признак "зрелости" и "усталости". Да. Да! УСТАЛОСТИ. Когда хочешь "РЕШАТЬ ЗАДАЧИ", а не "писать фреймворки".
Тут уже сразу хочется "ПО-МАКСИМУМУ" использовать "чужое". Уже отлаженное.
И stl - это САМЫЙ ХОРОШИЙ пример.
И ещё - "скорость" vs ООП - это "не самый лучший спор".
Просто надо "думать в терминах предметной области" тогда и "программировать в них" - становится естественно. И тогда и вопроса с vs - не возникнет.
А вообще - хороший вебинар. Правда "америку не открыл". Но "вопросы поставил".
P.S. Когда Андрей сказал "некоторые путают 'эффективный' код с 'коротким'" - я зааплодировал.
P.P.S. И ещё - "шаблоны" надо использовать - не потому, что "круто" и не потому, чтобы "показать свой уровень", а когда - есть ощущение "необходимости". Когда "есть дублирование кода" и "хочется с ним что-то делать", а что делать - "непонятно".
А "дублирование кода" - оно появляется не только из-за "плохого программирования". Зачастую оно появляется "естественным путём". И коллегам в курилке - я НЕ РАЗ про это рассказывал. Оно ЗАЧАСТУЮ появляется тогда, когда появляется ТЗ в таком роде - "сделайте нами примерно такой же прецедент как существующий, но другой, а детали - "мы потом определим"". И тут - САМОЕ дело - "форкнуть разработку", попрограммировать в стиле Copy'n'paste. Получить ПОЛНУЮ КАРТИНУ. ДОРАБОТАТЬ ТЗ. Понять "на самом деле ОБЩИЕ МОМЕНТЫ". А потом ТОЛЬКО - проводить рефакторинг и избавляться от "дублирующегося кода".
Вот ТУТ на сцену приходят - ШАБЛОНЫ, ПРИМЕСИ и АСПЕКТЫ.
P.P.P.S. Ешё написали - "еще бывает, что сначала думаем, что общие моменты есть, а потом оказывается, что их как бы и нет". Собственно ИДЕЯ в этом и была.
P.P.P.P.S. И в СВЕТЕ ЭТОГО хочу сказать ещё одну "крамольную мысль". Борьба с дублированием кода это НЕ ДЛЯ ТОГО, чтобы "меньше кода написать". А для ТОГО, чтобы код потом ПОДДЕРЖИВАТЬ можно было ПРОЩЕ. А так в "дублировании кода" в самом "по-себе" - беды "особо нет".
Спасибо за комментарий!
ОтветитьУдалитьРад, что "языковая направленность" вебинара не снизила интерес среди "дельфистов".
Но нужно такой же вебинар сделать для "дельфистов" с их языковыми предпочтениями.
>>Вот ТУТ на сцену приходят - ШАБЛОНЫ, ПРИМЕСИ и АСПЕКТЫ.
Что-то типа этого :)
"Рад, что "языковая направленность""
Удалить-- ну у меня лично "языковой направленности" - нет. Я интересуюсь - ВСЕМИ языками. Хотя и не на всех программирую.
Хотя и Delphi (Pascal) - ПЕРВЫЙ (скажем так) язык.
Но. C++ - это ВТОРОЙ, так что - понятно было "о чём речь" :-)
">>Вот ТУТ на сцену приходят - ШАБЛОНЫ, ПРИМЕСИ и АСПЕКТЫ.
Что-то типа этого :)"
-- попробуем "забабахать вебинар"?
Ещё раз повторю:
ОтветитьУдалить"Что касается "использования шаблонов" и stl - хочется сказать - это не признак "крутости". Это скорее признак "зрелости" и "усталости". Да. Да! УСТАЛОСТИ. Когда хочешь "РЕШАТЬ ЗАДАЧИ", а не "писать фреймворки"."
Ключевое слово - УСТАЛОСТЬ :-)