Разделы презентаций


Семинар 1

Содержание

Цель и задачиЦель – подготовка потенциала кафедрыЗадачи:Обсуждение наиболее популярных подходов к программированию, проектированию и управлению проектами.Разбор наиболее острых проблем программирования.Передача практического опыта.

Слайды и текст этой презентации

Слайд 1Семинар 1
Вводная часть

Самые общие ошибки разработчиков

Семинар 1Вводная частьСамые общие ошибки разработчиков

Слайд 2Цель и задачи
Цель – подготовка потенциала кафедры

Задачи:
Обсуждение наиболее популярных подходов

к программированию, проектированию и управлению проектами.
Разбор наиболее острых проблем программирования.
Передача

практического опыта.

Цель и задачиЦель – подготовка потенциала кафедрыЗадачи:Обсуждение наиболее популярных подходов к программированию, проектированию и управлению проектами.Разбор наиболее

Слайд 3Предполагаемые группы тем
Ошибки программирования

Модульное и интеграционное тестирование

Рефакторинг

Проектирование, UML, паттерны

TDD, XP

Многопоточность

и мультипроцессинг на практике

Структуры данных, алгоритмы, библиотеки


Предполагаемые группы темОшибки программированияМодульное и интеграционное тестированиеРефакторингПроектирование, UML, паттерныTDD, XPМногопоточность и мультипроцессинг на практикеСтруктуры данных, алгоритмы, библиотеки

Слайд 4Обсуждение формата семинаров
Мое видение
Слайды.
Написание и разбор кода.
Пояснения, обсуждения, вопросы.
Рекомендация литературы,

порядка её освоения.
Оформление “напоминающих” материалов.
По желанию участи в прохождении и

разработки тестов.


Ваши предложения
Обсуждение формата семинаровМое видениеСлайды.Написание и разбор кода.Пояснения, обсуждения, вопросы.Рекомендация литературы, порядка её освоения.Оформление “напоминающих” материалов.По желанию участи

Слайд 5Вопросы









За лучший вопрос приз….. Автограф…
За лучшее зрение – два автографа



ВопросыЗа лучший вопрос приз….. Автограф…За лучшее зрение – два автографа 

Слайд 6Наиболее распространенные ошибки программирования
Общий смысл
Вы косячите.
Я косячу.
Мы косячим.

Причины:
Не знание.
Лень.
Недостаточная заинтересованность.
Одиночество



Цель – повышение понятности, надежности кода, возможности его повторного использования,

гибкости, производительности.

Антицель – слепое использование инструментов и техник ради них самих.
Наиболее распространенные ошибки программированияОбщий смыслВы косячите.Я косячу.Мы косячим.Причины:Не знание.Лень.Недостаточная заинтересованность.Одиночество Цель – повышение понятности, надежности кода, возможности

Слайд 7ДУБЛИРОВАНИЕ КОДА
Разбухание кода

Сложность модификации кода

Решение:
Выделение функций.
Выделение классов.
Использование наследования.
Использование делегирования.

ДУБЛИРОВАНИЕ КОДАРазбухание кодаСложность модификации кодаРешение:Выделение функций.Выделение классов.Использование наследования.Использование делегирования.

Слайд 8ДЛИННЫЕ ФУНКЦИИ

Разбиваем функцию на несколько простых функций.

Цели – понятность кода

и повторное исследование.

Антицель – фанатичная минимизация функций и создание их

огромного количества
ДЛИННЫЕ ФУНКЦИИРазбиваем функцию на несколько простых функций.Цели – понятность кода и повторное исследование.Антицель – фанатичная минимизация функций

Слайд 9ОДНА ФУНКЦИЯ (КЛАСС) – МНОГО ЗАДАЧ

DoEverything()

class GodObject
БЕЗ ФАНАТИЗМА В ДРОБЛЕНИИ

НА ЗАДАЧИ!

ОДНА ФУНКЦИЯ (КЛАСС) – МНОГО ЗАДАЧDoEverything()class GodObjectБЕЗ ФАНАТИЗМА В ДРОБЛЕНИИ НА ЗАДАЧИ!

Слайд 10ИМЕНОВАНИЕ
master_channel_counter или masterChannelCounter НО НЕ mchc !!!


ИМЕНОВАНИЕmaster_channel_counter или masterChannelCounter НО НЕ mchc !!!

Слайд 11КОММЕНТАРИИ
Должны быть только там, где они помогают.

Отвечают на вопрос зачем,

а не что делается!

Если комментариев много внутри кода – код

плохой.

Нужны для интерфейсных функций, должны пояснять возможные параметры, пред и пост условия.
КОММЕНТАРИИДолжны быть только там, где они помогают.Отвечают на вопрос зачем, а не что делается!Если комментариев много внутри

Слайд 12МАГИЧЕСКИЕ ЧИСЛА
Используем именованные константы, дефайны, перечисления

МАГИЧЕСКИЕ ЧИСЛАИспользуем именованные константы, дефайны, перечисления

Слайд 13ПРЕЖДЕВРЕМЕННАЯ ОПТИМИЗАЦИЯ

Проще сделать корректную программу быстрой, чем быструю корректной.

Оптимизации должны

предшествовать исследования.

А исследованиям должна предшествовать выработка целей оптимизации.

Необходимость оптимизации

надо доказать!

Оптимизируйте алгоритмы.
ПРЕЖДЕВРЕМЕННАЯ ОПТИМИЗАЦИЯПроще сделать корректную программу быстрой, чем быструю корректной.Оптимизации должны предшествовать исследования.А исследованиям должна предшествовать выработка целей

Слайд 14ПРЕЖДЕВРЕМЕННАЯ ПЕССИМИЗАЦИЯ
При прочих равных условиях не стоит отказываться от общеизвестных

более эффективных решений.



Примеры:

Использование i++ вместо ++i;

Передача параметра по значению, там

где можно передать по ссылке;

Использование присваивания в конструкторах вместо списка инициализации.

Использование собственных циклов вместо библиотечных алгоритмов или генераторов списков (в Python).

ОТКАЗ ОТ ОПТИМИЗАЦИИ БЕЗ ФАНАТИЗМА !

ПРЕЖДЕВРЕМЕННАЯ ПЕССИМИЗАЦИЯПри прочих равных условиях не стоит отказываться от общеизвестных более эффективных решений.Примеры:Использование i++ вместо ++i;Передача параметра

Слайд 15Глобальные и совместно используемые данные
Избегаем
Я бы даже сказал, чураемся….
(по возможности

конечно)

То что можно сделать локальным в методе, инкапсулированным и/или статическим

в классе, таким и должно быть.
Портят понимание кода.
Сложные зависимости.
Портят возможность распараллеливания.

Глобальные и совместно используемые данныеИзбегаемЯ бы даже сказал, чураемся….(по возможности конечно)То что можно сделать локальным в методе,

Слайд 16Не использование систем контроля версий и систем управления проектом
Коллективная работа,

четкая работа с задачами.

Одиночество не причина отказа от благ цивилизации.

Не использование систем контроля версий и систем управления проектомКоллективная работа, четкая работа с задачами.Одиночество не причина отказа

Слайд 17Рекомендуемая литература
С. Мейерс. Эффективное использование С++.

С. Мейерс. Более эффективное использование

С++.

А. Александреску., Г. Саттер. Стандарты программирования на С++.

Рекомендуемая литератураС. Мейерс. Эффективное использование С++.С. Мейерс. Более эффективное использование С++.А. Александреску., Г. Саттер. Стандарты программирования на

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика