После эта серия Чтобы улучшить наши навыки программирования на Linux, мы собираемся проанализировать второй этап деятельности по программированию. Мы установили, что, хотя кодирование является частью задачи программирования, оно включает в себя все, что идет от определения проблемы, которую должно решить приложение, до того, как оно будет готово к работе.
Этап 2: планирование решения
Любой, кто когда-либо брался за проект, знает, что идеальное решение редко совпадает с возможным.. Или у нас нет финансовых ресурсов или навыков для их реализации. На этом этапе мы принимаем решение о том, что мы можем делать с тем, что нам нужно:
Чтобы вы поняли, что я имею в виду, я приведу пример, не имеющий ничего общего с программированием.
Супружеская пара, двое детей, он юрист, а она бухгалтер. Каждый из них арендовал офис. Они решили, что могут сэкономить эти деньги и добавить этаж к своему дому, оставив первый этаж для работы, а второй этаж для семейного жилья. С составленными планами они обнаружили проблему. Горсовет не разрешает строить второй этаж.
У них есть как минимум четыре разных решения:
- движение
- Сдаем офисы повторно.
- Сделайте комнату многофункциональной.
- Сделайте второй этаж из переработанных транспортных контейнеров.
Точно так же, Вполне вероятно, что когда мы беремся за задачу по планированию нашего приложения, мы сталкиваемся с чем-то, что мы не можем или не должны делать. Конечно, профессиональный программист может учесть эти ограничения на этапе разработки задачи, но мы пишем это для программистов-любителей.
Хорошая новость в том, что у нас есть не только ограничения, но и посредники.
Прежде чем продолжить обсуждение темы, нам нужно определить некоторые термины:
- Алгоритм: Согласно Википедии, это набор определенных и однозначных, упорядоченных и конечных инструкций или правил, которые обычно позволяют решить проблему, выполнять вычисления, обрабатывать данные и выполнять другие задачи или действия. Учитывая начальное состояние и ввод, после последовательных шагов достигается конечное состояние и получается решение.
- API: Это аббревиатура на английском языке, означающая интерфейс прикладного программирования. Он состоит из набора определений и протоколов, которые позволяют двум независимо разработанным приложениям взаимодействовать друг с другом. без необходимости того, чтобы ответственные лица знали код другого. Например, во многих городах есть мобильные приложения, которые рассказывают горожанам, как добраться из одного места в другое. Для этого они полагаются на картографические сервисы, такие как Google Maps или OpenStreetMaps. С помощью API, бесплатного или платного, можно сэкономить много времени на программирование и включить функции, доступ к которым в противном случае был бы невозможен или частично доступен.
- Библиотека: Некоторые называют их книжным магазином, делая прямой перевод с английского, но поскольку мой книжный магазин - это место для продажи книг, библиотека кажется более подходящей.. Это апплеты общего и специального назначения, которые могут использоваться другими программами. Например, распечатать файл в формате PDF.
- Фреймворк: Вы знаете Лего? Это те пластиковые кирпичи, которые вставляются один в другой, и из них можно строить какие-то вещи. Хороший, фреймворки - это различные компоненты и шаблоны, на которых вы можете строить свой проект. Многие из них доступны по открытым лицензиям.
- Язык программирования: Это о тебеn язык с четко определенными грамматическими правилами, который можно использовать для описания серии инструкций или последовательности порядков, сгруппированных в алгоритмы. Существуют языки для конкретных целей (анализ данных, создание игр) и другие для общих целей.
Я называю их фасилитаторами, потому что все, что вам нужно запрограммировать, наверняка кто-то уже сделал, и с помощью поиска в Интернете вы можете найти код для копирования или вставки или служить в качестве руководства для внесения изменений.
Именно на этом этапе мы собираем материалы, из которых собираемся построить наше решение. Выбираем язык программирования, интегрированную среду разработки, библиотеки и, если есть, фреймворк. Как и во многих других вещах в мире свободного программного обеспечения, у каждого инструмента есть свои поклонники и недоброжелатели. Лучше всего пробовать, пока не найдете наиболее удобную для вас комбинацию.