Обучение по книгам правильности и распознаванию образов
Пара мыслей о том, как хорошо создавать программное обеспечение.
Недавно друг задал вопрос о конкретных навыках, которыми обладают разработчики программного обеспечения.
Какие уникальные навыки практикуют специалисты по развитию? На основании своего опыта у меня сложилось следующее мнение.
Идея, которую я осознал со временем, заключается в том, что мне нравится мета программирования.
Изучение метанавыков, или того, как делать то, что мы делаем лучше, предполагает чтение множества известных книг с контекстом.
Я взял конкретные примеры из того, что прочитал за эти годы, применил их к своим собственным наблюдениям в этой области и ответил максимально прагматично.
На мой взгляд, если мыслить универсально, то я бы сказал, что это практика.
корректность и распознавание образов* .
Это некоторые из навыков, которые являются уникальными для разработчиков программного обеспечения.
Верно
Корректность во многом зависит от Как И Почему мы поступаем так, а не иначе.В компаниях это наиболее тесно связано с правильностью того, какую проблему бизнес должен решить для своих клиентов.
Хорошо написанное программное обеспечение следует тому же мышлению.
Корректность рассматривается в развитии как насколько правильно это «как» чтобы бизнес-решение могло продолжать решать свои задачи с высоким уровнем надежности и эффективности.
Этот процесс представляет собой баланс между стратегией (проектированием) и тактикой (исполнением).
Изучая это что такое «как» в вакууме лучше всего представлено в четвертой части первой главы книги Жемчужины программирования — Написание правильных программ (Жемчужины программирования – Написание правильных программ).
.простота кода обычно является ключом к правильности.
— Джон Бентли
Распознавание образов
Распознавание образов тесно связано с организация этой правильности путем создания необходимых абстракций и границ компонентов.Распознавание образов приводит к концепции повторного использования для модульности и изоляции кода.
Мы отслеживаем дублирование, находим области, которые можно использовать повторно, и перепроектируем сложные части кода.
Это то, что хорошо делают разработчики программного обеспечения.
Мы уделяем очень пристальное внимание деталям.
Мы признаем знание, когда оно создается снова и снова.
И тогда мы упрощаем.
Распознавание образов обсуждается в сообществе и существует множество источников, где можно прочитать о методах распознавания.
Об этом я узнал во второй главе книги.
Прагматичный программист - Зло дублирования (Программист-прагматик - Зло дублирования).
Упростите повторное использование.Не повторяйтесь.
— ?Эндрю Хант и Дэйв Томас
Интересное наблюдение
Как только я дал этот ответ, мой друг задал встречный вопрос.Если точность и распознавание образов — это такие навыки, как им можно научиться? Конечно, мой ответ был довольно простым: Найдите эти книги, создайте среду и проработайте их, показывая примеры.
Установите ожидания от обучения и примените эти метанавыки для повышения ценности бизнеса.
Почему? Сложность.
Это лучшая инвестиция в обучение мастерству, о которой я знаю.
Это также приводит к тому, что разработчики со временем становятся более уверенными в себе.
Мой рост был сосредоточен вокруг этих книг и этих конкретных навыков.
Но это заставило меня осознать, что есть несколько навыков, которые вносят значительный вклад в метанавыки, помимо фактического выполнения работы.
Я заинтересовался терминологией «мета».
Моя работа по декомпозиции (корректности) и организации (распознаванию образов) задач на момент публикации не использовалась.
И примерно в то же время я подумывал написать этот пост о метанавыках.
Профессор Стэнфордского университета читал курс по метанавыкам, и это привело к тому, что он написал книгу, в которую включил некоторые результаты своего курса.
Я был шокирован, узнав, что он относится к этому вопросу так же, как и я.
Поэтому я купил книгу и прочитал ее с жадностью.
Тринадцатая глава Философия системного проектирования (Философия системного проектирования).
Разработчики, как правило, очень ориентированы на детали.Мы любим детали и любим управлять многими из них; это важно, чтобы быть хорошим профессиональным инженером.
Однако хорошие разработчики программного обеспечения также могут отойти от деталей и подумать о системе на более высоком уровне.
— Джон Оустерхаут**
Заключение
По моему мнению, верно И распознавание образов — это навыки***, которые разработчики программного обеспечения должны изучать и развивать.В результате качество программного обеспечения повышается.
Все остальные уникальные навыки вполне могут зависеть от вышеперечисленного.
Я приглашаю других поделиться примерами метанавыков, которые они развили с течением времени.
В целом точность и распознавание образов связаны со сложностью результатов (также известной как когнитивная нагрузка).
Должен быть способ разумно сбалансировать оба фактора, чтобы уменьшить сложность.
Вот почему я считаю эти навыки основой всего, что мы делаем.
* Интересно, что правильность и распознавание образов тесно связаны с практикой машинного обучения.
**Если вы хотите узнать больше о том, чем занимается Джон, посмотрите на его видео .
***Инженеры также должны практиковаться на высоком уровне.
обучение и общение.
Эти концепции не являются уникальными для программного обеспечения, но тесно связаны с наукой.
Оригинальная статья Теги: #программирование #Анализ и проектирование систем #перевод
-
V-Ray И Iray. Сравнение И Обзор
19 Oct, 24 -
Высокомерный Нан
19 Oct, 24 -
C++ Ide От Jetbrains: Когда?
19 Oct, 24