Это изначально размещено в моем блоге.

Эта статья предназначена для того, чтобы перечислить и обсудить основные вещи, которые должен знать каждый разработчик программного обеспечения. Ранее я решил написать сообщение, чтобы обсудить полезные инструменты и технологии, которые помогут веб-разработчику (в основном я веб-разработчик полного цикла). Когда я собираю эту информацию, у меня возникла идея составить быстрый контрольный список основных вещей, которые должен знать каждый разработчик (чтобы я опубликовал его сейчас).

Это уникальная статья? Конечно, вы не можете найти подобный список в сотне постов в Интернете. Но это статья, составленная из списка полезных инструментов и технологий, использующих знания, которые я приобрел за последние несколько лет (технически 4 года согласно опыту). Хорошо, давайте перейдем к списку. Пункты не перечислены в зависимости от их важности, поэтому не стесняйтесь переходить, чтобы прочитать любой раздел.

Системы контроля версий

  • Управление изменениями в документах, компьютерных программах, крупных веб-сайтах и ​​других коллекциях информации. К
  • Управление кодом
  • Создавать репозитории, ветки
  • Код фиксации, код слияния

Контроль версий - это система, которая регистрирует изменения в документах, компьютерных программах, крупных веб-сайтах и ​​другом сборе информации.

В программной инженерии контроль версий - это своего рода практика, которая отслеживает и обеспечивает контроль изменений в исходном коде. Когда мы работаем в команде с несколькими людьми над разработкой программного обеспечения, исходный код будет подвергаться нескольким версиям. Системы контроля версий позволяют нескольким разработчикам редактировать один и тот же файл одновременно.

Разработчики могут сохранять несколько копий различных версий программ или файлов и соответствующим образом маркировать их. Системы контроля версий не ограничиваются только разработкой программного обеспечения, их может использовать любой, кто хочет отслеживать изменения своих файлов.

Как написать

Письмо - ключевой навык для разработчиков программного обеспечения. Написать

  • Исходный код в стандартном формате
  • Деловая электронная почта
  • Сообщение фиксации
  • Примечания к выпуску

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

В случае жизни программиста, тема написания также охватывает написание стандартного и читаемого кода. Код должен быть удобочитаемым для любого члена команды, чтобы понять концепции за меньшее время.

Написание правильного сообщения о фиксации для каждой фиксации в проекте через систему контроля версий. Другой разработчик в команде не должен тратить много времени на понимание коммита, копаясь в кодах репозитория, он, вероятно, должен получить краткое и четкое описание того, что такое коммит.

В основном разработчик программного обеспечения должен участвовать в процессе создания документации, объясняющей функциональность системы. Документация может быть передана клиентам, или документация будет использоваться для обмена информацией в команде.

Обычно примечания к выпуску передаются клиентам и высшему руководству для предоставления информации об изменениях, которые недавно произошли в системе программного обеспечения. Основываясь только на примечаниях к выпуску, клиент может исследовать различные новые доступные функции / исправления ошибок в системе. Они не могут видеть наши комментарии в исходном коде или сообщения о фиксации в репозиториях. Таким образом, написание контента - важный навык при подготовке примечаний к выпуску, чтобы сделать четкое заявление об изменениях, произошедших в системе.

Использование библиотек

В программной инженерии библиотека - это набор энергонезависимых ресурсов, используемых компьютерными программами. В основном библиотеки включают понятную документацию, справочные данные, предварительно написанные образцы кода, данные конфигурации.

  • Использование общей функции
  • Использование существующей функции

В ходе эволюции программирования общая терминология, используемая в каждом языке программирования, - это повторное использование.

Повторное использование существующей функции - лучшая практика, которую рекомендуют программисты и технические книги. Использование библиотек - одна из лучших практик в разработке программного обеспечения. Например, если вы хотите иметь дело с некоторыми математическими операциями, такими как извлечение квадратного корня, поиск значения Floor / Ceil числа. Вам не нужно создавать свои собственные методы с нуля. Изобретать колесо - не всегда лучшая практика. Для выполнения этой операции вы, вероятно, можете использовать некоторые из существующих библиотек (выбор подходящей библиотеки - еще одна большая тема, мы можем обсудить это в другом сообщении).

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

Мы должны получить надлежащие знания и информацию о библиотеке, прежде чем использовать ее в наших проектах. Вы можете получить такие знания на собственном опыте, работая над несколькими проектами в своей карьере.

Регулярные выражения

Регулярное выражение (regex или regexp) - это в теоретической информатике и теории формального языка последовательность символов, определяющая шаблон поиска. Обычно этот шаблон затем используется алгоритмами поиска строк для операций «найти» или «найти и заменить» на строках.

  • Последовательность символов, определяющая шаблон поиска, в основном для использования при сопоставлении с образцом со строками или сопоставлении строк, т. Е. В операциях, подобных «поиску и замене».
  • Пример: (? ‹= \.) {2,} (? = [A-Z])

На изображении выше мы сопоставляем определенный образец или последовательность текста из абзаца. Регулярное выражение будет использоваться разработчиками в алгоритмах обработки текста и поиска.

