В процессе работы программист пишет код, скрипты интересные и полезные функции — фрагменты кода, которые пишет/находит впервые и они помогают решить сложную проблему. Такое происходит у каждого программиста.

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

Хорошо, если проект ещё жив, у Вас актуальные доступы к нему (или у Вас есть локальные файлы проекта), но долго. Вы тратите время на поиск того, что уже сделали.

В конце концов приходит понимание, что интересные фрагменты кода могут Вам ещё пригодиться и их следует куда ни будь сохранять. Даже если речь о паре строк кода.

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

Сохранение фрагментов кода в .txt файл

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

Файлы .txt преобразуются в файлы с расширением языка (чтобы иметь подсветку синтаксиса), например .js. Загружаются в облачное хранилище, чтобы иметь доступ к ним с разных компьютеров (я использовал Dropbox, но встречал тех, кто для данных целей использует GitHub).

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

Именно так у меня и произошло, мне нужно было более удобное и современное решение.

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

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

В общем, окей Google куда мне запихнуть свою коллекцию фрагментов кода? (в задницу, ловлю твою мысль мой любимый читатель).

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

Он предназначен для хранения фрагментов кода, в личных целях или чтобы поделиться ими с коллегами. Для доступа к нему у Вас должен быть аккаунт GitHub.

Здесь можно создавать гисты (как категории), а в них файлы, для отдельных фрагментов кода. Удобно, есть категории, есть отдельные файлы, можно следить за изменения, можно делать как публичные гисты, так и приватные.

Но лично мне кое чего не хватало: тегов, удобной навигации и поиска.

Данные проблемы гиста решают сторонние сервисы и программы, которые расширяют его.

{ Gisto }

Первым мне встретился { Gisto } — это веб-клиент, а также программа для работы с Gist.

{ Gisto }

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

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

Code Notes

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

Lepton

Lepton — мой кумир для работы с GitHubGist. Удобный интерфейс, заголовки, теги, языки, поиск и ничего лишнего 10 из 10 рекомендую.

Собственно на этой программе для работы с GitHubGist я остановил свой выбор.

Lepton

Сейчас все мои фрагменты кода, функции и т.д. хранятся в GitHubGist, а я имею быстрый и удобный доступ к ним через Lepton. Я могу в любой момент добавить новый фрагмент кода или отредактировать старый.

Надеюсь данная статья поможет Вам и вы отойдете от хранения кодов в Блокноте и будете пользоваться современными и удобными решениями.