Два вопроса относительно [закрытой] Толпы

Проблема здесь в вашем *value аргументе.

Звездочка означает распаковать последовательность (здесь, строку) в ее части (символы) и использовать их для аргументов. (Найдите «Распаковка аргумента Python», чтобы узнать больше.)

Вместо этого просто сделайте:

format_html('''<a href="mailto:{}">{}</a>''', value, value)
5
задан 29 September 2008 в 20:15
поделиться

7 ответов

Для первой части "дизайн архитектуры - осуществляющий рефакторинг - некоторая служебная разработка классов" Они никогда не "делаются", потому что Вы делаете их, когда Вы идете. В частях.

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

Рефакторинг состоит в том, как Вы находите служебные классы (Вы не намереваетесь создавать служебные классы - Вы обнаруживаете их во время рефакторинга).

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

Маленькие части этих вещей сделаны много раз через срок действия проекта. Они не действительно "предвыпускные версии", таким образом, они - просто спринты (или части спринтов), который сделан в процессе получения к выпуску.

4
ответ дан 15 December 2019 в 01:15
поделиться

"Я должен выделить специальную задачу для, отлаживать/устранять/системные интеграции и и т.д.?"

Не тот же способ, которым Вы сделали с методологией водопада, где ничто действительно не работало.

Помните, Вы создаете и тестируете инкрементно. Каждый спринт протестирован и отлажен отдельно.

Когда Вы добираетесь до предвыпускной версии, Вы могли бы хотеть сделать некоторое дополнительное тестирование на том выпуске. Тестирование приводит к исследованию ошибки, которое приводит к отставанию. Обычно это - первоочередное отставание, которое должно быть зафиксировано перед выпуском.

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

Насколько большой тот тест выпуска? Не очень. Вы уже протестировали каждый спринт... Не должно быть слишком многих неожиданностей.

0
ответ дан 15 December 2019 в 01:15
поделиться

Я утверждал бы, что, если внутреннее действие обладает преимуществом для приложения (который должны иметь все неудовлетворенные объекты в толпе), сделанный преимущество, понят. Например, "Архитектура дизайна" слишком универсальна для идентификации преимущества действия. "Архитектура дизайна для пользовательской истории" определяет объем Вашего действия. При создании архитектуры для истории A Вы сделаны с той задачей.

Рефакторинг должен аналогично быть сделан в контексте достижения пользовательской истории. "Осуществите рефакторинг Клиентский класс, чтобы позволить нескольким номерам телефона поддерживать Историю B", что-то, что может быть определено, как сделано, когда Клиентский класс поддерживает несколько номеров телефона.

0
ответ дан 15 December 2019 в 01:15
поделиться

Третий Вопрос "некоторая большая модернизация модуля (для замены новой outdate архитектуры новой). Несомненно, эта задача разделена на десятках небольших задач. Однако я знаю, что в конце у нас будет довольно долгая сессия, отлаживают/устраняют".

Каждый спринт создает что-то, что может быть выпущено. Возможно, это не будет, но это могло быть.

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

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

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

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

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

0
ответ дан 15 December 2019 в 01:15
поделиться

Кажется, что Вы размываете определение пользовательской истории и задачи. Просто:

  • Пользовательская добавленная стоимость историй. Они создаются владельцем продукта.

  • Задачами являются операции, предпринятые для создавания той стоимости. Они создаются инженерами.

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

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

Если у Вас есть пользовательские истории, которые являются, "осуществляют рефакторинг класс X" и "конструктивную особенность Y", Вы на ложном пути. Может быть необходимо осуществить рефакторинг X или дизайн Y перед написанием кода но это могли быть задачи, необходимые для выполнения пользовательской истории, "создают новый виджет входа в систему".

0
ответ дан 15 December 2019 в 01:15
поделиться

Мы столкнулись с подобными проблемами с "закулисным" кодом. "Закулисным" я имею в виду, не имеет никакой очевидной или тестируемой бизнес-возможности.

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

Обычно с толпой, хотя, Вы искали бы часть бизнес-функциональности, которая использовала часть кода для определения "сделанный".

0
ответ дан 15 December 2019 в 01:15
поделиться

Для технических задач, таких как рефакторинг, можно проверить, был ли рефакторинг действительно сделан, например, звоните X, больше не имеет никакого f () методом или больше никакого foobar () функция.

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


Для Вашего второго вопроса необходимо сначала действительно стремиться повредить его в несколько меньших историй (неудовлетворенные объекты). Например, если Вы - re-architecturing система, посмотрите, могут ли новое и старая архитектура сосуществовать время, чтобы сделать portation всех Ваших компонентов от одного до другого.

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

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

0
ответ дан 15 December 2019 в 01:15
поделиться