Часто бывает, что в процессе работы над проектом из него выпиливаются ненужные на данный момент куски кода. Это могут быть методы, модули, классы... Это правильно, т.к. в коде не должно быть ничего лишнего. Но эти части могут оказаться нужными в этом же проекте потом. Например пилили-пилили календарик. Потом заказчик сказал, что календарика в проекте не будет. Сделали бранч, из основной ветки календарика удалили, засабмитили. А через 3 месяца заказчик сказал, что календарик таки будет. Но про то, что календарик уже был выпилен, успели забыть. Начали пилить заново.
Собственно, вопрос. Есть ли какие-то готовые паттерны, позволяющие не забыть, что когда-то, в такой-то ревизии/бранче/таге была такая-то фича, реализованая и оттестированная? Или как-то это записывать на стикерах на мониторе, или вести какую-то библиотеку фичей с указанием расположения?
Здравствуйте, Rett Pop, Вы писали:
RP>Собственно, вопрос. Есть ли какие-то готовые паттерны, позволяющие не забыть, что когда-то, в такой-то ревизии/бранче/таге была такая-то фича, реализованая и оттестированная? Или как-то это записывать на стикерах на мониторе, или вести какую-то библиотеку фичей с указанием расположения?
Вопрос, действительно, более чем философский. Я время от времени завожу папочку, куда всё такое скидываю (бессистемно, даже по пакетам не раскидываю). Потом через полгода нарываюсь на неё, тужусь вспомнить, нафига весь этот хлам нужен, потом вспоминаю про вот этот ньюанс
Здравствуйте, Rett Pop, Вы писали:
RP>Hi All,
RP> Часто бывает, что в процессе работы над проектом из него выпиливаются ненужные на данный момент куски кода. Это могут быть методы, модули, классы... Это правильно, т.к. в коде не должно быть ничего лишнего. Но эти части могут оказаться нужными в этом же проекте потом. Например пилили-пилили календарик. Потом заказчик сказал, что календарика в проекте не будет. Сделали бранч, из основной ветки календарика удалили, засабмитили. А через 3 месяца заказчик сказал, что календарик таки будет. Но про то, что календарик уже был выпилен, успели забыть. Начали пилить заново.
RP> Собственно, вопрос. Есть ли какие-то готовые паттерны, позволяющие не забыть, что когда-то, в такой-то ревизии/бранче/таге была такая-то фича, реализованая и оттестированная? Или как-то это записывать на стикерах на мониторе, или вести какую-то библиотеку фичей с указанием расположения?
Варианты
1. срезать в коде комментариями и прочими конструкциями
2. ставить комментарий/тег в коммит, где удаляли или перед удалением
3. вести доку, где описывать удаленную фичу и как его найти в репозитарии (тег/комментарий/ченжсет/...)
Re: Как не забыть про полезный код, когда-то удаленный из проекта?
Здравствуйте, Rett Pop, Вы писали:
RP>Hi All,
RP> ... А через 3 месяца заказчик сказал, что календарик таки будет. Но про то, что календарик уже был выпилен, успели забыть. Начали пилить заново. RP> Собственно, вопрос. Есть ли какие-то готовые паттерны, позволяющие не забыть ...
Здравствуйте, ilnar, Вы писали:
I>Здравствуйте, Rett Pop, Вы писали:
I>Варианты I>1. срезать в коде комментариями и прочими конструкциями I>2. ставить комментарий/тег в коммит, где удаляли или перед удалением I>3. вести доку, где описывать удаленную фичу и как его найти в репозитарии (тег/комментарий/ченжсет/...)
4. Не забыть следовать советам 1-3
5. Задать тот же вопрос на форуме через 3 месяца
Re: Как не забыть про полезный код, когда-то удаленный из проекта?
Здравствуйте, Rett Pop, Вы писали:
RP> Собственно, вопрос. Есть ли какие-то готовые паттерны, позволяющие не забыть, что когда-то, в такой-то ревизии/бранче/таге была такая-то фича, реализованая и оттестированная? Или как-то это записывать на стикерах на мониторе, или вести какую-то библиотеку фичей с указанием расположения?
Сложно придумать, какие-то гарантированные способы... Но наверное более подходящим местом будет бактрекинговая система. Создавать таск на выпиливание календарика, там в комментах указать имя ветки-бекапа, какие-нибудь метки поставить на таск, описание словесное поподробнее, ключевые слова, специальный статус.
А потом воспользоваться полнотекстовым поиском и надеяться, что найдёшь.
В git можно завести специальный namespace для бранчей, куда складировать хлам, потом pickaxe по этим бранчам.