Как не срочно отправить себя? [закрытый]

Из-за угловой стиль изоляции , вы должны использовать :: ng-deep проникающий теневой комбинатор потомков для изменения стиля CSS дочернего компонента:

[ 110]

См. этот стек-блиц для демонстрации.

6
задан 4 revs, 2 users 100% 23 August 2009 в 12:03
поделиться

13 ответов

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

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

У меня есть интуиция, что существует маленький каталог таких последовательностей (как http://www.threeriversinstitute.org/FirstOneThenMany.html), который покрыл бы большую часть дизайна. Тем временем я пытаюсь помнить, что "достаточный ко дню проблемы этого".

10
ответ дан 8 December 2019 в 05:58
поделиться

Я сталкиваюсь с этой проблемой много.

Моим решением является ноутбук. (Старомодный бумажный вид).

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

Часто, во время того процесса, я сталкиваюсь с проблемами, о которых я не думал.

Конечно, правило 80/20 все еще применяется... Я все еще сталкиваюсь с вещами, когда я на самом деле делаю реализацию, которая не произошла со мной, но с опытом они имеют тенденцию уменьшаться.

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

6
ответ дан 8 December 2019 в 05:58
поделиться

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

Для противостояния этому много методологий разработки программного обеспечения появились. Последний раз был сдвиг на многие группы разработчиков к 'гибким' методам, где существует внимание на быструю разработку с небольшим первичным техническим дизайном (в конце концов, много сложностей только обнаружены, когда Вы на самом деле начинаете разрабатывать). Я в настоящее время использую систему Толпы, которая была превосходна в моей малочисленной команде:

http://en.wikipedia.org/wiki/Agile_methods

http://en.wikipedia.org/wiki/Scrum_%28development%29

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

Если бы Ваша проблема более связана с тайм-менеджментом, то я рекомендовал бы Добивающийся цели подход (http://en.wikipedia.org/wiki/Getting_things_done). Это прагматично и просто, концентрируясь на создании Вас продуктивный, не перегружая Вас с информацией, которая сразу не относится к Вашей текущей работе. Я нашел, что я время от времени переполнен идеями проекта/функции, и это действительно помогает записать все и зарегистрировать его в течение более позднего времени, когда я имею ресурсы в наличии для работы эффективно.

Я надеюсь, что это помогает и всего наилучшего

3
ответ дан 8 December 2019 в 05:58
поделиться

Коммуникация.

Лучшим способом не срочно отправить себя в программирование ошибок является коммуникация. Да, старая добрая сформированная отслеживаемость. Если другой человек в офисе вовлечен в процессе, лучше результат. Если программист просто берет задачу без какого-либо беспокойства о ком-либо еще, то существует более высокая возможность для ошибок.

Контрольный список отслеживаемости:

  1. Как мы поддерживаем это?
  2. Кто должен знать то, что изменилось?
  3. Почему мы делаем это во-первых?
  4. Будет кто-либо, кто не хочет, это изменилось?
  5. Кто-то еще поймет, как я сделал это?
  6. Как пользователь будет чувствовать и использовать это изменение?

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

3
ответ дан 8 December 2019 в 05:58
поделиться

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

Безусловно лучший способ, которым я нашел для управления вещами, к (во многом как ответ Andrew), выписывают дизайн и требования как начальная точка. Затем я прохожу и ищу слабые места в дизайне, глюках и дополнительных вариантах использования и т.д. Я пытаюсь посмотреть на это как на критическое осуществление - еще нет никакого кода, написанного, таким образом, это - время, чтобы быть полностью безжалостным и искать каждое слабое место. Ищите состояния ошибки, которые необходимо будет обработать, и безотносительно количества времени Вы думаете, что оно возьмет для завершения каждой функции/функции, клавиатура та сумма много. У меня были времена, где я удвоил свою первоначальную оценку и все еще не был этим далеко метка.

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

См. также основанное на доказательстве Планирование, которое является захватывающим понятием в планировании, разработанном FogCreek для их продукта FogBugz.

0
ответ дан 8 December 2019 в 05:58
поделиться

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

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

0
ответ дан 8 December 2019 в 05:58
поделиться

Вы и остальная часть мира.

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

for (i=1; i<=10; i++) {} 

). Потраченное выполнение времени его действительно стоящий того для пакета бухгалтерских программ по ракетной системе.

0
ответ дан 8 December 2019 в 05:58
поделиться

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

Затем удвойте его. Теперь у Вас есть число, которое, при угнетении, по крайней мере несколько реалистично.

0
ответ дан 8 December 2019 в 05:58
поделиться

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

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

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

0
ответ дан 8 December 2019 в 05:58
поделиться

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

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

0
ответ дан 8 December 2019 в 05:58
поделиться

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

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

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

Просто взятие часа или два пишет код psuedo, приводит к некоторым неоценимым экономящим время частям позже: 1. Объектная модель появляется 2. Поток программы ясно определяется для других 3. Это может использоваться в качестве документации Вашего дизайна с некоторым улучшением 4. Комментарии легче добавить и будут более четкими для кого-то еще рассматривающего Ваш код.

Желаю удачи!

0
ответ дан 8 December 2019 в 05:58
поделиться

Так как Вы распознаете, что чувствуете потребность предоставить быстрое решение, возможно, она замедлит Вас, чтобы понять, что можно, вероятно, решить проблему быстрее и поставить ее раньше, если Вы проводите более первичное время в дизайне. Например, при пребывании в течение 3 часов, разрабатывая и 30 часов, написав код это, вероятно, означает, что, если Вы проводите 6 часов, разрабатывая Вас, возможно, должен был бы только потратить написание кода 10 часов. (Это не реальные цифры просто примеры). Вы могли бы попытаться определить количество этого для себя на следующих нескольких проектах, которые Вы делаете. Сделайте пару, где Вы ведете себя, как Вы обычно были бы и видеть, какое отношение design/codewriting/testing&debugging Вы на самом деле делаете. Затем на следующем проекте сознательно увеличивают процент времени, которое Вы проводите на стадии проектирования и видите, сокращает ли это действительно время, необходимое для других фаз. Необходимо будет попытаться за несколько проектов на этом также получить истинную базовую линию, так как проекты могут очень отличаться. Сделайте это как тест, чтобы видеть, можно ли улучшить производительность на другие фазы и таким образом поставить более быстрый продукт при пребывании в течение на 20% большего количества времени или на 50% большего количества времени или на 100% большего количества времени на дизайне.

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

0
ответ дан 8 December 2019 в 05:58
поделиться

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

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

Знание Ваших ограничений может быть довольно легким: потребности работать на iPhone; должно быть веб-приложение; потребности интегрироваться с уже существующим кодом Java и установкой развертывания; и так далее. Это может быть довольно трудно: Вы не знаете то, что потенциальный размер Вашей базы пользователей (сотни? тысячи? миллионы?); Вы не знаете, необходимо ли будет локализовать его (хотя, если Вы не уверены, принять Вас будет иметь к).

Необходимые вещи по сравнению с, хороший имущим: это - возможно самая трудная часть. У пользователей очень часто есть эмоциональные вложения к "требованиям" ("Это должно посмотреть точно так же, как Excel"), которые не являются на самом деле частью, "должен произойти" материал. Часто необходимо манипулировать функциональностью по сравнению с требованиями получить приемлемую реализацию. Вы не можете всегда давать всем пони.

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

0
ответ дан 8 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: