Как решать трудные задачи при разработке?

К

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

Как решать трудные задачи при разработке? Не сдаваться!

Самый плохой путь, который никогда не поможет что либо решить — сдаваться. Банальная фраза, не так ли? Но с другой стороны, не сдаваться — это действительно трудно. Это на самом деле очень сложно, если вы не в состоянии решить проблему.

Легко сказать «Это невозможно!», и бросить все — и это приговор для задачи, который выносят разработчики по всей Земле ежедневно. Хуже этого может быть только ваша фраза: «Думаю, эту проблему можно решить, но я не достаточно хорош для этого». Оба варианта почти всегда несправедливы. Не пытайтесь делать проблему вашей персональной. Вместо этого, рассмотрите все это как возможность и шанс стать лучше в этом вопросе. Если поставить эту цель, вырасти и добить проблему — то это наверное будет лучшее чувство на свете.

Как решать трудные задачи при разработке? Поговорите о проблеме с другими

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

Представьте, что вы тщетно пытаетесь найти причину вылета приложения. Более того — вы не можете воспроизвести проблему, что усложняет ее. Вы пытаетесь разобраться, пытаетесь вчитываться в каждую строку кода. Может быть какой то массив переполняется? Может быть я обращаюсь к неинициализированному объекту? В отчаянии вы обращаетесь за помощью на тот же stackoverflow или в наш паблик на стену (=)). И тут вам отвечает человек, который только начал учиться и пока что только успел прочесть нашу статью о NSBlockOperation. И он отвечает: «это похоже на проблему с многопоточностью». И тут вы понимаете, что все это время искали не там и исправляете проблему за 2 минуты.

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

Как решать трудные задачи при разработке? Посмотрите с другой стороны

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

Представьте, что вы разработали алгоритм. Вы видите что алгоритм работает, но общая производительность приложения очень плохая. Затем вы пытаетесь оптимизировать сам алгоритм. Но может быть не алгоритм является проблемой? Что, если он работает плохо только в данном контексте, а в остальном приложении он работает исправно? Если бы вы вышли из контекста, вы могли бы определить гораздо более быстрый способ увеличения производительности.

Как решать трудные задачи при разработке? Сделайте перерыв

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

По себе знаю, что это очень эффективный метод решения проблем. Год назад я 12 часов сидел и думал над очень сложным алгоритмом. И я пошел спать, так и не приблизившись к проблеме ни на шаг. Утром я не успел еще глаза открыть, как сидел у монитора и за 10 минут написал нужный мне алгоритм! Это единичный пример из множества, но вывод один: пока мы отдыхаем, мозги «становятся на место» =)

Как решать трудные задачи при разработке? Пробежаться и принять душ

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

Поддержите ресурс blog.justDev:

Сведения об авторе

Игорь Малеваный

Добавить комментарий

Instagram

Поддержите ресурс blog.justDev:

Свежие записи

Рубрики