Так что, полагаю, я не единственный. Мне интересно, есть ли другие, кто собрал личную библиотеку кода. Что-то, что вы берете с работы на работу, с примерами передового опыта, вещами, которыми вы гордитесь, или просто обычными методами, которые вы используете снова и снова.
Я только недавно начал свою библиотеку C#. В нем уже довольно много мелких предметов. Общие проверки регулярных выражений, интерфейсы для обработки исключений, некоторые перегрузки преобразования типов, оболочки перечислений, методы обнаружения SQL-инъекций и некоторые общие пользовательские элементы управления с примерами набора инструментов AJAX.
Мне интересно, какие вещи у вас есть?





Я обнаружил, что использование Snipplr делает это невероятно удобным. Вы можете пометить элементы, сохранить избранное, выполнить поиск по ключевым словам и т. д. Я в основном использую его для сниппетов, связанных с Vim (общие команды, файл vimrc и т. д.), Но его можно использовать для чего угодно. Проверить это.
Поскольку я в основном занимаюсь веб-разработкой, я абстрагировался от некоторых общих функций, которые в конечном итоге часто выполняю на сайтах для клиентов.
Ajax Emailer. Почти на каждом сайте, над которым я работаю, есть контактная форма. Я написал служебную программу, которая позволяет мне размещать HTML-код на странице с проверкой полей JavaScript, и библиотеку PHP, которая требует от меня изменения нескольких параметров для работы с почтовым сервером каждого клиента. Единственное, что мне нужно писать, - это CSS каждый раз, когда я добавляю его на страницу.
Генератор скелета таблицы стилей. Я написал небольшую утилиту JavaScript, которая просматривает DOM для любой страницы, на которой она была включена, а затем заменяет действительный скелет CSS, чтобы я мог немедленно начать писать стили, не выполняя повторяющуюся задачу для каждого сайта, над которым я работаю.
Синтаксический анализатор строки запроса JavaScript. Иногда мне нужно проанализировать строку запроса, но это не гарантирует каких-либо серьезных изменений на сервере (например, установки PHP), поэтому я написал общую утилиту JavaScript, которую я могу легко настроить для каждого сайта.
У меня есть и другие утилиты, но они как бы собраны вместе для личного использования. Мне было бы неловко позволить кому-нибудь увидеть источник.
Несколько человек просили в комментариях мой генератор скелета таблицы стилей, поэтому я даю ссылку на проект здесь. Это более или менее основано на том, как я структурирую свой XHTML и форматирую свой CSS, но, надеюсь, вы найдете это полезным.
Вау, я полностью согласен с Крисом. Ваше собственное мнение, конечно, но было бы очень любезно :)
Я также собирался попросить парсер строки запроса js, потому что мне скоро понадобится что-то подобное. Если это кого-то заинтриговало, я нашел здесь неплохой код для решения этой задачи: groups.google.com/group/jquery-en/browse_thread/thread/…
Я использую свою вики, где размещаю фрагменты кода и комментарии.
Я считаю это более полезным, чем наличие собственной библиотеки. А поскольку это, по сути, заметки, а не полные программы, нет проблемы с тем, кому принадлежит код (вам или вашему работодателю).
PS: Я не скрываю этого от своего работодателя. На самом деле большинство из них были положительными и даже попросили копию.
@Luka Какое-то время я использовал вики, чтобы хранить личные заметки, отрывки и т. д. О том, что я делал на работе; однако в конце концов я перешел в Google Docs, чтобы сделать это. Тем не менее, я считаю, что иметь что-то подобное действительно полезно!
Если вас интересует личная вики, но вы хотите ее сейчас, посмотрите tiddlywiki.com
Еще во времена программирования на C в MacOS 7 я написал довольно обширную библиотеку объектно-ориентированных объектов (да, ООП в очень старом C) в основном для обработки диалоговых окон. Я отказался от него для PowerPlant (хороший C++ от Metrowerks) во время перехода с 68k на процессоры PPC.
Вскоре после этого я начал писать веб-приложения, сначала на PHP, а недавно на Django. В этом аспекте мой многоразовый код ограничен некоторыми трюками и стилем кода.
Но для всего, не связанного с сетью (или только с небольшими веб-компонентами), я использовал Lua. Писать и переписывать код настолько быстро, что повторное использование кода очень мало стимулирует. Я имею в виду, какой смысл копировать 10-строчную функцию, а затем адаптировать ее? его быстрее переписать только для этого проекта.
Это не так расточительно, как кажется. Код Lua настолько лаконичен, что мои приложения могут быть очень сложными, но редко содержат более пары тысяч строк.
В то же время несколько проектов Lua подразумевают взаимодействие с библиотеками C. Очень легко писать привязки к существующим библиотекам, поэтому я просто делаю это как подпроект. И именно эти модули я использую повторно! снова и снова ... с очень небольшими (если вообще есть) изменениями от одного проекта к другому.
Вкратце: не веб-проекты обычно представляют собой одноразовый код Lua и несколько часто используемых модулей привязки.
У меня есть несколько служебных функций MATLAB, которые я взял с собой при переходе от работы к работе, особенно те, которые обеспечивают соблюдение стандартов W3C на графиках, которые я делаю, чтобы гарантировать, что цвета текста и фона имеют хороший коэффициент яркости. У меня также есть функция, которая использует ActiveX для вставки фигуры MATLAB в PowerPoint.
Я храню свои личные библиотеки кода на CPAN. Я даже не знаю, как бы я сделал это на других языках. Это просто слишком интегрировано в то, как я сейчас думаю о программировании.
У меня есть моя личная кроссплатформенная библиотека C++: http://code.google.com/p/kgui/
Это LGPL с открытым исходным кодом, я использую его в своих хобби / волонтерских проектах. Я начал его около 3 лет назад и постепенно добавляю к нему функциональность.
В своей работе с PHP я начал с небольшого файла простых вещей: почтовой функции, которая проверяет ввод на предмет атак по заголовку, и валидатора электронной почты, входного srubber, и тому подобного. Со временем он превратился в платформу приложений для быстрой разработки одноразовых приложений, которые может создавать наш графический дизайнер.
У меня есть библиотека, которую я использую довольно широко. Я начал с C# заново и как бы выбросил все устаревшие вещи в окно. Я считаю их очень удобными и часто переписываю / реорганизую их (некоторые из них). Некоторые вещи, которые у меня есть:
Я написал быструю и простую библиотеку на Java, в которую я могу добавлять фрагменты кода. Я планирую в какой-то момент расширить его до полноценного фреймворка для разработки, но только когда позволит время. У меня есть все, от простых функций до полноценных страниц и функций. Его так полезно иметь при разработке, потому что все, что мне нужно сделать, как веб-дизайнеру, - это изменить CSS страницы.
Я использую библиотеку исходного кода из http://www.highdots.com/products/source-code-library/, так как могу управлять разными текстовыми файлами, заметками, снимками экрана и разными языками программирования.
Хотите поделиться генератором скелета таблицы стилей? Звучит очень интересно и полезно!