Вообще программист наверное должен с приобретением опыта вести такой своего рода дневник, такую личную библиотеку, в которой он накапливает мысли, идеи, решения, алгоритмы, подходы, куски кода, тьюториалы, библиотеки, ссылки, советы, методики и т.д. и т.п.
Внимание вопрос. Поделитесь пожалуйста опытом, если кто такую библиотечку ведет:
как вы ее организуете,
структурируете,
по каким принципам упорядочиваете информацию
и в каком формате ее храните, как выбираете форматы,
как добиваетесь единообразия оформления,
комментирования
и консервации информации (я имею ввиду: нет же смысла писать, какие пункты меню нужно нажимать, потому что с выходом новой версии это все равно устареет — как выделить нестареющую квинтэссенцию из полученного опыта?)
Приветствуется любая информация по этому поводу. Спасибо.
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Вообще программист наверное должен с приобретением опыта вести такой своего рода дневник, такую личную библиотеку, в которой он накапливает мысли, идеи, решения, алгоритмы, подходы, куски кода, тьюториалы, библиотеки, ссылки, советы, методики и т.д. и т.п.
КО>Внимание вопрос. Поделитесь пожалуйста опытом, если кто такую библиотечку ведет:
КО>
КО>как вы ее организуете,
КО>структурируете,
КО>по каким принципам упорядочиваете информацию
КО>и в каком формате ее храните, как выбираете форматы,
КО>как добиваетесь единообразия оформления,
КО>комментирования
КО>и консервации информации (я имею ввиду: нет же смысла писать, какие пункты меню нужно нажимать, потому что с выходом новой версии это все равно устареет — как выделить нестареющую квинтэссенцию из полученного опыта?) КО>
КО>Приветствуется любая информация по этому поводу. Спасибо.
через несколко лет будешь писать на другом языке, под другой ОС да и теми же средствами реализуешь одинаковую функциональность иначе (лучше)
Никак. Делать то, что ты описал,
наверное иногда полезно, но в целом мне лично скучно...
Опять же, зачем?
С другой стороны, если у кого-то опыта много и он хочет им поделиться с другими,
то он садится и пишет книжку.
Вот это проверенный способ аккумуляции и передачи опыта.
Есть и другие способы. FAQ, HOWTO и прочее — из этой же оперы.
L>Ты это серьезно?
Мужики, только не говорите мне, что у вас в IE (Opere, Netscape и т.д.) папка Favorites пустая, сорцы сданных проекты бесследно удаляются с винта в день сдачи, каждый раз при необходимости написать каркас MDI приложения вы его пишете заново с нуля, каждый раз, когда вам нужно зайти на сайт по ООП вы лезете в Гугл, слыхом не слыхивали, что такое репозиторий, и пишете иерархии классов с твердой уверенностью, что после сдачи проекта их можно будет смело убить???
Возможно я слишком педантично все это расписал в первом постинге — но какие-то элементы должны же быть? Я уже просто дозрел до того, что свои ссылки и сорцы нужно как-то тематически упорядочивать, а как это сделать разумно, я не знаю. Вот например, я когда-то долго разбирался в инете, как писать резюме, рекомендательные письма и т.д. Свалил все ссылки в кучу, а теперь понадобилось — а разобраться, что где лежит, сложно. Или понадобился мне например, Color Picker, который я когда-то писал, я его выдрал из старого проекта, а через две недели пришлось модифицировать старый — вопрос, мне что, обе версии модифицировать? Нутром чую, что информация должна существовать в единственном экземпляре, а как умные люди этого добиваются, не знаю.
Так что, народ? Вы хотите сказать, "чувак, не ети себе мозги"?
Или как?
Здравствуйте, bkat, Вы писали:
B>Никак. Делать то, что ты описал, B>наверное иногда полезно, но в целом мне лично скучно... B>Опять же, зачем?
Ну, например, я лет пять назад разбирался с конечными автоматами и регулярными выражениями. Нашел в сети литературу, сайты, примеры. Наработал что-то свое. Как мне это все законсервировать на будущее? Сейчас вот опять понадобилось — так что, опять разбираться по новой?
B>С другой стороны, если у кого-то опыта много и он хочет им поделиться с другими, B>то он садится и пишет книжку. B>Вот это проверенный способ аккумуляции и передачи опыта. B>Есть и другие способы. FAQ, HOWTO и прочее — из этой же оперы.
Это все да, но еще лучше — RSDN Можно просто свои ссылки опубликовать на RSDN, и делов. Проблема: если каждый начнет публиковать ссылки, которые он считает нужными, начнутся проблемы — станет тяжело быстро найти нужную ссылку. Хотя, хрен его знает...
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Здравствуйте, bkat, Вы писали:
B>>Никак. Делать то, что ты описал, B>>наверное иногда полезно, но в целом мне лично скучно... B>>Опять же, зачем? КО>Ну, например, я лет пять назад разбирался с конечными автоматами и регулярными выражениями. Нашел в сети литературу, сайты, примеры. Наработал что-то свое. Как мне это все законсервировать на будущее? Сейчас вот опять понадобилось — так что, опять разбираться по новой?
Скорей все да.
Только второй раз все пройдет быстрее, потому как опыт...
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Вообще программист наверное должен с приобретением опыта вести такой своего рода дневник, такую личную библиотеку, в которой он накапливает мысли, идеи, решения, алгоритмы, подходы, куски кода, тьюториалы, библиотеки, ссылки, советы, методики и т.д. и т.п.
КО>Внимание вопрос. Поделитесь пожалуйста опытом, если кто такую библиотечку ведет:
КО>
КО>как вы ее организуете,
КО>структурируете,
КО>по каким принципам упорядочиваете информацию
КО>и в каком формате ее храните, как выбираете форматы,
КО>как добиваетесь единообразия оформления,
КО>комментирования
КО>и консервации информации (я имею ввиду: нет же смысла писать, какие пункты меню нужно нажимать, потому что с выходом новой версии это все равно устареет — как выделить нестареющую квинтэссенцию из полученного опыта?) КО>
КО>Приветствуется любая информация по этому поводу. Спасибо.
Помоему это и не нужно делать , я к такому выводу пришел недавно, не нужно "хлам с улицы домой тащить".
Нашел инфу в инете — никуда она от тебя не денется. Не надо ее сохранять. Нужно будет — наберешь yandex.ru введешь
мне нада xxxx и будут тебе ссылки. Почитаешь когда нада будет.
Здравствуйте, Колобок, Вы писали:
К>Помоему это и не нужно делать , я к такому выводу пришел недавно, не нужно "хлам с улицы домой тащить". К>Нашел инфу в инете — никуда она от тебя не денется. Не надо ее сохранять. Нужно будет — наберешь yandex.ru введешь К>мне нада xxxx и будут тебе ссылки. Почитаешь когда нада будет.
Здравствуйте, Кирилл Осенков, Вы писали:
L>>Ты это серьезно? КО>Мужики, только не говорите мне, что у вас в IE (Opere, Netscape и т.д.) папка Favorites пустая, сорцы сданных проекты бесследно удаляются с винта в день сдачи, каждый раз при необходимости написать каркас MDI приложения вы его пишете заново с нуля, каждый раз, когда вам нужно зайти на сайт по ООП вы лезете в Гугл, слыхом не слыхивали, что такое репозиторий, и пишете иерархии классов с твердой уверенностью, что после сдачи проекта их можно будет смело убить???
IMHO лучшая аккумуляция опыта — это завершающие конспектирование материала. Такие конспекты со временем могут превратиться в полноценную книжку которую можно даже издать. Но для меня например тратить время на такой конспект — просто жалко. Лучше не изобретать велосипед а купить готовую энциклопедию по данной тематике.
Тем не менее я собираю все: программы, инструменты разработки, результаты своего труда, книги и материалы, и даже некоторые письма, я не говорю уже о музыке и видео. Критерий отбора всегда интуитивен, в основном это — полезность. Свой многочисленный архив я периодически перебираю, что-то выбрасываю, что-то обновляю. Вообщем, это тоже самое что обустраивать собственную комнату
Некоторое время я был как и ты заморочен на каталогизации материала. Нашел The Brain и мне очень понравилось. Но потом бросил — потому что усилия на поддержания огромной библиотеки — огромны, и для меня выход — либо помнить все самому и хранить все в максимально упрощенной структуре, либо нанять специальную девочку — чтобы вела мою личную библиотеку. Но поскольку хорошей девочки-библиотекаря я пока не нашел, пришлодиться помнить все самому, а с каталогизацией — завязать.
Библиотекарское это дело — каталогизировать и хранить информацию для будующего реюза. А я — инженер-разработчик программ.
Здравствуйте, Vasili Trifonov, Вы писали:
VT>Здравствуйте, Кирилл Осенков, Вы писали:
L>>>Ты это серьезно? КО>>Мужики, только не говорите мне, что у вас в IE (Opere, Netscape и т.д.) папка Favorites пустая, сорцы сданных проекты бесследно удаляются с винта в день сдачи, каждый раз при необходимости написать каркас MDI приложения вы его пишете заново с нуля, каждый раз, когда вам нужно зайти на сайт по ООП вы лезете в Гугл, слыхом не слыхивали, что такое репозиторий, и пишете иерархии классов с твердой уверенностью, что после сдачи проекта их можно будет смело убить???
VT>IMHO лучшая аккумуляция опыта — это завершающие конспектирование материала.
Кстати, на некоторых проектах так и делают.
Т.е. специально собираются и обсуждают, что было хорошо, что — было плохо.
Какие проблемы были и как их можно избежать потом.
Все это документируется и является частью проектной документации.
Может быть очень полезным, если подходить к этому неформально.
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Или понадобился мне например, Color Picker, который я когда-то писал, я его выдрал из старого проекта, а через две недели пришлось модифицировать старый — вопрос, мне что, обе версии модифицировать? Нутром чую, что информация должна существовать в единственном экземпляре, а как умные люди этого добиваются, не знаю.
Я бы вынес его в отдельную dll'ку, а в новом проекте либо отнаследовался либо сделал бы над ним обертку-адаптер.
B>Кстати, на некоторых проектах так и делают. B>Т.е. специально собираются и обсуждают, что было хорошо, что — было плохо. B>Какие проблемы были и как их можно избежать потом. B>Все это документируется и является частью проектной документации. B>Может быть очень полезным, если подходить к этому неформально.
Эта практика получила даже собственное название — Project Review. Я ее делаю постоянно
Здравствуйте, Кирилл Осенков, Вы писали: КО>как вы ее организуете?
Одного китайца спросили как ему удалось так хорошо выучить русский язык. Он ответил:
в день я учу 10 рисский слов в десять дней тысяча и все они здесь (показывает пальцем на голову) в зопе!
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Приветствуется любая информация по этому поводу. Спасибо.
Это если серьёзно на это всё посмотреть?
лучшее — осматривать как крупные Web-порталы, такие как этот , так и домашние страницы конкретных разработчиков, а так же то что "народ рекомендует и дяди дают" , а по исходникам, например такой как — www.torry.net (где создатели уж давно над какой-то новой системой хранения работают — аж с апреля — уже не дождемся наверно...)
На щас: многое храню у себя локально на винте. Расладываю по папкам файловой системы ...
Мнение личное — идти от основы — хранить исходники... потом уж — хэлпы на них, ответы на форумах, статьи, публикации храним там же... всё хорошо укладывается в рамки одиночного наследования классов... кажный базовый наследуемый класс — подпапка с файлом его исходника... для сборок — начинай название папки по фирме-разработику или по автору, а для исходников, содержащих только методы (разные там API) — можно хранить по категориям (напр.: Math, работа со string, GUI, 3D, IDE-experts и проч.) и в них их help-ы и demo-сы... и не забывай указывать дату создания версии, а то по "version" можно запутаться....
Вооще , если это вопрос из очень и очень далёкого будующего... требуется много и очень много энтузиазма ....
Далее пойдёт моя "Маниловщина" про далёкое-далёкое будующее :
когда-нибудь исходники и сопутствующяя их "поддержка" будут храниться в РЕПОЗИТОРИИ, основанном на языковых структурах (имеративного программирования ), поддерживая все прелести асинхронности разработки и дальнейшего доступа "как во времени так и в пространстве" (щас же нам пока дан лишь CVS )
меня греет надежда!!! — введение в языковые конструкции изменяемых классов — похожая задумка имеется — helper-class в прогнозах о Native Delphi (http://www.optim.ru/cs/2002/3/delp/delp.asp) Эта ннадежда очень мааленькая, но принципиальная (и опирается на порядком "подмятую под M$" Borl& )
я верю!!! в создание РЕПОЗИТОРИЯ ИСХОДНИКОВ как распределенной базы и самые лучшие механимы к ней в придачу: транзакции с многоверсионностью как в InterBase и удобное хранение (для этого может быть подойдёт XML или чего получше — )
и насладился б!!! если к нему сделали УНИВЕРСАЛЬНУЮ СРЕДУ РАЗРАБОТКИ (встроенную в ОС). Очень хочется, что бы все программы могли работать из под среды разработки — т.е. все прелести DesignTime, компиляции "по чястям", сильного отладчика и профиллера — полный контроль над используемым инструментом...
как "эту прелесть" практически реализовать и не обидеть разработчиков коммерческого софта —
дальше уже мелизмы: форумы поддержки и большое количество "аскетичных" грамотных утилит в поддержку "этакой затеи"...
КО>Внимание вопрос. Поделитесь пожалуйста опытом, если кто такую библиотечку ведет:
Память так устроена, что она сама всё нужное сохраняет. Любые инородные мнемотехники должны искореняться с гестаповской жестокостью.
К примеру, я постоянно слежу за статьями по дотнету. Распечатываю, читаю и выбрасываю большей частью. И это правильно! Бывает, сохраняю — когда есть много важных технических деталей, не относящихся к пониманию, но всё равно необходимых.
Для сохранения просто создал дерево каталогов и бросаю в него соответственно теме. Исходники, статьи — всё в одном дереве по темам. Уже накопилось порядком.
В случае чего — поиском всё находится за несколько секунд.
А писать рефераты и квинтессенции — неблагодарное и ненужное дело.
КО>Ну, например, я лет пять назад разбирался с конечными автоматами и регулярными выражениями. Нашел в сети литературу, сайты, примеры. Наработал что-то свое. Как мне это все законсервировать на будущее? Сейчас вот опять понадобилось — так что, опять разбираться по новой?
Или статью напиши, или просто скинь всё в папку и спи спокойно.
КО>Мужики, только не говорите мне, что у вас в IE (Opere, Netscape и т.д.) папка Favorites пустая
Меньше десяти ссылок. Посмотрел, прочитал — сохрани текст или убей ссылку.
КО> Свалил все ссылки в кучу, а теперь понадобилось — а разобраться, что где лежит, сложно.
Сваливать нужно в кучки ПО ТЕМАМ. А на аннотации НУЖНО забивать. Они уменьшают производительность.
КО>Или понадобился мне например, Color Picker, который я когда-то писал, я его выдрал из старого проекта, а через две недели пришлось модифицировать старый — вопрос, мне что, обе версии модифицировать? Нутром чую, что информация должна существовать в единственном экземпляре, а как умные люди этого добиваются, не знаю.
Если по задаче нужно модифицировать оба — модифицируй оба. Можно выделить общий контрол в отдельный проект и на него из других ссылаться — тоже очень правильный способ.
КО>Так что, народ? Вы хотите сказать, "чувак, не ети себе мозги"? КО>Или как?
Именно так. И советую над этим серьёзно задуматься. Производительность труда не должна падать от бестолковых самокопаний.
Я, собственно, первоначально имел ввиду примерно это, когда вопрос задавал, только не смог правильно описать Сейчас, пойду поглядеть, что там народ обсуждает (мой земляк Зверёк, похоже, борется с теми же проблемами )
КО>Я, собственно, первоначально имел ввиду примерно это, когда вопрос задавал, только не смог правильно описать Сейчас, пойду поглядеть, что там народ обсуждает (мой земляк Зверёк, похоже, борется с теми же проблемами )
Вишь поиск какая классная штука, ничего не аккумулировал а информацию достал.
Эх, cкоро на свободу. Сидеть осталось 28 дней.
Я в бане, а чего больше никто не моется ?