Успех в неудаче

На своей первой работе в качестве разработчика Swift я сделал коммит без надлежащего тестирования кода (эй, использование разработки через тестирование — одно из свойств отличной компании по разработке программного обеспечения) и запаниковал, так как не мог вспомнить изменения, которые я внес. д сделал. Мне придется переписать большие разделы приложения, чтобы вернуться к тому, что было в начале дня. Беспокойство не сильно помогло мне, хотя я выдерживал несколько более долгих ночей, чтобы сохранить свою работу.

Я боролся с этим не только потому, что не знал лучше, но я не понимал, что Git может мне помочь. Есть даже сайт, который подскажет, что делать в такой ситуации — https://dangitgit.com.

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

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

Все совершают ошибки.

Старшинство не помогает.

Все совершают ошибки.

Итак, давайте рассмотрим стратегию для этих ошибок и как извлечь из них максимальную пользу.

Этап 1: ошибка

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

Это не помогает.

Файл по-прежнему удален / ошибка компиляции все еще присутствует / ошибка кажется неисправимой / машина не запускается / она просто не работает

Вам нужно глубоко дышать.

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

Точно так же людей редко увольняют из-за одной ошибки. У людей бывают плохие дни. Ваш менеджер привыкнет к тому, что что-то не работает, а разработчики что-то ломают.

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

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

Этап 2: разберитесь с проблемой

Разбиение проблемы на составные части — фантастическая стратегия решения проблем.

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

Всегда помните, что отладка — это только один инструмент в вашем арсенале. Много кодирования связано с пониманием вашей IDE и правильной конфигурацией.

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

Этап 3: Общение

Иногда проблема даже не в вашей вине. На этой неделе я пытался отправить свой код в конвейер, но это не сработало. Почему? Раб был офлайн.

Откуда мне знать?

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

Решение?

Спросите правильного парня!

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

Что, если вы единственный разработчик iOS, и ваша проблема связана с iOS?

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

Что делать, если вы единственный разработчик в вашей организации?

Было бы лучше не быть в этом положении. Тем не менее, есть встречи разработчиков. Есть Твиттер. Для конкретных проблем существует стратегия Отладка резиновой уточки, когда проблема объясняется построчно, как будто уточка вам поможет.

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

Урок:

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

Этап 4: Инструменты

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

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

Этап 5: Познание себя

Ваши логические ошибки будут продолжать всплывать. Если вам нужен истинный математический модуль (% в Python), вы продолжаете использовать неправильную функцию в Swift. Затем вы решаете добавить свой собственный фреймворк с этой и другими функциями, которые вы часто используете.

Вывод

Неудача — первый шаг к успеху. Извлечение уроков из наших неудач дает нам реальную основу для роста и совершенствования.

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