Здравствуйте!
Вчера у нас было десятое правило из 12, как изучать программирование. Сегодня будет одиннадцатое правило.
Правило одиннадцатое. Возьмите в привычку делить.
Итак, у вас есть потрясающая идея приложения. Но это слишком сложно для вашего нынешнего уровня мастерства. Что вы делаете?? Вы присоединяетесь к Делению Экспресс.
Нет, я не говорю о фильме в стиле артхаус. Я говорю о том, чтобы разбить вашу проблему в программировании на части.
Допустим, вы пытаетесь создать робота, который может намазывать маслом тосты. (Если кто-то работает над одним из них, я бы с радостью финансировал ваш проект на Kickstarter!) Робот ничего не знает ни о тостах, ни о масле, ни о ножах. Хотите верьте, хотите нет, но на самом деле требуется довольно сложная схема в нашем мозгу, чтобы достичь чего-то такого простого, как намазывание маслом ломтика тоста. (Вероятно, именно поэтому я не могу обойтись в этом деле без кофе).
Поэтому создание робота, который делает все это автономно, действительно запутано и сложно. Но поскольку мы хорошие программисты, мы можем сделать некоторые фрагменты и разбить проблему.
Роботу на самом деле не нужно знать, что такое тост и что такое масло, мы здесь не делаем Скайнет, так что давайте просто придерживаться практических вещей. Есть три вещи, которые нам нужно указать сделать роботу:
1. Возьмите и расположите кусочек тоста в идеальном положении для намазывания маслом.
2. Возьмите порцию сливочного масла.
3. Положите масло на тост, обеспечивая достаточную зону покрытия (это та часть, которую я нахожу самой трудной).
Затем вы разбиваете каждый модуль еще больше. В процессе вы можете подумать об альтернативных способах решения проблемы. Например, нужно ли роботу “намазывать” масло? Или он может просто растопить масло на тосте? Нужно ли ему учиться брать в руки нож? Или у него может быть какая-то встроенная рука-нож, как у какого-то тюремного пирата-заточника?
Чем больше вы разбираете проблемы и определяете проблему, которую пытаетесь решить, тем легче упаковывать ваш код в кусочки размером с укус. Чем проще кусок, тем легче с ним справиться. Поэтому в следующий раз, когда вы попытаетесь сделать “нечто среднее между Snapchat и Evernote”, не забудьте разбить проблему на решаемые куски.
Всего вам хорошего.
На этом на сегодня всё, встретимся наверное завтра!
Если понравилась статья, поставьте, пожалуйста, лайк! А если вы ещё не с нами, то обязательно подписывайтесь, тут полезно и интересно.
Спасибо всем, кто перечисляет деньги! Если у вас нет возможности помочь каналу материально, то поделитесь, пожалуйста, статьёй с друзьями в соцсетях — вы очень поможете развитию канала.
Предыдущая статья. ......................................................... Следующая статья.