Как вы помните программирование связанных вещей? Было ли у вас ощущение, что вы столкнулись с ошибкой, которая была у вас до этого прямо сейчас, несколько лет назад, и вы могли поклясться, что знали причину тогда, но теперь вы ее забыли?
Работали ли вы с разбором строки xsl некоторое время назад, но теперь вы не можете вспомнить, какие именно строковые функции вообще взяты из xsl, и вам нужно начинать с нуля? Или, возможно, вы забыли о какой-то функции Apache Commons, такой как «фильтрация коллекции по некоторому предикату», которую вы наверняка использовали в прошлом.
Итак, как вы это делаете? Я пытался вести блог, но когда я разрабатываю приложения, я не могу найти время, чтобы обновить блог или написать о своем опыте. Кроме того, использование вики - это хорошо, но потом мне было трудно поддерживать четкое разделение между ними, так как много раз мне приходилось менять пост в блоге, чтобы добавить новую информацию по этой теме. Это заставило меня подумать, что я действительно должен был поместить эту тему в вики, а не в блог.
Есть ли у вас системы, которые помогут вам вспомнить ваш опыт программирования? Каковы ваши настройки?
источник
Ответы:
Забывать вещи это нормально. Не помнить некоторые уловки, которые помогли вам в прошлом, это тоже нормально. Это первый шаг, который нужно признать. Тогда есть несколько способов, которыми вы можете «хранить» знания для дальнейшего пересмотра:
источник
Мой ключ
разнообразие
Повторение. Однажды может быть мимолетным. Видя сотое вхождение имеет значение!
Память пальцами . Я помню код гораздо лучше, когда на самом деле набрал его несколько раз.
Библиотека кодов - сохраняйте личный запас кода и приемов, которые вы использовали и видели.
Централизация. Я храню 1 файл со всеми своими именами (сотнями) на 1 ПК. Я применяю безопасность к нему.
Дисциплина - вы упомянули, что у вас нет времени / усилий для обновления собственного блога и т. Д. Над этим вам нужно больше работать и убедиться, что вы это делаете.
Принятие - навыки и приемы и вещи, которые вы изучили за последнюю неделю, будут свежими. Трудно запомнить некоторые из предметов, которые вы говорите 3 года назад. Это нормально, так как мозг создает место для большего.
Множественные чувства - иногда я использую мнемонику, иногда я опускаю картинку с ключевыми понятиями, нарисованными особым образом. Я читаю, слушаю подкасты, смотрю видео, использую цвет в редакторах. Чем больше смысла я использую, тем лучше.
Мнемоника , например, css border order Tarball (TaRBalL) TopRightBottomLeft. Я также использую цвета и формы, чтобы запомнить слова и темы. Часто чем страннее, тем запоминающе!
Продолжение использования - это эффект «используй или потеряй». Все знания исчезают со временем. Time ++ Fade ++
Сеть обмена стеками - я использую переполнение стека в нескольких областях, чтобы попытаться сохранить как можно больше различных навыков и техник «актуальными» и «запомненными», даже если я не использую их в своей текущей работе / проекте.
Dropbox - я храню небольшие файлы с элементами памяти
Книги - я все еще люблю дураков и чувствую физические книги. У меня также есть несколько разжиганий и другие технические книги, которые я могу найти где угодно. Очевидно, что моя техническая библиотека может быть доступна где угодно, когда она цифровая, что огромно.
Эффект Google - ни один список элементов не будет полным без упоминания об этом. Это больше о том, что вам не нужно помнить - потому что вы можете найти его в Google. Это тоже важное соображение. По мере того, как все больше людей становятся более искусными в этом способе получения знаний, необходимость фактически запоминать любой данный факт падает. Однако это также «поднимает планку» для работников умственного труда, которые все больше и больше находят, что глубокое концептуальное понимание требуется для выполнения в текущей среде. Конечно, что для CME !
Мой собственный блог
Мой собственный сайт закладок .
источник
За последний год Evernote стал программой, без которой я не смог бы обойтись. Я копирую все в Evernote. Код Snippeds, Скриншоты, Контактные данные, История версий и так далее. Поэтому мне не нужно запоминать так много деталей. Я просто знаю, что где-то там.
Базовая версия бесплатна. Так что попробуйте!
источник
Шерлок Холмс однажды сказал что-то вроде: «Ум человека похож на чердак. Если вы наполняете его мелочами, не останется места для чего-то действительно важного. Для всех этих деталей у нас есть энциклопедия».
Если у вас нет фотографической памяти и проблем в ней, вы не будете все помнить. Создайте набор ресурсов, личную библиотеку информации и методов решения проблем.
Возможно, вы не помните ответ и даже не помните, где записан ответ. Но, если вы знаете, как решить проблему, то вы всегда можете найти ответ снова. Надеемся, что это будет включать документирование вашего решения с возможностью поиска и повторного использования.
источник
Ну, может быть, мой случай особенный ... но: у меня есть все клочки программного обеспечения, которые я написал с 76 лет на моем ноутбуке, программы, скрипты, конфигурации и т. Д. Поэтому со временем (должен признаться), моя память переместилась с запоминания ' вещи, чтобы помнить метаданные о вещах. Конечно, многое из этого больше не актуально, но то, что я нахожу, заключается в том, что сложная часть - это идеи, а не их реализация. Таким образом, метаданные - это в основном указатель того, где «идеи» можно найти.
Когда я попадаю на новый уровень, в настоящее время я стремлюсь найти какую-то большую кодовую базу, которая использует новые аспекты, и трачу некоторое время на качественную базу кода. Я изучаю его, пытаюсь заставить его работать в тестовой среде, затем пытаюсь дополнить его, чтобы я мог освоить новые инструменты (библиотеки, языки, технологии сборки и т. Д.). Этот процесс позволяет мне наметить мои образцы, идеи, на пример. Я могу потратить некоторое время, чтобы сделать несколько таких мини-проектов, и выбрать в качестве примера тот, с которым я чувствую себя как дома. Как только это будет сделано, я в конечном итоге переназначу эту кодовую базу для создания каркаса моих собственных приложений.
Когда личные архивы терпят неудачу, я попадаю в сеть, к которой недавно добавил SO. Я пойду на «новые» концепции (новые с личной точки зрения) на SO до gaagle. На самом деле, я редко (в настоящее время) возвращаюсь в гагл. Первый соответствующий ответ, как правило, содержит ссылку на некоторые интересные вопросы по SO.
источник
Как и другие, я отслеживаю вещи, используя закладки.
Раньше я использовал Delicious, но теперь перешел на Pinboard.
Но я пользуюсь не так часто, как раньше. Кажется, что каждая проблема с программированием, с которой я сталкиваюсь, - это небольшой поиск в Google. И в прошлом году я начал использовать Stackoverflow в качестве одного из моих поисковых запросов!
Всякий раз, когда я задаю такой вопрос для особенно сложной проблемы, мне нравится отслеживать его, так что это еще одна форма закладки.
источник
Совершенно нормально не помнить мелкие детали. Однако то, о чем вы должны беспокоиться, это забыть главные вещи. Если вы исправили ошибку, вы должны хотя бы иметь концептуальное представление о том, что это за проблема.
Закладки, блоги, записные книжки - все это хорошо для хранения этих мелких деталей. Но в конечном итоге вам все равно нужно помнить большую «картину». В противном случае вновь обнаружить эти «более тонкие» детали будет гораздо сложнее.
источник
Держите свои собственные заметки, выражая вещи своими словами. Ваша целевая аудитория - это вы , никто, так что вы можете позволить себе быть кратким. (Однако сообщение в блоге действительно должно быть четким и хорошо отредактированным, что отнимает много времени.) Если вы найдете хорошие статьи / посты блога, запишите URL-адрес, но все же объясните все своими словами.
Я держу большую иерархию маленьких, коротких, одно-тематических файлов. Файлы в основном в свободной форме, но я переключаюсь на использование Markdown. Поиск с использованием grep / find. Я храню папку в своем DropBox, поэтому она всегда доступна для меня.
источник
У каждого может быть свой стиль, к которому он / она привык, Для меня я разделяю знания по категориям:
книги
статьи
Коллекции (Вещи, которые мне интересны, ограничены несколькими параграфами - я на самом деле копирую информацию и иногда аннотирую источник) - Например: OODevelopment, Generics и т. Д.
Повторно используемый код (текст и фрагменты) - каждый в отдельном файле в хорошей древовидной организации. Например, узел DataValidation будет содержать много методов для проверки различных элементов данных, каждый в отдельном файле.
Завершенные проекты
Персональные видеоуроки (я иногда записываю видео о том, как делать что-то, когда слишком много шагов).
связи
Я организую вышеупомянутое по предмету, с каждым предметом в соответствующей древовидной структуре.
Иногда бывают разные вещи, но мне удается найти то, что я хочу.
Кроме того, с помощью Google Desktop поиск текста или файлов выполняется очень быстро.
источник
Я использую OneNote. У меня много разных языков программирования, с которыми я работаю, поэтому у меня есть разные разделы для каждого языка и разные вкладки для разных типов заметок.
Теперь я также начинаю использовать Stack Exchange.
источник
Вы должны быть сбалансированы между памятью и «хранением». Если вы слишком полагаетесь на неправильные вещи в памяти, == проблема, если вы слишком полагаетесь на хранение всего == бесполезного.
Мои правила:
-Не более чем украсить! напишите важные вещи, даже если размер шрифта варьируется в вашем документе :)
-Не переусердствуй. Убедите себя, что для начала ваших мыслей нужна древовидная структура с 10 уровнями
-Потратил ВРЕМЯ на поиск того, что записать. Вы можете найти 5 решений для той же проблемы. В тот момент, когда вы пишете их ВСЕ, вы теряете. Запишите 1-2, которые действительно помогут вам. НЕ позволяйте себе сказать, что у вас нет времени на это сейчас. Это довольно странно, но это относится: «Потратил время, чтобы получить время»
Мне не нравится помещать эти вещи в какой-то «продукт», потому что я хочу быть уверенным, что он будет существовать 20 лет спустя, и я не хочу переходить на разные платформы.
Так что делать?
Все, что вы можете получить информацию с минимальными усилиями.
Например, установите phpBB и напишите себе. вы получаете функцию поиска из коробки, она бесплатна, и вы можете извлекать данные с помощью простых операторов SQL и помещать их в файлы. у вас может быть cronjob, экспортирующий ваши мысли в файлы для архивирования. Поэтому, если вам когда-нибудь понадобится поместить их в другую систему, вы готовы с минимальными усилиями.
Другая проблема заключается в том, что никто не гарантирует, что ссылки, которые вы найдете, будут работать завтра (представьте 5 лет спустя). Поэтому попробуйте скопировать информацию:
-Загрузите видео с некоторым расширением браузера и прикрепите его, например, к вашей записи phpBB (или WordPress или что-то еще).
Посмотрим правде в глаза: вы программист, и вы делаете приложения для других людей. Сделайте простой для себя и станьте ВАШИМ лучшим клиентом.
мой 2с
источник
Краткий ответ:
Практика, практика, практика.
Краткий ответ:
Как вы помните, как ходить? Как вы помните, как говорить? Да, эти навыки не совсем одинаковы и не требуют, казалось бы, энциклопедических знаний (по крайней мере, для начинающих), но вы используете то же самое: память.
Хотя я признаю, что для начинающих программирование может показаться невероятно большим предметом, когда вы начинаете его изучать, но оно становится таким же, как и любой другой предмет, когда вы освоили основы.
Как только я понял это, я начал разбивать вещи на все более мелкие кусочки (моя собственная, личная версия абстракции). Таким образом, то, что казалось трудным для запоминания, становится легче (по крайней мере, у меня это получается)
Записывать вещи помогает больше, чем вы думаете (работая в сфере образования, я знаю, что это может оказать огромное положительное влияние на удержание). Особенно, если вы можете выразить это своими словами, а не просто дословно копировать. Если вы можете перефразировать или приравнять это к тому, что вы уже знаете, даже лучше.
Например: в C # объекты String являются неизменяемыми. Это означает, что всякий раз, когда я говорю своей программе изменить содержимое строкового объекта, в действительности происходит уничтожение исходной строки (технически она помещается на самый низкий уровень сборщика мусора). Точно так же, как когда художник делает ошибку при создании мраморной скульптуры - ее нельзя изменить, поэтому она разрушена и создана новая.
Это не хороший пример, но он показывает основы того, к чему я стремлюсь.
Качественная документация тоже помогает. То, что однажды сказал мне мой лектор по программированию, застряло со мной:
Хорошие книги тоже отличный ресурс. Другой преподаватель однажды сказал мне, что если у книги нет индекса (а их там много, то этого нет), покупать его не стоит.
Google может быть удивительным ресурсом, но помните о кодировщиках копирования и вставки. Держитесь подальше от сайтов, которые просто дают вам блок кода без объяснения причин. Я предпочитаю прочитать целую статью о небольших блоках кода, чтобы вы ушли, зная, что именно должен делать блок кода, как он это делает и почему программист написал его таким образом.
надеюсь, это поможет
источник