Сценарии

  • Язык программирования, который поддерживает сценарии, программы, написанные для специальной среды выполнения, которая может интерпретировать (а не компилировать) и автоматизировать выполнение задач, которые в качестве альтернативы могут быть выполнены по очереди человеком-оператором.
  • Пример:
  • Переименование файлов в определенном каталоге с именами файлов в другом каталоге.

Для выполнения конкретной операции малого уровня в повседневных задачах будут использоваться сценарии. Python, JavaScript будут использоваться для выполнения некоторых быстрых операций в повседневной работе. Чтобы выполнить какую-то простую задачу, мы не должны зависеть от настройки большой среды разработки, эта операция должна выполняться с использованием некоторых скриптов или файлов bat.

База данных

База данных - это систематический сбор данных. Базы данных поддерживают хранение и обработку данных. Базы данных упрощают управление данными.

  • Хранить, извлекать и систематизировать данные
  • Управление большим объемом данных

Я бы порекомендовал каждому разработчику программного обеспечения изучить базовые знания в области работы с базами данных. Даже если мы не работаем с изменениями уровня базы данных в программной системе, важно иметь базовые знания о базе данных. База данных широко используется для манипулирования данными. База данных SQL, NoSQL или Graph; разработчик должен решить и изучить хотя бы одну систему баз данных в зависимости от своих потребностей.

Инструменты разработки

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

  • Иды
  • Редакторы
  • CLI
  • IIS

В жизненном цикле программного обеспечения мы, разработчики, будем иметь дело с различными инструментами для выполнения и завершения нашей задачи. Разработчики должны хорошо разбираться в выборе инструментов и работе с ними.

Мы будем иметь дело с различными инструментами, такими как инструменты создания SRS, IDE для кода, редакторы для быстрого редактирования или подготовки документации, CLI, компиляторы, система сборки, непрерывное развертывание и т.д. модуль в полном жизненном цикле разработки программного обеспечения.

Отладка

Отладка - это искусство, если ты разбираешься в отладке.

  • Возможность отследить проблему
  • Пошаговая отладка
  • Использование операторов печати
  • Регистрация ошибок

Для меня отладка - очень интересная часть разработки. Отладка поможет нам узнать больше нового, чего нет в большинстве популярных книг по программированию. Это длинная цепочка непрерывного процесса обучения.

Отладка станет очень сложной, если вы имеете дело с программой, имеющей плохую документацию или неуправляемый код.

Каждая IDE придумывает новые методы отслеживания значений или состояния программы во время отладки в каждом ее выпуске. Проще говоря, отладка - это понимание различного состояния программы с различными входными данными с разными интервалами. Формальное слово «отладка» означает выявление и устранение ошибок в (аппаратном или программном обеспечении компьютера).

Защитное программирование

Защитное программирование - это форма защитного дизайна, предназначенная для обеспечения непрерывной работы программного обеспечения в непредвиденных обстоятельствах. Практики защитного программирования часто используются там, где требуется высокая доступность, безопасность или защищенность.

  • Это форма защитного дизайна, предназначенная для обеспечения непрерывной работы программного обеспечения в непредвиденных обстоятельствах.
  • История:
  • 21 сентября 1997 года ошибка деления на ноль на борту диспетчера удаленной базы данных USS Yorktown (CG-48) вызвала отключение всех машин в сети, в результате чего двигательная установка корабля вышла из строя.

Ссылка: https://en.wikipedia.org/wiki/USS_Yorktown_%28CG-48%29

Заставить программное обеспечение вести себя предсказуемым образом, несмотря на неожиданные входные данные или действия пользователя. Разработчик должен убедиться, что модули, которые мы кодируем, должны обрабатывать большинство возможных исключений. Однако излишне защитное программирование вводит ненужный код для ошибок, которые даже не могут произойти, что приводит к потере времени выполнения и затрат на обслуживание. Также существует риск того, что код перехватит или предотвратит слишком много исключений, что может привести к незаметным ошибочным результатам.

Участие

Хороший способ чему-то научиться - это научить или рассказать об этом.

  • Участие в онлайн-форумах по программированию
  • Помогут ли нам в обучении форумы по программированию?

Если вы никогда не участвовали в форумах по программированию в Интернете, просто начните. Сейчас подходящее время для начала, тысячи людей ждут, когда вы обсудите различные темы, на которые вы сможете ответить.

Помогут ли нам в обучении форумы по программированию? Короткий ответ, да.

Мы не можем найти решение всех проблем из официальной документации или службы поддержки продукта. Онлайн-форумы помогают разработчикам обсуждать различные проблемы по всему миру.

Я думаю, что охватил некоторые основные вещи, которые разработчик программного обеспечения должен знать, основываясь на моем опыте. Было бы неплохо, если бы ребята добавили что-нибудь в этот список. Пожалуйста, опишите их в разделе комментариев ниже. Давайте проведем полезное обсуждение. Участие - самая большая часть обучения.

Удачного обучения!

Если вам понравился этот пост, нажмите значок хлопка в ладоши (при желании вы можете сделать несколько раз) и нажмите кнопку подписки ниже, чтобы получать больше обновлений .