Знай свою область
Знай свою область
Вы знаете, что такое диаграмма Насси—Шнейдермана? Если не знаете – почему? А чем отличаются конечные автоматы Мили и Мура? Должны знать. Сможете написать процедуру быстрой сортировки, не обращаясь к описанию алгоритма? Выполнить функциональную декомпозицию диаграммы информационного потока? Что означает термин «бесхозные данные»? Для чего нужны «таблицы Парнаса»?
За последние 50 лет в нашей области появилось множество новых идей, дисциплин, методов, инструментов и терминов. Сколько из них вы знаете? Каждый, кто хочет стать профессионалом, обязан знать заметную часть и постоянно увеличивать размер этой части.
Почему необходимо знать все это? Разве наша область не прогрессирует так быстро, что старые идеи теряют актуальность? Первая часть вопроса вполне очевидна: безусловно, в нашей области происходит стремительный прогресс. Но интересно заметить, что этот прогресс во многих отношениях имеет периферийную природу. Действительно, нам уже не приходится по 24 часа дожидаться завершения компиляции. И действительно, мы пишем системы, размер которых измеряется гигабайтами. Правда и то, что мы работаем в глобальной сети, предоставляющей мгновенный доступ к информации. Но с другой стороны, мы пишем те же команды if и while, что и 50 лет назад. Многое изменилось. Многое осталось неизменным.
Вторая часть вопроса так же очевидно неверна. Лишь очень немногие идеи последних 50 лет потеряли актуальность. Некоторые ушли на второй план, это правда. Концепция каскадной разработки, скажем, явно перестала пользоваться популярностью. Однако это не означает, что мы не должны знать, что это за концепция, каковы ее сильные и слабые стороны.
В целом подавляющее большинство с трудом завоеванных идей последних 50 лет ничуть не утратило своей ценности. А может, эти идеи стали еще более ценными. Вспомните проклятие Сантаяны: «Не помнящие прошлого обречены на его повторение».
Далее приводится минимальный список тем, в которых должен разбираться каждый разработчик.
• Паттерны проектирования. Вы должны быть способны описать все 24 паттерна из книги «Банды Четырех» и иметь практическое представление о многих паттернах из книг «Pattern-Oriented Software Architecture».
• Принципы проектирования. Вы должны знать принципы SOLID и хорошо разбираться в принципах компонентного проектирования.
• Методы. Вы должны понимать суть методологий XP, Scrum, экономной[6] разработки (Lean), Kanban, каскадной разработки, структурного анализа и структурного проектирования.
• Дисциплины. Практикуйтесь в практическом применении разработки через тестирование (TDD), объектно-ориентированного проектирования, структурного программирования, непрерывной интеграции и парного программирования.
• Артефакты. Вы должны уметь работать с UML, DFD, структурными диаграммами, сетями Петри, диаграммами переходов, блок-схемами и таблицами решений.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Программируя термитник, или Собери свою SEO — армию
Программируя термитник, или Собери свою SEO — армию Сыграем в ассоциации? Мы называем слово – «делегировать». Что пришло вам в голову? Если только «домен», то поздравляем: вы точно не первый год в Рунете хлебаете SEO — кашу. «Полномочия»? Поздравляем двукратно: едва ли вы
Кастомизируйте свою игру
Кастомизируйте свою игру Любой игрок может внести изменения в Minecraft. Помните, что вы легко можете загрузить приложение или файл, который может повредить вашу игру или компьютер. Если хотите внести в игру изменения, мы рекомендуем воспользоваться помощью родителей
10 советов о том, как сделать свою страницу популярной
10 советов о том, как сделать свою страницу популярной 1. Разместите кнопки социальных сетей, в которых у вас есть страницы на вашем официальном сайте. Это позволит привлечь дополнительные «like» и новых читателей.2. Делитесь не только вашими новостями, но и информацией о
3.3.5. Создаем свою Ленту
3.3.5. Создаем свою Ленту Ленты новостей можно не только экспортировать на свой сайт, в браузер или программу для чтения новостей. Из множества доступных вам лент (не только тех, что предлагает Яндекс, но и любых иных) на сервисе Яндекс. Лента вы можете создать собственный
Создай свою аватарку: лирическое отступление
Создай свою аватарку: лирическое отступление Немножко отвлечемся от темы… Хотя почему, собственно – к теме социальных сетей и интернет-общения наша вставная главка имеет самое прямое касательство.«Аватарка», или иначе, «юзерпик» – небольшая картинка, виртуальный
1.5. Потренируйте свою интуицию: что следует запомнить
1.5. Потренируйте свою интуицию: что следует запомнить Надо честно признаться: «все становится интуитивно ясным после того, как поймешь». Эта истина и составляет суть данного раздела, поскольку в Ruby немало особенностей, отличающих его от всего, к чему привык программист на
ПИСЬМОНОСЕЦ: Слова помнят свою историю
ПИСЬМОНОСЕЦ: Слова помнят свою историю Автор: Леонид Левкович-МаслюкК статье «Прикольно, гламурно, пафосно» Анатолия Шалыто: Анатолий Абрамович спрашивает, было ли прикольно лыжнице во время олимпийской гонки. Отвечаю — да, ей было прикольно. Сужу по себе — для меня
Определяем свою приёмочную шкалу
Определяем свою приёмочную шкалу В дополнении к обычному product backlog, product owner определяет приёмочную шкалу, которая представляет собой ни что иное, как простое разбиение всех историй product backlog’а на группы в зависимости от их уровня важности в контексте контрактных
Отвечать за свою территорию
Отвечать за свою территорию Если вы являетесь системным администратором, отвечающим за конкретные системы, то помните, что эти системы представляют собой вашу территорию. Хотя вы разделяете эту ответственность с администратором безопасности, вы все же отвечаете за
Знай своё место, человек! Почему не уступить космос роботам? Евгений Золотов
Знай своё место, человек! Почему не уступить космос роботам? Евгений Золотов Опубликовано 26 сентября 2013 То, что я сейчас скажу, наверняка покажется многим из вас оскорбительным, но не спешите осуждать, позвольте объясниться. Так вот, хорошо, что
Желаете знать свою ДНК? А вы уверены? Евгений Золотов
Желаете знать свою ДНК? А вы уверены? Евгений Золотов Опубликовано 10 апреля 2014 Каждый прорыв в науке и технике не только открывает новые перспективы, но и ставит новые вопросы нравственного плана. Вспомните, как мучились учёные, подарившие людям
Знай меру!
Знай меру! А теперь нужно привести результаты некоторых исследований, которые проводились в различных странах. Дело в том, что одной из самых распространенных причин погружения в компьютерные игры действительно является уход от стресса, реальной жизни, — это выяснено
Тактика № 1: обеспечьте свою анонимность
Тактика № 1: обеспечьте свою анонимность Прямой маркетинг зависит от возможности находить цели – от возможности продавца идентифицировать, кто вы и что вы, скорее всего, купите. Одним из способов защитить себя от маркетинговой машины является защита вашей