В вашем городе DevEducation еще не открыт. Посмотрите, в каких городах вы уже можете пройти наши курсы!
Смотреть
All

Три важнейших принципа разработки ПО

Правила нужны, чтобы их нарушать. Но и нарушать тоже нужно с умом! Старые и проверенные законы кода стоит знать всем, кто хочет стать профессионалом в IT. Рассказываем обо всем по порядку!

 

Все, что нужно знать о разработке

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

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

 

DRY — не повторяйся или Do not repeat yourself

Большинству разработчиков этот принцип известен под акронимом DRY. Впервые он появился в книге «Программист-прагматик», хотя сама идея используется давно.

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

К примеру, вы создаете сайт. Одна сторона сайта — его программная часть или бэкенд. Он состоит из множества компонентов: взаимодействие с сервером, работа с данными. Каждый компонент делится на более мелкие фрагменты, а те, в свою очередь — на небольшие участки кода. Элемент, который уже невозможно разбить на части, будет основой всей системы. Это алгоритм — фрагмент, который отвечает за одну конкретную функцию.

Правило DRY гласит: каждый алгоритм должен встречаться в коде только один раз. Любой элемент данных должен иметь очевидное и четкое представление в проекте. Так программист может управлять сложностью системы и предупредить проблемы разработки.

 

4 причины следовать DRY

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

 

KISS — упрощайте или keep it simple stupid

Многие помнят слова Эйнштейна: «Все должно быть сделано максимально просто, но не проще». Его научная карьера доказала — это правило работает в 99% случаев.

В XIX веке физики искали ответы на вопросы: как действуют магнитное поле и гравитация? Что такое время? Ученые вывели теорию эфира — вещества, которое влияет на все силы в галактике. Придумали термин, но не дали ему четкого определения. Годы шли, но никто так и не добрался до сути проблемы.

И только в XX веке Эйнштейн предложил отказаться от этой теории, забыть про расчеты и принять время как относительное. Такое решение было самым простым — и оно же оказалось самым верным!

Идеальным примером реализации KISS в разработке считается протокол HTTP. Программисты используют его давно и еще не придумали ничего удобнее и надежнее.

Упростить систему не так сложно, как кажется. Просто найдите три лишних элемента и удалите их из проекта:

  1. Элемент, который сильно зависит от другого.
  1. Фрагмент, который стоит дорого, но приносит мало пользы.
  1. Элемент, который точно будет расти и усложняться.

 

YAGNI — вам это не понадобится или you’re not going to need it

Самое дорогое в разработке — это время программиста. Любая новая функция стоит денег. В процессе работы над проектом трудно удержаться от желания обновить функционал, добавить интересные фишки или новую фичу. При этом у каждого проекта есть бюджет, а дополнения выходят за его границы. В этом и смысл правила YAGNI — система не должна обрастать лишними деталями. То, чего не было в плане, не должно появиться и в проекте.

Работа над приложениями отлично описывает принцип YAGNI. К примеру, ваша цель — создать простое дейтинг-приложение для iOS. Можно выполнить главную задачу приложения на отлично, уложиться в сроки и не растратить деньги. А можно добавить платную функцию, которой воспользуются 5% пользователей, и потратить на нее львиную долю бюджета.

Принципы DRY, KISS и YAGNI похожи друг на друга. Все три служат одной цели — упрощают задачу, берегут время разработчика и деньги бизнеса. Только первый принцип делает это, разделяя систему на части, второй — упрощая суть вещей, а третий избавляет проект от всего лишнего.

Иногда действовать против правил полезно — без этого не бывает инноваций. Порой только неправильное решение может дать пользователю то, что ему действительно нужно. Научитесь следовать принципам и нарушать их, когда необходимо, и вы точно станете востребованным разработчиком!