8 шагов к плавному программированию

Программисты умеют копировать и вставлять только из StackOverflow; это ходовая шутка не так ли? Это смешно в том же смысле, что и утверждение, что все, что делают писатели, — это копируют и вставляют слова из словаря. Это правда, но в то же время это не все правда. В этой статье я хочу разъяснить, что является StackOverflow, чем он не является и как и когда использовать его в способ, который поможет вам быстрее продвигаться вперед в ваших проектах по программированию.

Что это не так?

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

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

Так что же это?

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

Чтобы понять, что это значит, давайте вспомним, что словарь состоит из трех важных частей: слова, определения и примеры употребления, причем последний StackOverflow в основном используется для. Итак, давайте разделим их на части в мире программирования:

Слова и определения

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

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

Вот пример; в разработке для Android компонент, используемый для эффективного отображения длинного списка элементов, называется RecyclerView, и он использует так называемый адаптер для отображения элементов. В iOS вы можете использовать UITableView или UICollectionView, а те используют делегаты и источники данных для отображения элементов.

Намного проще искать, как использовать RecyclerView, чем искать, что используется для эффективного отображения длинного списка элементов в Android, что подводит нас к основному использованию StackOverflow.

Примеры использования

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

Например, RecyclerView можно использовать с элементами одного типа или с несколькими типами, некоторые из этих элементов могут быть кликабельными, перемещаемый, расширяемый, съемный или вставляемый, все из которых могут иметь изображения , ввод текста, анимации,эффекты ряби и/или высоты. Кроме того, эти элементы можно получить локально, с внутреннего сервера или отправить данные на внутренний сервер, и это только верхушка айсберга. Когда вы начинаете рассматривать сложную комбинацию всего вышеперечисленного, все может стать сложнее, и здесь на помощь приходит StackOverflow.

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

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

  1. Перейдите прямо к документации. Если ваша проблема достаточно проста (скажем, вы новичок в программировании), то, скорее всего, вы найдете ответы прямо здесь и сейчас.
  2. Если вы не можете найти ответ, хотя бы попробуйте узнать, какие "слова" (например, RecyclerView) вам понадобятся для решения этой проблемы.
  3. Попробуйте реализовать решение, поэкспериментировав с этими словами и максимально приблизившись к решению.
  4. Ищите именно то, что вам не удается сделать, в StackOverflow (или в Google, он все равно приведет вас к StackOverflow).
  5. Вероятно, вы найдете много вопросов и много ответов, в которых будут частички того, что вам нужно, или, по крайней мере, они вдохновят вас на правильное решение, и, скорее всего, в этот момент вы только нужно немного изменить ваше решение.
  6. Если вы найдете то, что ищете, не забудьте отдать должное там, где это необходимо, в виде ссылок с комментариями в кодовой базе.
  7. Если вас вдохновило решение, о котором больше никто не говорит, приложите дополнительные усилия, чтобы помочь сообществу, написав об этом.
  8. Если у вас все еще не получается, поспите на нем, затем промойте и повторите.

Последние мысли

StackOverflow стал неотъемлемой частью любого программного проекта, независимо от того, насколько вы опытны. Я написал эту статью, потому что считаю очень важным знать, когда и как использовать StackOverflow, особенно если вы новичок!

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