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

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

Практика разработки программного обеспечения развивалась с годами, но может возникнуть ситуация, когда временная петля станет неизбежной. Столкнувшись с непростой задачей, некоторые из нас иногда склонны подталкивать чертежную доску ко второму шагу. Мы начинаем настраивать базовый код в первый день, как только получаем требование. Спустя годы, с опытом, наш разум начинает разрабатывать код (классы, сторонние библиотеки, плагины для использования и т. Д.), Как только мы видим требования на бумаге.

Почему мы пишем код в первый день?

Небольшие изменения или обновления

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

Опережая время

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

Мне нужно сообщить обновленную информацию о моей задаче.

Каждое требование требует времени на анализ, проектирование и разработку. Один мудрый менеджер однажды сказал мне: «Тебе нужно подумать, прежде чем твоя команда сможет начать писать код». Акцент был сделан на выполнении анализа и предоставлении команде простого дизайна кода. «Браво», которое вы получаете от своих коллег за кодирование в первый день, ничего не значит, если мы продолжаем изменять наш код и не успеваем в срок. В некоторых случаях бравада может дорого обойтись.

Вещи, которые мы теряем при кодировании в первый день.

Время на анализ и дизайн

да. Анализ и дизайн кода - это вещь. Это не клише. Во внутренней борьбе со временем мы часто забываем делать очевидные вещи. Мы не тратим достаточно времени на анализ и проектирование, когда уходим от начальной точки.

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

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

  1. Есть ли у меня все необходимое для программирования?
  2. Есть ли недостающие звенья в данных требованиях?
  3. Требуются ли какие-либо обновления в будущем?

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

Я занимаюсь рефакторингом кода. Правда?

Допустим, вы начинаете писать код в первый же день и начинаете работать с большой скоростью. Что происходит, когда функциональность не работает должным образом или обнаруживается ошибка во время тестирования продукта. По своему опыту я обнаружил, что чаще всего это происходит из-за того, что я не уделял достаточно времени анализу / дизайну. Классы больше не нужны, компоненты должны были быть в другом пакете и так далее. Вы уловили суть. Удачи с дополнительным Техническим долгом в будущем :). Люди часто называют это рефакторингом, потому что они пропустили анализ и проектирование.

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

Надежность

Написание кода без готового дизайна похоже на навигацию по морю без карты и компаса. Вместо того, чтобы создавать надежный код, есть большая вероятность, что мы получим что-то, что соответствует письменным требованиям - слышали когда-нибудь о неявных требованиях? Код, поддерживающий предполагаемую функциональность, не сообщает вам автоматически, что код соответствует стандартам. Способность понимать код после месяцев (и нескольких лет) разработки - ключ к хорошей разработке программного обеспечения. Хорошо работающее программное обеспечение прямо или косвенно увеличивает доход почти в 100% случаев.

Вывод

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

С Новым годом и счастливым кодированием!